目录
1.数组
1.1数组是什么
数组是一个数据容器,可用来存储一批同类型的数据。
1.2静态数组
1.2.1数组的格式
//静态数组,定义时已经确定了数据
数据类型[] 数组名={元素一,元素二,元素三,...};
int[] arr={1,2,3};
//完整格式
数据类型[] 数组名=new 数据类型[] {元素一,元素二,元素三,...};
int[] arr=new int[] {1,2,3};
注:“数据类型[ ] 数组名”也可以写作“数据类型 数组名[ ]”。
1.2.2数组的访问
数组名[索引]
注:元素在数组中存储,是有顺序的. 这个顺序在数组中叫索引,从0开始 。
注:如果访问的索引不存在 就会出现索引越界问题。
int[] arr = {13,14,222,1,2,33};
System.out.println(arr[0]);
arr[2] = 111;
System.out.println(arr[2]);
1.2.3获取数组的长度
获取数组的长度(就是数组元素的个数)
int[] arr = {13,14,222,1,2,33};
System.out.println("arr数组中数组的个数:"+arr.length);
1.3动态数组
1.3.1动态数组是什么
定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度
1.3.2动态数组的格式
数据类型[] 数组名=new 数据类型[长度];
1.3.3默认值规则
数据类型 | 明细 | 默认值 |
基本类型 | byte、short、char、int、long | 0 |
float、double | 0.0 | |
boolean | false | |
引用类型 | 类、接口、数组、String | nu'l |
1.4数组的遍历
1.4.1什么是数组的遍历
就是一个一个数据的访问。
1.4.2为什么要遍历
求和、元素搜索、找最大值、找最小值
1.4.3遍历的格式
int[] arr = {20, 30, 40, 50};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
1.5综合案例
1.5.1计算班级学生的Java成绩信息
/*
需求分析:
求8名学生java成绩的 平均分 最高分 最低分
步骤:
1.定义数组,用来存储8名学生的成绩 (采用动态初始化)
2:录入8名学生的成绩
2.1 创建键盘录入对象
2.2 循环8次,循环次数和数组的长度一致
2.3 每次循环,让用户输入一个成绩,然后把成绩存到数组中
3:求出学生的平均分 最高分 最低分
3.1 求出所有成绩的和---求出平均分
3.2 找出最高分 最低分
4:把平均分 最高分 最低分 打印
*/
public static void main(String[] args) {
double[] arr=new double[8];
Scanner sc=new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第"+(i+1)+"号学生的成绩:");
double score=sc.nextDouble();
arr[i]=score;
}
double sum=0;
double max=arr[0];
double min=arr[0];
for (int i = 0; i < arr.length; i++) {
sum+=arr[i];
if (max>arr[i]){
max=arr[i];
}
if (min<arr[i]){
min=arr[i];
}
}
double avg=sum/ arr.length;
System.out.println("平均成绩为:"+avg);
System.out.println("最高分为:"+max);
System.out.println("最低分为:"+min);
}
1.5.2谁最漂亮
/*
数组求最值问题
思路
1:循环外定义一个最大值max 接收数组第一个元素 (假设第一个是最大的)
2:遍历数组,将数组中的元素与max比较,如果大于max,则将max替换为当前元素(保证max是比较后的最大值)
3:循环结束后,max就是数组中的最大值
*/
public static void main(String[] args) {
int[] arr={15,9000,10000,20000,9500,-5};
int max=arr[0];
for (int i = 1; i < arr.length; i++) {
int data=arr[i];
if (data>max){
max=data;
}
}
System.out.println(max);
}
1.5.3扑克牌
开发一个简易版的斗地主游戏,要求只完成做牌(存储54张牌)、洗牌。
public static void main(String[] args) {
//1:用动态初始化的方式 定义一副扑克牌 长度为54
String[] pokerBox =new String[54];
//2:准备 花色 和 点数
// 扑克牌的花色 四种
String[] colors = {"♦","♣","♥","♠"};
//扑克牌点数 13种
String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
//组装牌?遍历点数 再遍历花色 点数和花色拼接,拼接之后存到数组的指定位置
//2.1 定义变量 index 表示 扑克牌的存储位置(索引)
int index = 0;
//2.2 先遍历点数 每个点数和不同花色进行拼接产生新的牌
for (int i = 0; i < numbers.length; i++) {
//i 遍历点数数组 的索引
String number = numbers[i];//获取点数 2 3 4 5 .....
for (int j = 0; j < colors.length; j++) { //j 遍历花色数组的索引
String color = colors[j];//取出的 "♦","♣","♥","♠"
//拼接一张牌
String card = color+number;//拼接牌
pokerBox[index] = card;//存到指定的位置
index++;//该下一个位置
}
}
//4*13=52 还少 小王 大王
pokerBox[index] = "
标签:arr,遍历,int,System,day04,学习,数组,javaSE,out
From: https://blog.csdn.net/zhangnobill/article/details/140436529