亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Java菜鳥學習筆記--數組篇(二):數組實例&args實

系統 2145 0

基本類型實例


?

?

      	//1.定義一個一維數組,先聲明,在分配空間
	int []number;//生命,沒有初始化,number=null
	
	number=new int[5];//初始化為默認值,int默認值為0
	//第二步創建內存空間,在堆空間創建長度為5數組,number里面存儲的是第一個內存地址
		
    


?

引用類型實例



?

      Person[] my=new Person[3];//
	/*
		1.my實在棧區,而Person數組在堆區
		2.堆空間有三個連續內存空間里面分別存有三個引用,并且默認初始化為null
	
	*/	
    

?

?

?

?

基本與引用區別圖示


(下圖摘自瘋狂java,版權歸瘋狂java所有)

Java菜鳥學習筆記--數組篇(二):數組實例&args實例_第1張圖片


Args實例練習



?

1.在Main函數中,main(String[ ] args)中的args有什么作用?

?

?

?

      
        
          String args[ ]或者String[ ] args表示給主方法傳一個字符串數組. 而args是一個字符串數組的變量名,不是關鍵字,是arguments的縮寫,只是一個默認名,一般都習慣性照寫.
        
      

?

?

        //1.數組練習
//2.args[] 功能
package me.array;

public class TestArray2{
	
	public static void main(String[] args){
		
	//輸出
		int[] a={2,2,3,4,5,2,3,5,6,2};

		for(int i=0;i<a.length;i++){
		
			System.out.println("a["+i+"] = "+a[i]);
		
		}
		
		for(int i=0;i<args.length;i++){
			
			System.out.println("args["+i+"] = "+args[i]);
		}
		//直接java 這個不顯示什么
		/*然后測試 :
		yg@Gino:~/Desktop/code$ java me.array.TestArray2 aaa bbb ccc
		a[0] = 2
		a[1] = 2
		a[2] = 3
		a[3] = 4
		a[4] = 5
		a[5] = 2
		a[6] = 3
		a[7] = 5
		a[8] = 6
		a[9] = 2
		args[0] = aaa
		args[1] = bbb
		args[2] = ccc
		*///args可以把java后面的參數挨個放入數組中,

	}

}
      


?

?

?

2.實例:寫一個程序讓 java ?me.args.TestArgs 1 + 2 可以返回計算結果 3.0


?

        //寫一個程序讓 java  me.args.TestArgs 1 + 2 可以返回3.0
package me.args;

public class TestArgs{
	
	static void tip(){
		
		System.out.println("-----------------------------------------------------------------");
		System.out.println("\n溫馨提示:\n這個一個帶參數的計算程序參");
		System.out.println("格式為 java me.args.Args n1 op n2");
		System.out.println("n1 --第一個數\nOP --加減乘除任意操作符 \nn2--第二個數");
		System.out.println("\n1.輸入數據是請注意n1 OP n2之間的空格\n2.n1n2請輸入數字");
		System.out.println("------------------------------------------------------------------");
	}
	
	public static void main(String[] args){
			
		//寫一個程序讓 java  me.args.TestArgs 1 + 2 可以返回3.0
		
		//判斷參數,是否到三個
		if(args.length<3){
			
			System.out.println("Input Error!");
			System.out.println("java me.args.TestArgs \"n1\" \"op\" \"n2\"");
			TestArgs.tip();
			System.exit(-1);//退出程序,-1表示錯誤退出,0表示非法推出
		}
		//把String類型轉換成double類型 然后再計算
		double[] number=new double[2];
		
		//可能拋出NumberFormatException,判斷第一個字符可不可以轉換成數字
		try{
		number[0]=Double.parseDouble(args[0]);
		}catch(NumberFormatException ea){
			
			System.out.println("----------n1 Number INput Error!--------------");
			ea.printStackTrace();
			TestArgs.tip();
			System.exit(-1);
		
		}
		
		//number[1]=Double.parseDouble(args[2]);不健壯,不能判斷非法輸入
		//用try結構判斷n2輸入是否合法,不合法就告訴用戶,并且拋出異常
		try{
		number[1]=Double.parseDouble(args[2]);
		}catch(NumberFormatException ea){
			
			System.out.println("----------n2 Number INput Error!--------------");
			ea.printStackTrace();
			TestArgs.tip();
			System.exit(-1);
		
		}
		
		
		
		switch(args[1]){
			
			case "+":
				System.out.println(+number[0] + number[1]);
				break;
			case "-":
				System.out.println(number[0] - number[1]);
				break;
			case "*":
				System.out.println(number[0] * number[1]);
				break;
			case "x":
				System.out.println(number[0] * number[1]);
				break;
			case "/":
				System.out.println(number[0] / number[1]);
				break;
			case "%":
				System.out.println(number[0] % number[1]);
				break;
			default :
				System.out.println("Error Operator");
				TestArgs.tip();
				break;
			
		}
		
			
	}
	
}
      


