数组
数组是采用一组固定的空间,来存储一组类型相同的数据。
数组定义的几种方式:
1
Int [ ] aArray ;
aArray = new int[// 数组大小 ];
2
Int [ ] aArray01 = new int[//数组大小 ];
3
Int [ ] aArray02 = new int[ ] {value1,value02,value03 };
4
Int [ ] aArray03 = { value1,value2,value3};
Demo01
给定一个整数数组,读入一个整数n,如果n在数组中存在,输出下标,不存在则输出-1
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[] aArray = { 1, 2, 3, 4, 5, 6 };
Boolean b = false;
int m = 0;
int i = 0;
for (; i < aArray.length; i++) {
if (num == aArray[i]) {
b = true;
m = i;
}
}
if (b == true) {
System.out.println(m);
} else {
System.out.println(-1);
}
}
传递方式:
值传递:
数值传递,基本数据类型
引用类型传递:
传递地址
String类型无法修改,final修饰。
数组的排序
冒泡排序:
for (int i = 1; i < aArray.length; i++) {
for (int j = 0; j < aArray.length - i; j++) {
if (aArray[j] > aArray[j + 1]) {
int temp = aArray[j + 1];
aArray[j + 1] = aArray[j];
aArray[j] = temp;
}
}
}
Jdk排序:java.util.Arrays.sort(// 数组名);升序
二维数组
使用双下标:
第一个下标:行号
第二个下标:列号
二维数组语法
//先声明、再分配空间
int[][] a;
a = new int[高维长度][低维长度];
// 声明并分配空间
int[][] a1 = new int[高维长度][低维长度];
//声明并赋值
int[][] a2 = new int[高维长度][]; // 不规则数组,自行new低位数组
a2[2] = new int[] { 1 };
// 声明并赋值
int[][] a3 = { { 1, 3 }, { 4, 4 }, { 1, 1 }, {}, {}, {}, {} }; // 显示初始化
杨辉三角
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int deep = scanner.nextInt();
int yh[][] = new int[deep][deep];
for (int i = 0; i < yh.length; i++) {
yh[i][0] = 1;// 每层第一个值为1
yh[i][i] = 1; // 每层最后一个值为1
if (i >= 2) { // 从第二层开始
for (int j = 1; j < yh.length; j++) {
yh[i][j] = yh[i - 1][j] + yh[i - 1][j - 1];
}
}
}
for (int i = 0; i < deep; i++) {
// 遍历数组
for (int j = 0; j <= i; j++) {
System.out.print(yh[i][j] + "\t");
}
System.out.println();
}
}
}