黑马程序员_源自梦想 数组、for、while、排序

-------  android培训 java培训 、期待与您交流! ---------

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);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值