1.Java运行环境
2.关键字和标识符
3.常亮和变量
常量:常量是固定不变的数据,那么在程序中可以变化的量称为变量
变量:变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值
Java中的默认类型:整数类型是int 、浮点类型是double
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int(默认) | 4个字节 | -231次方~2的31次方-1 |
长整型 | long | 8个字节 | -2的63次方~2的63次方-1 |
单精度浮点数 | float | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double(默认) | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0-65535 |
布尔类型 | boolean | 1个字节 | true,false |
4.数据类型转换
Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换
1.自动转换:
将取值范围小的类型自动提升为取值范围大的类型
转换规则:范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为int
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
2.强制类型转换
将取值范围大的类型强制转换成取值范围小的类型
强烈注意
浮点转成整数,直接取消小数点,可能造成数据损失精度。
int 强制转成short 砍掉2个字节,可能造成数据丢失
5.运算符
6.方法定义,重载
算数运算符
赋值运算符
比较运算符
逻辑运算符
&& 短路与
- 两边都是true,结果是true
- 一边是false,结果是false
短路特点:符号左边是false,右边不再运算
|| 短路或
- 两边都是false,结果是false
- 一边是true,结果是true
短路特点: 符号左边是true,右边不再运算
! 取反
- ! true 结果是false
- ! false结果是true
三元运算符
7.数组
格式一
int[] arr = new int[3];
格式二
int[] arr = new int[]{1,2,3,4,5};
格式三
int[] arr = {1,2,3,4,5};
数组越界异常(ArrayIndexOutOfBoundsException)
数组空指针异常(NullPointerException)
JVM的内存划分:
区域名称 | 作用 |
---|---|
寄存器 | 给CPU使用,和我们开发无关。 |
本地方法栈 | JVM在使用操作系统功能的时候使用,和我们开发无关。 |
方法区 | 存储可以运行的class文件。 |
堆内存 | 存储对象或者数组,new来创建的,都存储在堆内存。 |
方法栈 | 方法运行时使用的内存,比如main方法运行,进入方法栈中执行。 |
8.面向对象
Java中用class描述事物:
成员变量:对应事物的属性
成员方法:对应事物的行为
内存图
只有一个对象的内存图
01-只有一个对象的内存图.png
两个对象使用同一个方法的内存图
02-两个对象使用同一个方法的内存图.png
两个引用指向同一个对象的内存图
03-两个引用指向同一个对象的内存图.png
使用对象类型作为方法的参数
04-使用对象类型作为方法的参数.png
使用对象类型作为方法的返回值
05-使用对象类型作为方法的返回值.png