1.数组 (引用类型)-->java.lang.reflect.Array(反射用的)-->Arrays工具集
1.1一维数组
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
1. int[] x = new int[3];
2. int[] xx = {1,2,3};
3. int[] x = new int[]{1,2,3}
1.2 二维数组
int [] x ==> int x[] ; int [] xx, y[]==> int[] xx, int[][]y;
int[][] sum = new int[2][];
int[][] sum1 = new int[2][3];
int[][] sum2 = new int[][]{};
int[][] sum3 = {};
//**********************
sum[0] = new int[3];
sum[1] = new int[]{1,2,3};
sum[2] ={};//出错
int[][] sum4 = new int[2][3]{};//出错
int[][] sum5 = new int[2][]{};//出错
2.for语句 (for(;;){死循环})
int[][] arr = new int[3][];
arr[0] = new int[]{1,2,3};
arr[1] = new int[]{4};
arr[2] = new int[]{5,6};
System.out.println(arr[1].length);// 结果是1
for(int x = 0; x < arr.length; x++){
for(int y = 0; y < arr[x].length; y++){
System.out.println(arr[x][y]);
}
}
for(int[] a : arr){
for(int aa : a){
System.out.println(aa);
}
}
// #######fun()#########
// 0,0 0,1 0,2 0,3
// #######fun()#########
// 1,0 6
// #######fun()#########
// 2,0 2,1 2,2 2,3
public static void fun(){
int x = 0;
for(int i = 0; i < 3; i++){
System.out.println("#######fun()#########");
for(int j = 0; j < 4; j++){
if(++x == 6){
System.out.print(x);
break ;
}
System.out.print(i + "," + j + "\t");
}
System.out.println("");
}
}
/**
* #######fun1()#########
*0,0 0,1 0,2 0,3
*#######fun1()#########
*1,0 6
*/
public static void fun1(){
int x = 0;
ok: for(int i = 0; i < 3; i++){
System.out.println("#######fun1()#########");
for(int j = 0; j < 4; j++){
if(++x == 6){
System.out.print(x);
break ok;
}
System.out.print(i + "," + j + "\t");
}
System.out.println("");
}
}
/*
#######fun2()#########
0,0 0,1 0,2 0,3
#######fun2()#########
1,0 6 1,2 1,3
#######fun2()#########
2,0 2,1 2,2 2,3
*/
public static void fun2(){
int x = 0;
for(int i = 0; i < 3; i++){
System.out.println("#######fun2()#########");
for(int j = 0; j < 4; j++){
if(++x == 6){
System.out.print(x);
continue;
}
System.out.print(i + "," + j + "\t");
}
System.out.println("");
}
}
3.while语句 (while(true){死循环})
public class Demo2 {
public static void main(String[] args) {
int x = 2;
while(x > 2){
System.out.println(x--);
}
System.out.println("################################");
int y = 2;
do{
System.out.println(y--);
}while(y > 2);
}
}
//------------结果---------------
################################
2
while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
4.排序
//选择排序法
int [] arr = {1,223,445,66,334,5,0};
for(int x = 0; x < arr.length -1 ; x++){
for(int y = x + 1; y < arr.length ; y++){
if(arr[x]>arr[y]){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
sort(arr);
}
public static void sort(int[] arr){
for(int x = 0; x < arr.length; x++){
System.out.println(arr[x]);
}
}
/**
* 冒泡排序法
* @param arr
*/
public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。
{
if(arr[y]<arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
public static void swap(int[] arr,int y1,int y2){
int temp = arr[y1];
arr[y1] = arr[y2];
arr[y2] = temp;
}
//Arrays工具集进行排序
Arrays.sort(arr);