-隐式转换和强制转换
隐式转换
取值范围小的数值=>
取值范围大的数值
强制转换
取值范围大的数值=>
取值范围小的数值
取值范围:
byte < short < int < long < float < double
格式:目标数据类型变量名=(目标数据类型)被强转的数据;
运算符
扩展的赋值运算符隐含了强制类型转换
无限循环
无限循环:循环一直停不下来。
while(true) {
System.out.println("学习");
}
数组的静态初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程
完整格式:数据类型 [ ] 数组名= new数据类型[]{元素1,元素2,元素3… };
公
简化格式:数据类型 [ ] 数组名={元素1,元素2,元素3… };
范例: int[ ] array = new int [ ] { 11,22,33 };
遍历
System.out.println(arr.length);
for (int i = 0; i < arr.length; i++) {
system.out.println(arr[i]);
}
快捷arr.fori
刻组默认初始化值的规律
整数类型:默认初始化值0
小数类型:默认初始化值0.0
字符类型:默认初始化值’/u0000’ 空格
布尔类型:默认初始化值 false
引用数据类型:默认初始化值null
动态初始化:手动指定数组长度,由系统给出默认初始化值。
- 只明确元素个数,不明确具体数值,推荐使用动态初始化
静态初始化:手动指定数组元素,系统会根据元素个数, 计算出数组的长度。
- 需求中已经明确了要操作的具体数据,直接静态初始化即可。
dJava内存分配
栈
方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆
存储对象或者数组,new来创建的,都存储在堆内存
方法区
存储可以运行的class文件
本地方法栈
JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器
给CPU使用,和我们开发无关
1.只要是new出来的一定是在堆里面开辟了一个小空间
2.如果new了多次,那么在堆里面有多个小空间,每个
小空间中都有各自的数据
当两个数组指向同一个小空间时,其中一个数组对小空间中的值发生了改变,那么其他数组再次访问的时候都是修改之后的结果了。