HelloWorld
Java语言特点
面向对象性:
两个要素:类、对象
三个特征:封装、继承、多态
健壮性:① 去除了C语言中的指针 ②自动的垃圾回收机制 -->仍然会出现内存溢出、内存泄漏
跨平台型:write once,run anywhere:一次编译,到处运行
功劳归功于:JVM
JDK、JRE、JVM的关系
配置环境变量
为什么要配置环境变量path?
开发程序,需要使用JDK中提供的工具,工具在JDK安装目录的bin目录下(java.exe/javac.exe)。
在DOS命令下使用这些工具,就要先进入JDK的bin目录下,
这个过程就会非常麻烦(1、来回切换目录 2、生成一堆源文件和字节码文件,它们会跟这些工具混淆在一起)。
如果不进入JDK的bin目录下,这些工具就不能使用,会报错。
配置环境变量的意义:告诉操作系统,我们使用的JDK开发工具具体在那个目录下。
要想在任意目录下都可以使用jdk的开发工具,就必须配置环境变量。
为什么要配置环境变量classpath?
没有配置classpath,类加载器从当前路径下加载class文件。
classpath是java的一个环境变量,用来给classloader指路,告诉类加载器到指定的位置去搜索字节码文件。
如果使用 JDK1.5 以上就不需要配置CLASSPATH这个环境变量!JRE 会自动搜索当前路径下的类文件及相关jar文件。
配置步骤:
1、右击"电脑"找到属性这一项--->点击"高级系统属性"--->点击"环境变量"
2、在系统变量中新建JAVA_HOME变量,并配置JDK的完整路径(C:\Program Files\Java\jdk1.8.0_291)。
3、在用户变量中新增JDK中bin的路径,可以是直接路径(C:\Program Files\Java\jdk1.8.0_291\bin)或者相对路径(%JAVA_HOME%\bin)。
4、在系统变量中新增CLASSPATH变量,并配置路径(.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tool.jar;)。
4、配置完成后保存,关闭已经打开的CMD黑窗口,并重新启动,环境变量才会生效。
5、在CMD黑窗口中输入 java或者java -version命令,检查环境变量是否配置成功。
HelloWorld
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
步骤:
1、在DOS窗口中,切换当前目录到Java源程序所在的目录。
命令:cd java文件所在的目录。
2、编译源文件,生成字节码文件。
命令:javac HelloWorld.java
3、运行Java源文件。
命令:java HelloWorld
程序解析:
HelloWorld 类名,
一个源文件可以有多个类、带有public的类要与文件名保持一致。
类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。
public 权限修饰符,代表全局所有。
static 状态修饰符,代表静态的。
它描述的变量、方法以及块在类加载时运行,只能通过类名进行调用。
静态修饰的东西存在于方法区/元空间中。
void 返回值类型,代表返回值为空。
main 主函数,程序执行的唯一入口。
String[] args 方法的参数列表,[]数组
System.out.println()
System 是系统类。
out 是标准输出对象。
println() 是一个方法,表示换行输出。如果不想换行输出就用print()。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
运行原理:
1、根据环境变量配置,java通过编译器(javac.exe)对源代码(XXX.java)进行语法的检查,如果语法是正确的,则编译通过,生成字节码文件。
2、启动类加载器ClassLoader,类加载器从当前路径下找字节码文件(XXX.class),找到之后再加载到JVM当中。
3、JVM将字节码文件解释成二进制文件。
4、操作系统读取二进制文件,并于硬件进行交互。
可能会出现的错误:
报错1、找不到文件:Test.java
可能出现以下原因:源文件名不存在或者写错;当前路径错误;后缀名隐藏问题。
报错2、找不到或者无法加载主类Test
可能出现以下原因:类文件名写错,尤其是文件名与类名不一致;类文件不在当前路径下,或者不在classpath指定路径下。
报错3、类Test是公共的,应在名为Test.java的文件中声明
可能出现以下原因:声明为public的类与文件名一致,否则编译失败。
错误4、需要“;”。
可能出现以下原因:根据提示,找到出错代码出现的位置,添加“;”。
报错5、Bad command or file name或 javac:command not found
可能出现以下原因:反复检查jdk安装是否出现问题,特别是可执行路径的位置。
报错6、java.lang NoClassDefFoundError
可能出现以下原因:仔细检查出问题的类名。
报错7、test(t为小写)
可能出现以下原因:重新执行命令 java Test
报错8、Welcome/java
可能出现以下原因:错误地输入了Java Welcome.java ,应该重新输入 java Welcome
错误9、虚拟机没有找到相关类
可能出现以下原因:检查环境变量。
报错10、javac 不是内部或外部命令……
可能出现以下原因:Path 变量配置错误导致没有找到 javac 命令
报错11、NoSuchMethodError:main
可能出现以下原因:找不到 main 方法,应该是 main 方法书写有误。
报错12、文件夹中可以看到 Welcome.java 文件,在编译时出现’javac 找不到文件……
可能出现以下原因:可能是操作系统显示设置的问题,隐藏了文件的扩展名。
报错13、编码GBK的不可映射字符
可能出现以下原因:指定utf-8的编译方式( javac -encoding utf-8 helloworld.java)
本文来自博客园,作者:小孙不是程序员,转载请注明原文链接:https://www.cnblogs.com/sunlincode/p/16716274.html