zoukankan      html  css  js  c++  java
  • Java基础-学习笔记(一)

    1、设置了环境变量之后,在命令行中输入“javac”命令,是可以运行的,在不进入java文件路径的前提下,执行javac ***.java文件,报错

    C:>javac Test.java
    javac: 找不到文件: Test.java
    用法: javac <options> <source files>
    -help 用于列出可能的选项

    有点绕晕了,为什么设置好了环境变量,在任意的路径下执行javac编译某个java文件,却不行呢?
    其实是自己误解了,path环境变量的作用是设置操作系统去寻找和执行应用程序的路径,也就是说,如果操作系统在当前目录下没有找到我们想要执行的程序和命令时,操作系统就会按照path环境变量指定的目录依次去寻找以最先找到的为准。它是为了找到javac.exe程序,而不是你所写的java源文件,必须指定某个路径下的java源文件,系统才能将其找到并运行。

    2、一个.java源文件中如果包含多个类,则编译之后,会生成多个以类名为文件名的.class文件

    3、在编译过程中一定要注意,所编译的文件扩展名必须是.java

    4、现有一个Test.java文件,内容如下
    public class Test1
    {
    }
    class Test2
    {
    }
    经编译之后,报错如下

    D:example>javac Test.java
    Test.java:1: 错误: 类Test1是公共的, 应在名为 Test1.java 的文件中声明
    public class Test1
    ^
    1 个错误

    这个错误,说明了如果某个类的前面加上了public关键字,那么这个类所在的源文件名称必须是与这个类名一致。同理可得,一个源文件中是不可能存在两个public类

    5、如下一个例子
    public class Test
    {
    public static void main(String args[])
    {
    system.out.print("Hello!");
    System.out.println("Hello,");
    System.out.println("Welcome to java world!");
    }
    }
    经编译之后报错

    D:example>javac Test.java
    Test.java:5: 错误: 程序包system不存在
    system.out.print("Hello!");
    ^
    因为java是严格区分大小写的,所以对小写的system无法识别

    6、修改完后,执行5中的代码,得到

    D:example>java Test
    Hello!Hello,
    Welcome to java world!

    print和println都能输出,但是print的输出不换行,println会自动换行
    println=print+

    7、继6后,将路径切到D盘符中,执行java Test

    D:example>cd ..

    D:>java Test
    错误: 找不到或无法加载主类 Test

    D:>set classpath=d:example

    D:>java Test
    Hello!Hello,
    Welcome to java world!

    D:>set classpath=d:example

    D:>java Test
    Hello!Hello,
    Welcome to java world!

    D:>cd example

    D:example>set classpath=c

    D:example>java Test
    错误: 找不到或无法加载主类 Test

    D:example>set classpath=

    D:example>java Test
    Hello!Hello,
    Welcome to java world!
    经过这些例子,我们可以知道,java虚拟机查找类时,不是在当前目录下查找,而是在classpath指定目录中查找。当取消了classpath环境变量(set classpath=),则在当前目录下查找。设置classpath时,注意等号两边不能有空格,所输入的路径名中也不要带空格,还有中文

    8、Java-垃圾回收器
    java类的实例对象和数组所需的存储空间是在堆上分配的,解释其具体承担为类实例分配空间的工作。解释器在为一个实例对象分配完存储空间后,便开始记录对该实例对象所占用的内存区域的使用。一旦对象使用完毕,便将其会收到垃圾箱中

    9、反编译工具-jad

     

  • 相关阅读:
    4-(基础入门篇)学会刷Wi-Fi模块固件(刷AT指令固件)
    关于后期文章
    11-51单片机ESP8266学习-AT指令(ESP8266作为TCP客户端,连接TCP服务器,用串口调试助手和手机TCP调试助手测试)
    关于单双向晶闸管的控制电路
    3-(基础入门篇)稍微了解一下(需要知道的关于Lua的一些基本的知识)
    2-(基础入门篇)Air202下载开发入门(给Air202下载第一个程序)
    1-51单片机开发板介绍(所讲内容,功能介绍)
    2-关于单片机通信数据传输(中断接收,大小端,IEEE754浮点型格式,共用体,空闲中断,环形队列)
    1-STM32物联网开发WIFI+GPRS(Wi-Fi入门篇)_简介
    unbuntu下安装qq
  • 原文地址:https://www.cnblogs.com/tiantianxiangshang33/p/4713129.html
Copyright © 2011-2022 走看看