####数组的使用
1、语法:
//定义数组并为数组分配空间
数据类型[ ] 数组名 = new 数据类型[空间个数];
/声明数组
String[ ] strings; //字符串型数组
int[ ] numbers; //整型数组
//为数组分配空间
numbers = new int[10];//能够存储10个整数的整型数组
strings = new String[5];//能够存储5个字符串的字符串数组
//也可以合成一个步骤
String[ ] strings = new String[5];
int[ ] numbers = new int[10];
2、数组使用——赋值
方法一:
数组的声明、分配空间及赋值三大招式可以一次完成。
int[ ] numbers = new int[ ] {9, 21, 12, 33, 74, 4, 11, 77, 80, 19};
方法二:
使用循环为动态录入数据为数组赋值。
Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
score[i] = input.nextInt();
}
//声明数组,声明一个数组,并且将其初始化之后,里面就有了默认值
int[] array1 = new int[10];//10是数组的长度
//声明但没有初始化
int[] array2;
int array3[] = new int[5];
array3[0] = 10;
System.out.println(array3[0]);
//访问数组中的元素
array1[0]=10;
array1[1]=30;
System.out.println(array1[9]);
//如果要访问所有的元素,那么这个过程叫遍历
System.out.println("-----------------------------");
for (int i = 0; i < 10; i++) {
System.out.println(array1[i]);
array1[i] = (i+1)*10;
System.out.println(array1[i]);
}
//数组的元素个数
for (int i = 0; i < array3.length; i++) {
System.out.println(array3[i]);
}
//声明其他型
double[] score = new double[7];
score[0] = 20.0;
char[] chars = new char[10];
chars[0] = 'A';
//声明其他复杂类型的数字
String[] names = new String[5];
names[0] = "中国";
//数组初始化时给定数据,一旦给定具体的值,不能加长度。
int[] arr1 = new int[]{11,22,33,44,55};
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
####冒泡排序
int[] arr = new int[]{8,1,4,3,6,9,5,9,2,7}; Arrays.sort(arr);
for(int i = 0;i < arr.length - 1;i++){
//每趟又进行两两元素比较
for(int j = 0;j < arr.length - 1 - i;j++){
//判断两两之间的大小,如果前面的数大于后面的数,那么将前面的和后面的交换
//否则没有动作。
if(arr[j] > arr[j + 1]){
if(arr[j] < arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}