1.数组
1.1 数组的概述和静态初始化
也就是int a=0中的int a部分。
直接打印数组显示的是数组的地址值。
1.2 数组元素访问
1.获取数组里的元素
1.3 数组遍历
获取数组里面所有元素
练习心得:写代码的时候,尽量一个循环只做一件事情,不然思路容易混乱。
1.4 数组动态初始化
1.5 练习
求最值
自己写的
public class test4 { public static void main(String[] args) { int [] arr={33,5,22,44,55}; for (int i = 0; i < (arr.length-1); i++) { if(arr[i]>arr[i+1]){ arr[i+1]=arr[i]; }else{ arr[i+1]=arr[i+1]; } } System.out.println(arr[4]); } }
要注意,一开始没有写 i < (arr.length-1),导致发生了超过索引的问题。
老师写的
遍历数组求和
public class test5 { public static void main(String[] args) { Random r=new Random(); int []arr=new int[10]; for (int i = 0; i < 10; i++) { int number=r.nextInt(100)+1; arr[i]=number; } int sum=0; for (int i = 0; i < 10; i++) { sum+=arr[i]; } System.out.println("所有数据的和是"+sum); System.out.println("所有数据的平均数是"+(sum/10)); int avr=sum/10; int count=0; for (int i = 0; i < 10; i++) { if (arr[i]<avr){ count++; } }System.out.println("有"+count+"个数据比平均值小");
打印语句中print不加ln就可以不换行 ——
在打印数据后加一个空格即“ ”就可以将所有的数据都在一行展示。
交换数据
错了,交换结果应该是5,4,3,21
打乱数据
1.6 数组的内存图
Java内存分配
数组的内存
变量在栈中是直接存储的数值,而数组在栈中记录的是arr这个数组在堆内存中的地址值。