一. 第一天 Java环境配置
JDK: Java程序的开发环境
JVM:保证Java语言跨平台
JRE:Java程序的运行环境安装Java
2.1 不要安装默认目录,建议安装在非系统盘,目录不要有中文以及空格。
2.2 安装很简单,只需要下一步即可,然后配置Path路径比如我装在D:\jdk1.8下 然后设置Path路径
右键我的电脑–>属性–>高级系统设置–>高级–>环境变量–> 下方的新建—>
变量名: JAVA_HOME
变量值:D:\jdk1.8
–> 然后确定
—> 找到变量Path 双击编辑,
然后新建添加 %JAVA_HOME%/bin
–> 运行CMD窗口 然后敲入 java -version 查看java版本信息,如果出现版本信息,说明Java环境配置成功。第一个程序HelloWorld, 进行编辑
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } }
javac xx.java
java xx结果很清爽,在这里有几个问题需要考虑:
第一个:类权限public一定要写吗?
不一定要写,运行一个Java程序,只需要该类中含有程序入口,main方法即可。TestMain.java class Test2{ public static void main(String[] args){ System.out.println("Hello Test2"); } }
编译之后,生成一个class文件
Test2.class
TestMain.java
注:编译不会出错,运行Test2有结果 .因为没有TestMain.class文件生成。如果运行TestMain则报错
PS E:\testexample> java Test2
Hello Test2
PS E:\testexample> java TestMain
错误: 找不到或无法加载主类 TestMain
原因:JVM中的类加载器找不到TestMain.class
然后其中包含main()的类如果想运行则类权限不一定要是public的。
文件名必须与public类的类名一致,(如果文件中有public类)
第二个:主方法为什么要写public,能不能用private,或者其他权限修饰??
不能用其他权限修饰。
class Test2{
private static void main(String[] args){
System.out.println("Hello Test2");
}
}
PS E:\testexample> java Test2
错误: 在类 Test2 中找不到 main 方法, 请将 main 方法定义为:
public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
第三个:主方法为什么要写成static?
方便jvm调用, 因为main()方法是由Java虚拟机调用的,所以必须是public,虚拟机调用main()方法的时候,不需要产生任何对象,所以main()方法声明为static,且不需要返回值,所以必须声明为void.
第四个:主方法的参数args数组,有什么用?
接收java运行参数
这个几个问题很常见,但是我真的不知道,因为只图快根本就没有考虑过这么细的问题,如今回头再看最简单的代码,随便反问自己几个问题就不知道为什么了,现在给自己一次沉淀的机会,好好弄清楚其中原因。
Java程序的开发执行流程
- 编写Java程序
- 通过javac命令编译生成.class文件
- 通过java命令运行.class文件
注意: Java语言是跨平台的,但是JVM是跨平台的? 这句话是错误的
- JVM在执行一个Java类时,大致采用以下过程?
装载类一>校验类一>执行类中的代码