学习记录🤔
- 数组引出
- 动态初始化
- 数组内的数据会自动转换类型
- 注意事项
- 数组赋值机制
- 数组拷贝
- 数组扩容append?
- 多维数组
- trick
- 生成随机数Math.random()
- 讨论总结
- 谢谢点赞交流!(❁´◡`❁)
更多代码: Gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa
数组引出
- 一组同一类型
public class Array {
//Hello是一个类,public共有的类
//类名大驼峰
public static void main(String []args) {
//主方法,程序入口
//方法名小驼峰
double[] array1 = {1,4,5,6,7};//静态初始化
for(int i=0,i<6,i++){
System.out.println("Hello"+array1[i]);
//array1.lenhth返回长度
}
}
}
动态初始化
double[] array1 = {1,4,5,6,7};
double array2[] = new double[3];
//等于double[] array2
int array3[] = new int[3];
//array1.lenhth返回长度
Scanner myScanner = new Scanner(System.in);
for(int i=0;i < 6; i++){
array[i] = myScanner.nextDouble();
System.out.println(array1);
}
//先声明,再分配空间
double arrs[];
arrs = new double[3];//分配空间
- 动态需要new double[];
数组内的数据会自动转换类型
注意事项
- 先赋值在使用
数组赋值机制
arr类似py里的列表,属于可变类型,引用传递!
引用传递 = 地址拷贝
- 栈中只保存基础数据类型的值和对象以及基础数据的引用
- jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身,这块区域是 JVM 所管理的内存中最大的一块
数组拷贝
int[] arr = {1,2,3};
int[] arr2 = new int[arr.length]
//fori对应赋值
- new = 开辟新的内存空间
数组扩容append?
new一个新数组,长度加一,再赋值,再引用传递为原数组
int[] newArray =new int[length+1]
多维数组
int[][] newArray = {{},{}};
int[][] newArray = new int[2][3];//声明加开辟空间
- 声明(int)加开辟空间(new)
- 数组的列数
可以不确定
,动态开辟空间
- 第一个维度地址,第二个维度是具体开辟的空间
trick
- int[] y[];是二维数组
- new String[]{“a”,“b”}; //[]里面不能写元素个数!
生成随机数Math.random()
(int)Math.random()*100+1
//0-1随机的浮点数*100 = [0,100)随机浮点数,
(int)转换后:0-99随机整数+1 == 1-100
讨论总结
168-178-190
- 数组存放同一类型,不能混用
- 接收一个char = myScanner.next().charAt(0);
- 字符串比较A.equals(B);
- char[] arr1 = arr2;//地址传递;
时间还很多,每天保持思考、保持进步,跬步至千里!
- Fighting!😎
while True:
Go life