目录
一、JVM、JRE 和 JDK
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
- 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。
- JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。(运行一个已有的Java程序)
- JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
我们想要开发一个全新的Java程序,那么必须安装 JDK 。
小贴士: 三者关系: JDK > JRE > JVM
二、java程序编译过程
第一个java程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
注意:类名与文件名相同
2.1 编译Java源文件
- Java源文件的编译工具 javac.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目 录下使用。
命令:javac Java源文件名.后缀名
- 编译成功后,命令行没有任何提示。打开源文件所在目录,发现产生了一个新的文件源文件.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
2.2 运行Java程序
命令:java 类名字
2.3 编译和运行是两回事
- 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
- 运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
三、基本数据类型
3.1 常量
' ':字符常量内部有且只能有一个字符,不能为空
3.2 变量
- 整形Integer:byte/short/int(默认)/long,分别占用1/2/4/8个字节,
注意:相比于c语言,多一个byte,少一个long long - 浮点型:float/double(默认),分别占用/4/8个字节,
- 字符型:char,占用2个字节,注意c语言中占用1个字节
- 布尔型:boolean,占用1个字节
3.3 数据类型转换
- 自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型
一个 int 类型变量和一个 byte 类型变量进行加法运算
, 结果会是什么数据类型? - 强制转换
int i = 1.5
会发生什么?产生编译失败,肯定无法赋值。
四、IDEA快捷键
创建好项目后再src中导入包,在包里面创建java文件
在IDEA工具中, Ctrl+空格 的快捷键,可以帮助我们补全代码,但是这个快捷键和Windows中的输入法切换快捷 键冲突,需要修改IDEA中的快捷键。File->Settings->keymap->Main menu->code->Completion->Basic
五、方法与方法重载
5.1 方法与成员方法
普通方法:public static 方法(数据类型 参数)
成员方法:public 方法(数据类型 参数)
5.2 方法重载
指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
- 参数列表:个数不同,数据类型不同,顺序不同。
- 重载方法调用:JVM通过方法的参数列表,调用不同的方法。
六、引用类型
6.1 数组
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致
- 三种创建方式:
动态创建:数据类型[] 数组名字 = new 数据类型[长度];
长度一旦指定,不可更改
静态创建:数据类型[] 数组名字 = new 数据类型[]{元素1,元素2,元素3...};
静态创建的省略写法:数据类型[] 数组名 = {元素1,元素2,元素3...};