第1节 Java程序和java虚拟机(JVM)
名称 | 含义 |
---|---|
java程序 | .java文件 |
java编译器 | javac命令编译java文件,生成.class文件 |
java虚拟机 | java命令执行.class文件 |
OS操作系统 | windows/linux/unix |
跨平台:一处编写,处处执行,靠的是一套java语法、一套class语法、很多套(每个平台一套)JVM虚拟机来实现
跨语言:class文件可以由任意语言编译生成(java、python、ruby)、采用任意形式存储(.class文件、数据库、直接写再内存里面、网路读取)
类加载器:这个留下意,很重要,反射时可用来动态加载java类Class.forName("类名")
.class类来源:1.自己写的java类,2.第三方类库(已编译成class文件,打包成.jar文件),3.jdk的类库
java语法
(1) 定义类(class)
最小管理文件单元:.java文件,也就是类,类可以理解为对象
public class HelloWorld{
}
- public :权限,开发给公共使用,protected、private
- class:类型,申明是一个类。除了class类型,还有abstract class、interface、@interface、enum等类型
- HelloWorld:类的名字,首字母大写
- {}:花括号里面写类的内容,即属性和方法
- 保存成.java文件,文件名跟类名一致
练习:
1. 打开notepad
2. 建一个文件夹:c:/test/java/1_类
3. 视图——》工作区——》右键添加——》c:/test/java/1_类
4. 语言——》J——》java
5. 定义一个java类
6. 保存成跟类名同名的.java文件
image.png
常见问题
- 类名首字母没有大写
- 多个单词未驼峰命名
- 类名和文件名不一致
错误示范:
image.png
(2)定义方法
public class HelloWorld{
public static void main(String[] args){
}
}
- public:权限
- static :静态方法(先不管)
- void:返回值类型(void表示不返回)
- main:方法名(main方法是特殊方法,程序入口)
- ():写入参的变量类型和变量名,多对用逗号“,”分隔
- String[] args:入参,String[] 变量类型,即字符串数组,args变量名
- {}:花括号写方法的内容
(3)写方法处理逻辑
public class HelloWorld{
public static void main(String[] args){
System.out.println("你好,果芽软件!");
}
}
- System.out.println():方法名,功能是将入参打印到控制台,也就是打印到运行日志里面
- "你好,果芽软件!":入参,要打印的内容
- ""双引号表示字符串
- “;”分号表示一条命令结束,一条命令可以分很多行写,只要没有分号,就当还没结束
(4)执行java程序
练习
1. 查看jdk/bin下面的命令:java.exe、javac.exe、jvirtualvm.exe
2. git-bash,进入到刚刚的java文件位置
- 先javac命令编译
cmd到java文件路径
javac:java编译器,负责将.java文件编译成.class文件
在java命令执行
javac HelloWorld.java
java HelloWorld
image.png
问题:javac不是内部或外部命令
image.png执行javac的顺序:
image.png image.pngpath=%JAVA_HOME%\bin;C:\ProgramData\Oracle\Java\javapath;c:/Oracle/Ora81\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\Program Files\nodejs;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;D:\Program Files\Appium\node_modules.bin
- 首先在当前文件夹找有没有javac.exe,有就执行
- 如果没有,就去环境变量的path里面指定的路径寻找
- 从前往后,先到第一个里面找:%JAVA_HOME%\bin,找到就执行
- 找不到,再第2个路径里面找:C:\ProgramData\Oracle\Java\javapath
- 再找不到,到第3个里面找,以此类推,直到找到为止
- 如果都找不到,提示错误:'javac' 不是内部或外部命令,也不是可运行的程序
网友评论