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

java學習筆記(2)

區別 ner false blog == imp 表達 知識 最大值

java基礎知識:

1:運算符
	(1)算術運算符
		A:+,-,*,/,%,++,--
		B:+的用法
			a:加法
			b:正號
			c:字符串連接符
		C:/和%的區別
			數據做除法操作的時候,/取得是商,%取得是余數
		D:++和--的用法
			a:他們的作用是自增或者自減
			b:使用
				**單獨使用
					放在操作數據的前面和後面效果一樣。
					a++或者++a效果一樣。
				**參與操作使用
					放在操作數的前面:先自增或者自減,再參與操作
						int a = 10;
						int b = ++a;
					放在操作數的後面:先參與操作,再自增或者自減
						int a = 10;
						int b = a++;
	(2)賦值運算符
		A:=,+=,-=,*=,/=,%=等
		B:=叫做賦值運算符,也是最基本的賦值運算符
			int x = 10; 把10賦值給int類型的變量x。
		C:擴展的賦值運算符的特點
			隱含了自動強制轉換。
			
			面試題:
				short s = 1;
				s = s + 1;
				
				short s = 1;
				s += 1;
				請問上面的代碼哪個有問題?
	(3)比較運算符
		A:==,!=,>,>=,<,<=
		B:無論運算符兩端簡單還是復雜最終結果是boolean類型。
		C:千萬不要把==寫成了=
	(4)邏輯運算符
		A:&,|,^,!,&&,||
		B:邏輯運算符用於連接boolean類型的式子
		C:結論
			&:有false則false
			|:有true則true
			^:相同則false,不同則true。
				情侶關系。
			!:非true則false,非false則true
			
			&&:結果和&是一樣的,只不過有短路效果。左邊是false,右邊不執行。
			||:結果和|是一樣的,只不過有短路效果。左邊是true,右邊不執行。
	(5)位運算符(了解)
		A:^的特殊用法
			一個數據針對另一個數據位異或兩次,該數不變
		B:面試題
			a:請實現兩個變量的交換
				**采用第三方變量
				**用位異或運算符
					左邊a,b,a
					右邊a^b
			b:請用最有效率的方式計算出2乘以8的結果
				2<<3
	(6)三元運算符
		A:格式
			比較表達式?表達式1:表達式2;
		B:執行流程:
			首先計算比較表達式的值,看是true還是false。
			如果是true,表達式1就是結果。
			如果是false,表達式2就是結果。
		C:案例:
			a:比較兩個數據是否相等
			b:獲取兩個數據中的最大值
			c:獲取三個數據中的最大值
			
2:鍵盤錄入
	(1)實際開發中,數據是變化的,為了提高程序的靈活性,我們加入鍵盤錄入數據。
	(2)如何實現呢?目前就記住
		A:導包
			import java.util.Scanner;
			位置:在class的上邊
		B:創建對象
			Scanner sc = new Scanner(System.in);
		C:獲取數據
			int x = sc.nextInt();
	(3)把三元運算符的案例加入鍵盤錄入改進。

3:流程控制語句
	(1)順序結構 從上往下,依次執行
	(2)選擇結構	按照不同的選擇,執行不同的代碼
	(3)循環結構 做一些重復的代碼

4:if語句
	(1)三種格式
		A:格式1
			if(比較表達式) {
				語句體;
			}
			
			執行流程:
				判斷比較表達式的值,看是true還是false
				如果是true,就執行語句體
				如果是false,就不執行語句體
		
		B:格式2
			if(比較表達式) {
				語句體1;
			}else {
				語句體2;
			}
			
			執行流程:
				判斷比較表達式的值,看是true還是false
				如果是true,就執行語句體1
				如果是false,就執行語句體2
				
		C:格式3
			if(比較表達式1) {
				語句體1;
			}else if(比較表達式2){
				語句體2;
			}
			...
			else {
				語句體n+1;
			}
			
			執行流程:
				判斷比較表達式1的值,看是true還是false
				如果是true,就執行語句體1
				如果是false,就繼續判斷比較表達式2的值,看是true還是false
				如果是true,就執行語句體2
				如果是false,就繼續判斷比較表達式3的值,看是true還是false
				...
				如果都不滿足,就執行語句體n+1
	(2)註意事項
		A:比較表達式無論簡單還是復雜,結果是boolean類型
		B:if語句控制的語句體如果是一條語句,是可以省略大括號的;如果是多條,不能省略。
			建議:永遠不要省略。
		C:一般來說,有左大括號,就沒有分號,有分號,就沒有左大括號。
		D:else後面如果沒有if,是不會出現比較表達式的。
		E:三種if語句其實都是一個語句,只要有一個執行,其他的就不再執行。
	(3)案例:
		A:比較兩個數是否相等
		B:獲取兩個數中的最大值
		C:獲取三個數中的最大值(if語句的嵌套)
		D:根據成績輸出對應的等級
		E:根據月份,輸出對應的季節
		F:根據x計算對應y的值並輸出
	(4)三元運算符和if語句第二種格式的關系
		所有的三元運算符能夠實現的,if語句的第二種格式都能實現。
		反之不成立。
		
		如果if語句第二種格式控制的語句體是輸出語句,就不可以。
		因為三元運算符是一個運算符,必須要有一個結果返回,不能是一個輸出語句。

  

java學習筆記(2)