主要談談java和以前學的C和C++有啥不同。
1. 標識符:java中允許以“$”開始的標識符
2.保留字:數了數48個,不列了,全部都是小寫字母
3.資料類型:
(1)布爾類型:boolean,取值只有true和false,不對應整數
(2)單個字元char在機器中佔16位,範圍1~65535,C語言中是8位,這是因為java中的char可以表示unicode字元,表示形式為'\u????',?處為數字。
(3)整型也不太一樣,多了byte類型,8位,範圍-2^7~2^7-1,short是16位,int是32位,long是64位
(4)浮點類型:可以用科學計數法表示,如123e3,1.2E5。數字後面帶F或者f表示float,帶D或d表示double。預設為double
(5)String是一個字串類,和C++上的類相似,可以直接賦值
(6)基礎資料型別 (Elementary Data Type)都有其對應的封裝類,引入封裝類的目的:
①將基礎資料型別 (Elementary Data Type)轉換成對象(有些類方法的參數必須是物件類型)
②封裝類的一些靜態方法可以實現不同類型轉化,如int a=Integer.parseInt("123")就能將“123”轉化為整數;String c=String.valueOf(123)則將整數轉化為字串
③類的靜態屬性含有資料類型的範圍,如Integer.MIN_VALUE為int的最小值
(7)常量用保留字final來實現:如 final int NUM=100;
4. 3.14%2的餘數為1.140000001
5.浮點數:Math.round(5.6)是四捨五入,ceil是取大值,floor是取小值
6.關係運算==,>等結果是布爾值,true或者false
7.&為與運算,&&也是與運算,區別在於:&和 | 在執行時,運算子左右兩邊首先被執行,然後再與、或,而&&和 || 如果能從左邊得到結果,則不算右邊的,和C、C++上的一樣,效率比&和 | 高。^為異或
8.位元運算:~位反,&位與,| 位或,^位異或,<<左移,>>右移
9.有break lab語句,必須在外迴圈入口語句的前方協商lab標號,可以使程式流程退出標號所在的外迴圈。continue lab類似。
10.return 後面不可以再有可執行語句,否則編譯錯誤
11.數組定義方式有點區別:可以 int a[ ] 或者 int[ ] a;
12.初始化:和C++一樣,使用new,例如 a = new int[10];或者int [] a={3,4,5,6};對象數組可以這樣寫:Integer results[] = [ new Integer(3),new Ingeter (5)};
float f[]=new float[] {1.0f,2.0f,3.0f};
13.二維數組:int arr[][]; 或者 int [][] arr;初始化 arr = new int[3][4];
再曬個代碼,判斷閏年
public class leapyear
{
public static void isleapyear(int year){
boolean n1 = (year%4==0);
boolean n2 = (year%100==0);
boolean n3 = (year%400==0);
if((n1==true&&n2!=true)||(n2==true&&n3==true))
{System.out.println(year+"是閏年");}
else
{System.out.println(year+"不是閏年");}
}
public static void main(String args[]){
isleapyear(1900);
isleapyear(1904);
isleapyear(2000);
}
}