一、配置classpath
在DOS命令窗口执行java HelloWorld的原理
* java.exe命令会启动JVM,JVM启动之后会启动类加载器ClassLoader
* ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件,找到该文件则执行,找不到该文件则报错
疑问:ClassLoader是在哪个位置上搜索HelloWorld.class文件的?
* 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
* classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH环境变量属于操作系统】
* classpath作用:classpath是给类加载器ClassLoader指路的。
* 设置这样的环境变量:classpath=D:\wk\course\JavaProjects\02JavaSE\day01
- 打开DOS命令窗口在任意位置都可以执行 java HelloWorld命令
* 如果classpath环境变量没有配置,类加载器默认从当前路径下找字节码文件,当classpath环境变量配置为某个指定路径之后,类加载器只去指定的路径下找字节码文件。
* 综上所述,环境变量classpath不再配置,类加载器会自动从当前路径中加载class字节码文件。所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在路径下,然后运行。
* 当然,classpath也可以这样配置:classpath=. 表示从当前路径找字节码文件。
注意:路径中“..”表示上级目录;“.”表示当前目录。
因此,将我的计算机环境变量classpath配置成如下路径,即classpath=.;D:\wk\course\JavaProjects\02JavaSE\day01 在DOS命令窗口的任意位置都能执行java HelloWorld命令。
二、java源程序中的注释
1.什么是注释?注释的作用?
- 出现在java源程序中,对java源代码的解释说明
- 注释不会被编译到.class字节码文件中
- 一个好的开发习惯应该多编写注释,增强程序的可读性。
2.java中的注释怎么写?
- 单行注释
//单行注释,只注释当前行
- 多行注释
/*
多行注释
多行注释
多行注释
多行注释
.......
*/
- javadoc注释
/**
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
*/
注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档。
3.对HelloWorld程序进行解释:
需要记忆:
* public
* class
* static
* void
* System.out.println(" ");向控制台输出消息
* 类体
* 方法体
* 类体中不能直接编写java语句【除声明变量之外】
* 一个java语句必须以“;” 结束
* 方法体中可以编写多条java语句
* 主方法是程序的入口,固定写法,SUN规定的
遇到的问题:用Notepad++写的java代码,加上注释后,编译程序,提示错误“HelloWorld.java:2: 错误: 编码GBK的不可映射字符”,猜测是汉字格式不兼容的问题。
解决方法:查看编码格式,选择的“使用UTF-8编码”,选择“转为ANSI编码”后,再次编译,问题解决。
不明白为何使用UTF-8编码会出现这个报错,还请各位路过的同仁多指教。后续有时间在来寻求答案。
DOS窗口操作过程如下:
System.out.println("Hello World!");背会
三、public class和class的区别:
* 一个java源文件中可以定义多个class
* 一个java源文件中public的class不是必须的
* 一个class会定义生成一个xxx.class字节码文件
* 一个java源文件中定义公开的类的话,public的class只能有一个,并且该类名的名称必须和java源文件的名称一致。
* 每一个class中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法: java B。想执行X.class中的main方法:java X
* 注意:当在命令窗口中执行java Hello,那么要求Hello.class中必须有主方法。没有主方法会出现运行阶段的错误:
D:\wk\course\JavaProjects\02JavaSE\day02>java B
错误: 在类 B 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
四、总结第一章需要掌握的内容
* 理解java的加载与执行
* 能够自己搭建java开发环境
* 能够独立编写HelloWorld程序,编译并运行
* 掌握环境变量path的原理以及如何配置
* 掌握环境变量classpath的原理以及如何配置
* java中的注释
* public class和class的区别
第二章 java语言基础
一、标识符:java语言中的标识符
二、关键字:java语言中的关键字
三、字面值:java中的字面值
四、变量:java语言中的变量
五、数据类型
总结今天内容:
* classpath
* 注释
* public class 和 class 的区别
* 字面值
* 变量
* 数据类型