1. 程式人生 > >java學習筆記(3)

java學習筆記(3)

決定 ati 開始 詳細講解 調用 數據 寄存器 art 筆記

java基礎知識

1:方法
	(1)方法:就是完成特定功能的代碼塊。
		註意:在很多語言裏面有函數的定義,而在Java中,函數被稱為方法。
	(2)格式:
		修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
			方法體語句;
			return 返回值;
		}

		修飾符:目前就用 public static。後面再詳細講解其他修飾符
		返回值類型:就是功能結果的數據類型
		方法名:就是起了一個名字,方便我們調用該方法。
		參數類型:就是參數的數據類型
		參數名:就是變量
		參數分類:
			實參:實際參與運算的數據
			形參:方法上定義的,用於接收實際參數的變量
		方法體語句:就是完成功能的代碼塊
		return:結束方法
		返回值:就是功能的結果,由return帶給調用者。
	(3)兩個明確:
		返回值類型:結果的數據類型
		參數列表:參數的個數及對應的數據類型
	(4)方法調用
		A:有明確返回值的方法
			a:單獨調用,沒有意義
			b:輸出調用,不是很好,因為我可能需要不結果進行進一步的操作。但是講課一般我就用了。
			c:賦值調用,推薦方案
		B:void類型修飾的方法
			a:單獨調用
	(5)案例:
		A:求和方案
		B:獲取兩個數中的較大值
		C:比較兩個數據是否相同
		D:獲取三個數中的最大值
		E:輸出m行n列的星形
		F:輸出nn乘法表
	(6)方法的註意事項
		A:方法不調用不執行
		B:方法之間是平級關系,不能嵌套定義
		C:方法定義的時候,參數是用,隔開的
		D:方法在調用的時候,不用在傳遞數據類型
		E:如果方法有明確的返回值類型,就必須有return語句返回。
	(7)方法重載
		在同一個類中,方法名相同,參數列表不同。與返回值無關。
		
		參數列表不同:
			參數的個數不同。
			參數的對應的數據類型不同。
	(8)方法重載案例
		不同的類型的多個同名方法的比較。
		
2:數組
	(1)數組:存儲同一種數據類型的多個元素的容器。
	(2)特點:每一個元素都有編號,從0開始,最大編號是長度-1。
	         編號的專業叫法:索引
	(3)定義格式
		A:數據類型[] 數組名;
		B:數據類型 數組名[];
		
		推薦是用A方式,B方法就忘了吧。
		但是要能看懂
	(4)數組的初始化
		A:動態初始化
			只給長度,系統給出默認值
			
			舉例:int[] arr = new int[3];
		B:靜態初始化
			給出值,系統決定長度
			
			舉例:int[] arr = new int[]{1,2,3};
			簡化版:int[] arr = {1,2,3};
	(5)Java的內存分配
		A:棧 存儲局部變量
		B:堆 存儲所有new出來的
		C:方法區(面向對象部分詳細講解)
		D:本地方法區(系統相關)
		E:寄存器(CPU使用)
		
		註意:
			a:局部變量 在方法定義中或者方法聲明上定義的變量。
			b:棧內存和堆內存的區別
				棧:數據使用完畢,就消失。
				堆:每一個new出來的東西都有地址
				    每一個變量都有默認值
						byte,short,int,long 0
						float,double 0.0
						char ‘\u0000‘
						boolean false
						引用類型 null
				    數據使用完畢後,在垃圾回收器空閑的時候回收。
	(6)數組內存圖
		A:一個數組
		B:二個數組
		C:三個數組(兩個棧變量指向同一個堆內存)
	(7)數組的常見操作
		A:遍歷
			方式1:
				public static void printArray(int[] arr) {
					for(int x=0; x<arr.length; x++) {
						System.out.println(arr[x]);
					}
				}
				
			方式2:
				public static void printArray(int[] arr) {
					System.out.print("[");
					for(int x=0; x<arr.length; x++) {
						if(x == arr.length-1) {
							System.out.println(arr[x]+"]");
						}else {
							System.out.println(arr[x]+", ");
						}
					}
				}
		B:最值
			最大值:
				public static int getMax(int[] arr) {
					int max = arr[0];
					
					for(int x=1; x<arr.length; x++) {
						if(arr[x] > max) {
							max = arr[x];
						}
					}
					
					return max;
				}
				
			最小值:
				public static int getMin(int[] arr) {
					int min = arr[0];
					
					for(int x=1; x<arr.length; x++) {
						if(arr[x] < min) {
							min = arr[x];
						}
					}
					
					return min;
				}
		C:逆序
			方式1:
				public static void reverse(int[] arr) {
					for(int x=0; x<arr.length/2; x++) {
						int temp = arr[x];
						arr[x] = arr[arr.length-1-x];
						arr[arr.length-1-x] = temp;
					}
				}
				
			方式2:
				public static void reverse(int[] arr) {
					for(int start=0,end=arr.length-1; start<=end; start++,end--) {
						int temp = arr[start];
						arr[start] = arr[end];
						arr[end] = temp;
					}
				}
		D:查表
				public static String getString(String[] strArray,int index) {
					return strArray[index];
				}
		E:基本查找
			方式1:
				public static int getIndex(int[] arr,int value) {
					for(int x=0; x<arr.length; x++) {
						if(arr[x] == value) {
							return x;
						}
					}
					
					return -1;
				}
				
			方式2:
				public static int getIndex(int[] arr,int value) {
					int index = -1;
				
					for(int x=0; x<arr.length; x++) {
						if(arr[x] == value) {
							index = x;
							break;
						}
					}
					
					return index;
				}

  

你好都發你發ejfiaodf

ndfaii

java學習筆記(3)