学习内容:
一.数组
1.定义数组
//数组创建方法
//定长数组只可存入比定长少,不能存入比定长多
//创建一个int类型的数组,数组最大可储存3个数据0,1,2
int[] arr = new int[3];
//创建一个String类型的数组
String[] arr2 = new String[10];
//简化
String[] arr3 = {"1","2","好"};
2.操作数组
//获取数组长度
int[] arr = {1,2,3,4,5};
System.out.print(arr.length);
//索引
//元素在数组中的位置
//数组 {1,2,3,4,5};
//索引 {0,1,2,3,4};
//索引长度为数组最大长度减一
//储存元素
//把索引为0的元素位置存储 10这个数值
arr[0] = 10;
//获取元素
//获取arr数组第0个索引的值,并赋值给a
int a = arr[0];
//其他
//如果直接输出数组名,会输出地址值,并不会直接输出整个数组里的内容
//如果数组没有存数据,也可以获取出来,会自带一个默认值:
//整数:0,小数0.0,char:'\u0000',boolean:false,引用数据类型:null
3.遍历数组
//数组创建 存入
int[] arr = {10,20,30,40,50};
String[] arr2 = new String[5];
arr2[0] = "张三";
arr2[1] = "李四";
arr2[2] = "王五";
arr2[3] = "马六";
arr2[4] = "刘七";
//遍历数组
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i])
}
for(int n = 0; n <= arr.length-1; n++){
System.out.println(arr2[n])
}
4.数组练习
4.1.求数组元素最大值
//1.求数组中元素最大值
//创建数组
int[] arr = {10,20,30,15,25};
//创建一个变量存储最大值
int maxNumber = arr[0];
//for循环依次遍历数组,跟当前最大值比较,大就替换最大值,直到循环结束
for(int i = 0; i < arr.length; i++){
if(maxNumber < arr[i]){
maxNumber = arr[i];
};
};
//输出最大值
System.out.print("最大值:"+maxNumber);
4.2.随机产生10个[0,100]之间整数,统计既是3又是5,但不是7的倍数的数的个数
//2.随机产生10个[0,100]之间整数,统计既是3又是5,但不是7的倍数的数的个数
//创建数组
int[] arr2 = int[10];
//创建随机数对象
Ranner r = new Ranner();
//循环给每个数组元素加入0-100随机数
for(int n = 0;n < arr2.length; n++){
arr2[n] = r.nextInt(100);
};
//定义一个遍历储存符合条件的个数
int number = 0;
//循环数组,判断条件,符合条件number自加1
for(int x =0; x < arr2.length; x++){
if(arr2%3==0 && arr2%5==0 && arr2%7!=0){
number++;
};
};
//输出个数
System.out.print("既是3又是5,但不是7的倍数的个数有:"+number+"个");
4.3.用数组存储学生姓名,从键盘录入,并遍历显示
//3.用数组存储学生姓名,从键盘录入,并遍历显示
String[] arr = new String[10];
Scanner sc = new Scanner(System.in);
for(int i = 0; i < arr.length; i++){
System.out.print("请输入学生姓名:");
arr[i] = sc.nextInt;
};
System.out.print("输入完成,学生如下:");
for(int n = 0;n < arr.length; n++){
System.out.println(arr[n]);
};
4.4.随机50个1-100之间的整数,统计偶数个数
int[] arr = new arr[50];
Random r = new Random();
for(int i = 0; i < arr.length; i++){
arr[i] = r.nextInt(100);
};
int number = 0;
for(int n = 0; n < arr.length; n++){
if(arr[n] % 2 == 0){
number++;
};
};
System.out.println(number);
4.5.键盘录入一个整数,找出整数在数组中储存的索引位置
int[] arr = {10,22,34,55,100};
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数:");
int number = sc.nextint();
for(int i = 0; i < arr.length; i++){
if(arr[i] == number){
System.out.print("当前数在索引位置:"+i);
return;
}
}
System.out.print("没有找到");