数组:
程序=算法+数据结构
算法:解决程序的流程步骤(顺序、分支、循环)
数据结构:将数据按照某种特定的结构来存储
设计良好的数据结构会导致良好的算法。
数组是最简单的数据结构。
数组:存放
同一种类型
数据的集合,在内存里面是开辟一块
连续
的区域。
元素类型[] 数组名 = new 元素类型[长度];
double[] array = new double[4];
数组最重要操作就是
遍历。
冒泡排序:
public void test1(){
int[] array = {40,17,21,1};
for (int i = 1; i <= array.length - 1; i++) {//比较多少轮
for (int j = 0; j < array.length-i; j++) {//每一轮比较多少次,已经冒出来的不用再比较。
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int k = 0; k < array.length; k++) {
System.out.println(array[k]);
}
}
}
数组定义的方式:
1、在定义的时候直接赋值
int[] array = {32,5,7,87}; //省略初始化
int[] array = new int[]{32,5,7,87}; //标准初始化
中括号里面不能放数字 !!
2、先定义后赋值
int[] array = new int[4];//长度初始化
array[0] = 34;
java.lang.Array Index OutOf Bounds Exception: 4
数组下标越界异常
典型例题:
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
public void test5() {
Scanner scanner = new Scanner(System.in);
boolean result = true;
System.out.println("请输入一个五位数");
String str = scanner.nextLine();
System.out.println(str);
char[] array = str.toCharArray();
for
(
int
i =
0
; i <=
array
.
length
/
2
; i++) {
if
(
array
[i] !=
array
[
array
.
length
- i -
1
]) {
!!!!!
result =
false
;
break;
}
}
System.out.println(result ? "是回文数" : "不是回文数");
}