隨堂筆記160225表達式

今天是學習JAVA的第三天,主要的內容爲數據類型表達式


數據類型:



1.數據類型一般有兩種,基礎數據類型引用類型

2.類型之間的轉換爲:char、short、byte->int->long->float->double,注意大字節類型轉小字節類型時:float a = 2.5F;
3.short、char、byte之間不會相互轉換,再進行運算時,這三個類型會優先轉換爲int類型。

涉及代碼:
public class Test{
<span style="white-space:pre">	</span>public static void main(String[] args){
<span style="white-space:pre">		</span>//  float a = 2.5;		會報錯,精度損失
	<span style="white-space:pre">	</span>float a = 2.5F;		//編譯通過
<span style="white-space:pre">		</span>System.out.println(a);
	}
}




編碼問題:



1.JAVA默認編碼爲Unicode;
2.Unicode編碼也說明了java能識別中文標識符,但是注意:關鍵詞不能用中文!

涉及代碼:

class 人{
<span style="white-space:pre">	</span>private String 名字;
	private String 性別;
}	//編譯通過

表達式:


1.整除(/):左右兩邊必須爲整型。

涉及代碼:

public class Test{
	public static void main(String[] args){
		int a;
		a = 5/2;	//編譯通過,結果爲2(爲什麼不是2.5,請自行百度JAVA進制轉換導致的損失精度)
		a = 5.0/2;  //編譯錯誤,解決辦法爲: a = (int)5.0/2;
	}
}


2.取模(%):取餘數。


3.自加減(查看後面代碼):前++(--)爲先自加減後才參與運算,後++(--)爲先參加運算後自加減,注意:無論是前++還是後++,在這條語句結束後,該變量的值一定改變了。

涉及代碼:
public class Test{
<span style="white-space:pre">	</span>public static void main(String[] args){
	<span style="white-space:pre">	</span>int a=3,s;
		s = (a++)+1;		<span style="white-space:pre">		</span>//等於4 根據之前的敘述,++在後面,a變量就先參與運算再自增減,也就是 a(3)+1=4,然後a++=4;
		System.out.println(s);		
	<span style="white-space:pre">	</span>System.out.println(a);			//a爲4
		a=3;
	<span style="white-space:pre">	</span>s = (++a)+1;				//等於5 根據之前的敘述,++在前面,a變量就先自增減再參與運算,也就是 ++a=4,然後a(4)+1=5; 
		System.out.println(s);
	<span style="white-space:pre">	</span>System.out.println(a);			//a爲4
	}
}



4.恆等(===):不僅要求兩個變量的值相等,而且類型也要相同。

涉及代碼:
public class Test{
	public static void main(String[] args){
	<span style="white-space:pre">	</span>int a = 1;
		float b = 1.0F;
		if(a == b){
			System.out.println("a = b,編譯通過");	//判斷爲真
		}
		if(a === b){	//編譯不通過。
		<span style="white-space:pre">	</span>System.out.println("a = b,編譯通過");	
		}
}

5.短路與(&&)/或(||):提高程序運行效率。

1.短路與在首個表達式爲假的情況下觸發短路機制,該判斷停止進行,自動斷定爲假。
2.短路或在首個表達式爲真的情況下觸發短路機制,該判斷停止進行,自動斷定爲真。

涉及代碼(只展示短路與和與的不同):

<pre name="code" class="java">public class Test{
	public static void main(String[] args){
		int a = 1,b = 0,c = 0;
		if(a == 0 & (b = 3) == 0){
			//空
		}
		System.out.println(b);	//此時b=3,因爲與即使在確定了前面一個表達式爲假即使可以得出結果了,程序依然會再去判斷第二個表達式
		
		if(a == 0 && (c = 3) == 0){
			//空
		}
		System.out.println(c);	//此時c=0,因爲短路與在判斷第一個表達式爲假後就已經確定了整個if判斷爲假。
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章