数组:
概念:是存储在一个连续的内存块中的元素集合。每个元素必须是相同的数据类型,通过索引区分,第一个元素的索引为0.
- 创建数组:
- 步骤1:声明一个数组变量
语法:
数据类型+【】 +数组变量名;
或者 数据类型 数组变量名【】;
例如 boole[]muArray
- 步骤2使用new关键字初始化数组,并制定数组的大小。
语法
例如
boole[]muArray=new
boolean[20];
注意声明长度的前面是数据类型,不是变量名!!!!必须要声明长度!
System.out.println(myArray.length);
2.访问数组
数组变量名[(索引号的第一节车厢)]
例如: myArray[0];
然后赋值:
myArray[0]=1;
3.简单赋值
int[]num=new int[30];//声明数组
for(int i=0;i<num.length;i++){//for循环简单赋值
num[i]=i;
System.out.println("num["+i+"] ="+i);
}
System.out.println("数组赋值结束!");
4.练习Class_Shuzu
- 奇偶赋值数组练习
public class Class_ShuZu {
public static void main(String[] args) {
//根据索引,奇数索引的值为本身,偶数索引的值为负数本身
int[]num =new int[30];
for(int i=0;i<num.length;i++){
if(i%2==0){ //这里可以用三目运算符 int [i]= i%2==0?-i:i;
System.out.println("num["+i+"] ="+(-i));
}else{
System.out.println("num["+i+"] ="+i);
}
} System.out.println("数组赋值结束!"+"\n");
- 两个变量,分别确定组长度和组类型
//输入一个数,这个数是数组的长度,再输入一个数,确定数组的类型,
//偶数将产生int数组,奇数将产生布尔数组
Scanner sc =new Scanner(System.in);//确定能接收外部数字
System.out.println("请输入数组的长度L");
int l=sc.nextInt();
System.out.println("请输入数组所需的m,偶数将产生int数组,奇数将产生布尔数组");
int m=sc.nextInt();
if(m%2==0){
int num1[]=new int[l];
for(int x =0;x<num1.length;x++){
System.out.println("num1["+x+"]="+x);
}
}else{
boolean num1[]=new boolean [l];
for(int x=0;x<num1.length;x++){
System.out.println("num1["+x+"]="+(x%2==0));
}
}
- 匹配是否会员问题
- 实际是已有账号和已有组数之间的逐个匹配,需要新建一个变量作为索引号来建立联系,由于只会输出“是”“不是”两种结果,可以用布尔来进行简单替代的判断。预设一个isp=不是会员,当匹配成功后,更改布尔变量=true,同时增加
//创建一个数组,在里面放下五个任意数字(已知的数字),
//从外面输入进来一个数,当这个数是数组里面的数,就输出一个确定,
//否则就输出一个你不是会员
System.out.println("第三题,匹配会员类型题");//由于"是"、"不是"这样的问题,可以预设一个非,在成功后,改写为是
System.out.println("请输入一个会员卡号");
int [] club={1,2,3,4,5,6,7,8,9,10};
int menber_num =sc.nextInt();
String isp="非会员";//预设一个非会员,在匹配成功之后,将变量值改写为会员,达到最后一次打印,简化代码效果
for(int iii=0;iii<club.length;iii++){
if(club[iii]==menber_num){
isp="欢迎光临";
break;}
}System.out.println(isp);
二维数组
- 初始化
int[][]sums=new int[][];
- 赋值
新建一个二维数组,8行10列,并给每个格子赋值1-1,1-2......
int sums [][]=new int [8][10];
for(int y=0;y<sums.length;y++){ //外层for控制行数,内层for控制列数,sums.length=行数
for(int x=0;x<sums[y].length;x++){//这里的sums[y].length是指的取第一行的长度,既第一行的列长。
System.out.print(y+"-"+x+"\t");
}System.out.println("");
}
手动输入数组值