?

測試結果:


Java菜鳥學習筆記--數組篇(二):數組實例&args實例_第2張圖片



3.實例:運用args可以對輸入參數進行排序


        //1.改寫,實現從命令行上面讀取 5個數,2.排序好,3.輸出
package me.array;

public class TestArray3{
	
	//冒泡排序,經典方法
	public static void bubbleSort(int[] number){
		
		//排序部分
		
		int temp;
		//假如第一次 i=8,則比較 下標為 0~8(9個數嘿嘿),前面兩兩依次比較 
		//當i=7,下標為8已經是最大的一個數,在比較0~7(前8個數),依次兩兩比較
		for(int i = number.length-1;i >= 0; i--){
			
			for(int j =0;j < i;j++){
				
				if(number[j]>number[j+1]){
						
					temp=number[j+1];
					number[j+1]=number[j];
					number[j]=temp;
					
				}
				
			}
			
		
		}
	
		//輸出部分
		
		System.out.println("排序后順序為:");
		for(int i = 0;i < number.length;i++){
			
			System.out.println(number[i]);
			
		}
	}
	
	public static void main(String[] args){
		
		//1.讀進來
		//2.轉成int型
		//3.排序好
		//4.輸出
		
		//判斷是否帶了5個參數
		if(args.length <= 1){
		
			System.out.println(args.length);
			System.out.println("請在參數處依次輸入2個數以上");
			System.exit(-1);
			
		}
		//轉成int型
		int[] number=new int[args.length];
		// 轉換好放入數組
		for(int i = 0 ;i < args.length;i++){
				
			//轉換過程,如果出現異常就catch并輸出信息
			try{
				number[i]=Integer.parseInt(args[i]);
			}catch(NumberFormatException ea){
				
				System.out.println("----------輸入入數字有誤-----------------");
				System.out.println("錯誤信息如下:");
				ea.printStackTrace();
				System.out.println("------------------------------------------------");
				System.exit(-1);
			}
		
	
		}
		//輸出數組中的
		System.out.println("您輸入的數字為:");
		for(int i = 0;i < number.length;i++){
			
			System.out.println(number[i]);
			
		}
		//調用冒泡排序方法
		TestArray3.bubbleSort(number);	
		

	}

}
      

測試結果:


Java菜鳥學習筆記--數組篇(二):數組實例&args實例_第3張圖片


?


?

作者:YangGan
出處: http://blog.csdn.net/incyanggan
本文基于 署名 2.5 中國大陸 許可協議發布,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名 Yanggan (包含鏈接).

?

?

?

Java菜鳥學習筆記--數組篇(二):數組實例&args實例


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩精品久久不卡中文字幕 | 在线观看91精品国产不卡免费 | 天天躁日日躁狠狠躁中文字幕 | 人人爱人人性 | 欧美色欧美亚洲高清在线观看 | 人人做天天爱夜夜爽中字 | 国产一区二区三区免费在线视频 | 色偷偷777 | 特级毛片在线播放 | 在线成人天天鲁夜啪视频 | 全亚洲最大的免费私人影剧院 | 国产二区在线播放 | 亚洲国产精品人久久 | 香蕉黄色网 | 国产成人精品久久一区二区小说 | 四虎在线影视 | 美女胸又大又黄www网站 | 欧美怡红院免费全部视频 | 在线日韩麻豆一区 | 欧美视频在线视频 | 久久狠狠第一麻豆婷婷天天 | 欧美福利在线 | 国内精品一区二区2021在线 | 日韩中文字幕久久精品 | 私人影院免费观看 | 四虎影午夜成年免费精品 | 国产一二三区在线观看 | 国产精品嫩草研究所永久网址 | 97久久影院 | 91精品国产91久久久久 | 狠狠干2019| 日韩有码第一页 | 97色精品视频在线观看免费 | 99热国内精品 | 中文字幕亚洲视频 | 色吧在线视频 | 中文字幕一区二区在线观看 | 久久精品是免费100 久久精品首页 | 久久免费福利视频 | 亚洲一区精品中文字幕 | 久操视频免费 |