数组概述
数组是java语言中的引用数据类型(具有相同数据类型的一组数据的集合)
存储在数组中的数据称数组元素,数组元素通过“数组名[下标]”来进行访问(下标也称为数组的索引、脚标,从0开始,负数索引无效)
数组是具有固定长度的,数组的长度表示该数组能够存储数组元素的个数(经常会进行边界判定的校验,也就是在用的时候随时注意下标 边界的溢出)
数组声名
一维数组
数据类型[ ] 数组名;
数据类型 数组名[ ];
数据类型[ ] 数组名 = new 数据类型[n];(n表示数组长度,n=数组名.length,new指开批空间)
数据类型[ ] 数组名 = new 数据类型[ ]{数据1,数据2,数据3,...};(数据已开批空间)
不同类型数组没有赋值的情况
byte,int,short,long,默认值为0
char 默认值为null
boolean默认值为false
String 类型默认值为null
package com.cdz;
import java.util.Arrays;
import java.util.Scanner;
/*
* 数组冒泡排序基础应用
*/
public class PaiXu {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double arr[]={1,2,3,11,5,6,7,13,9,10};
double t;
//double[] arr=new double[10];
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){//i的值与后面的所有值进行比较
if(arr[i]>=arr[j]){//i的值与其他的值比较,把小的值给i
t=arr[i];//进行交换值
arr[i]=arr[j];
arr[j]=t;
}
}
}
//Arrays.sort(arr);//自动排序数组arr
//增强for循环
// for(double d:arr){
// System.out.print(d+" ");
//
// }
//普通for循环输出
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
二维数组
类型[ ][ ] 类型名=new 类型[n][ ] ;(必须有值,声名其空间大小,n表示其行)
package com.cdz;
import java.util.Random;
/*
* 理解arr[i].length,而不是最好的输出方法
* 打印3行4列(随机生成1-10的数)
*/
public class demo {
public static void main(String[] args) {
int[][] arr = new int[3][4];//用这个方法打印时, 这里的列必须开辟空间,否则arr[i].length不知道有多少列,则报错
for (int i = 0; i < arr.length; i++) {//有多少行
for (int j = 0; j < arr[i].length; j++) {//arr[i].length第i行有多少列的长度
int num = new Random().nextInt(10);//随机生成1-10的数
arr[i][j] = num;
System.out.print(arr[i][j] + " ");
if (j==arr[i].length-1)//i行的长度与j的列数相等的活,就换行(arr[i].length-1,就因为数组下标从0开始)
System.out.println();
}
}
}
}