JAVA基礎知識(數據類型、變量等)梳理

文章摘要
1、使用Eclipse創建第一個java程序。
2、&與&&的區別,&&更有效率。
3、位移運算,讓乘法更有效率。


一、使用Eclipse創建Java程序。
1、點擊文件(右鍵)-選擇新建(New)-Java Project。

新建Java項目

2、在工程中,輸入工程的名稱,例如:“HelloWorld”,點擊完成,一個工程就創建好了。

Java工程

3、創建第一個Java程序,并使用System.out.prrintln輸出“HelloWorld”。

HelloWorld

輸入Class的名稱,并增加如下代碼:

public class HelloWorld {
 public static void main(String args[]){
 System.out.println("HelloWorld!");//使用System.out進行輸出
 /*上面的代碼段用來輸出一段文字*/
 
 print("HelloWorld!");
 }
 
 /**
  * 輸出一段函數
  * @param msg:傳輸的輸出參數。
  */
 public static void print(String msg){
 System.out.println(msg);
 }
}

4、點擊運行按鈕,或者在類名字上,選擇運行,我們可以在Console上看到輸出結果。

Java運行

技巧:

  • 使用System.out.println時,只需要輸入“sysout”,然后使用[ALT]+[/],就可以完成該命令的輸入。
  • [CTRL]+[D]:用戶快速刪除一行。

二、注釋

注釋:輔助、標記程序,幫助他人快速理解程序。不會被編譯到程序中。
1、單行注釋:以“//”開頭,跟上需要描述的話語,行末結束
2、多行注釋:以“/”開始,以“/”結束,中間是注釋內容。
3、文檔注釋:以“/*”開頭,以“/”結束,文檔注釋能夠編譯生成文檔,引用該文檔注釋標注的方法,eclipse也會顯示出來內容。
例如:上面的print函數,將鼠標放置在調用的地方,我們可以看到一些使用提示。

注釋

三、變量、常量、數據類型。

1、常量與變量相比較:變量是變化的量,常量是不會變化的量。
2、常量、變量是容器,但不同的容器只能容納不同的物體,不同的物體叫做數據類型。

int number;//定義變量number,數據類型int,容納數字型數據
String name="計算機";//定義變量name,數據類型為String,容納字符型數據
final double PI = 3.1415926;//定義雙精度浮點型,并賦值,賦值為π。

3、數據類型:
3.1、數據類型包括【基本數據類型】、【引用數據類型】。
基本數據類型:

  • 數值型:[byte、short、int、long][float、double]。

  • 非數值型:[char][boolean]

  • 引用類型:[對象]、[接口]、[數組]。

數據類型介紹:

  • Char:Java字符采用Unicode編碼,每個字符占用2個字節,共計16個字節,因而可用16進制編碼形式表示。轉義字符也屬于字符,轉義字符可以將字符,轉換成其他含義。例如:【\b:退格符】、【\n:換行符】、【\r:回車符】、【\t:制表符】、【':單引號】、【":雙引號】、【\:反斜杠】

  • byte:占用1個字節,存儲數表示范圍:-27~27-1。

  • short:短整形,占用2個字節,存儲數表示范圍:-215~215-1。

  • int :整型,占用4個字節,存儲數表示范圍:-231~231-1.

  • long:長整型 8個字節,存儲數表示范圍:-263~263-1.

  • float:單精度浮點型:4個字節。float類型的范圍是:一3.403E383.403E38。float類型的范圍是:一3.403E383.403E38。

  • double:雙精度浮點型:8個字節,存儲范圍:-1.7E308~1.7e308

ps:關于類型可以表示的最大數,可以通過,如下方式來讓程序輸出、檢驗。例如:Long型:

最大數值:Long.MAX_VALUE

3.2、類型轉換

boolean類型不能轉換成任何其他數據類型。
自動轉換:容量小的數據類型可以自耦當轉換成大的數據類型。

 byte byteType = 1;//byte 1個字節
 short shortType = byteType;//2個字節
 int integerType = shortType;//4個字節
 long longType = integerType;//8個字節
 float floatType = longType;//4字節
 double doubleType = floatType;//8字節
 
 //字符型數據和整形數據可以互換
 char a='A';
 int position = a;
 System.out.println("a is:"+a
 +",position is :"+position);//a is:A,position is :65

強制類型轉換:容量大的數據類型可以強制轉換成容量小的數據類型,但會造成數據丟失。

//強制數據類型轉換
 float floatIndex = 3.14f;
 int index = (int) floatIndex;
 System.out.println(index);//輸出為"3", 0.14數據丟失

ps:關于計算機中的數的表示、原碼、反碼、補碼:
http://blog.csdn.net/droyon/article/details/9334989

四、命名:關鍵字、變量命名、常量命名

1、關鍵字:規定、特殊用途,在Java中被賦予特殊含義并被Java系統使用。

  • 1、 class、byte、int等類標識、類型標識

  • 2、 if、else、while、break等邏輯控制命令。

2、變量命名:

  • 1、盡量不要使用中文來命名變量。
  • 2、變量由字母、下劃線、‘$’、數字組成 ,但不能以數字開頭。
  • 3、不能是java中的關鍵字
String 姓名 = "張三";//1、支持中文,盡量不要使用中文命名
 /*2、變量由字母、下劃線、‘$’、數字組成 ,但不能以數字開頭*/
// int bai du = 2;//不合法:含有非組成元素空格。
// String 360衛士 = "";不合法:數字開頭
 /*3、不能是java中的關鍵字 */
// int break = 4;不合法:break是java關鍵字

3、常量命名
大寫:如果存在多個子串,子串間使用下劃線分割、連接

//常量命名
final int MIN_LENGTH = 4;

五、運算邏輯符

1、加、減、乘、除

//[+]加法運算符
int sum = i+j;//運算結果3
//[-]減法運算符
int sub = i-j;//運算結果-1
//[*]乘法運算符
int mul = i*j;//運算結果為2;
//[/]除法運算符 
int div = i/j;//運算結果為0
//[%]取余運算符
int dvt=i%j;//運算結果為1

2、賦值運算符

//賦值運算符,運算順序,從右向左
int value0 = i;//[=]使用i對value賦值[value0=1]
value0 +=i;//[+=]:value0=value0+i;[value0=2]
value0 -=i;//[-=]:value0=value0-i;[value0=1]
value0 *=j;//[*=]:value0=value0*j;[value0=2]
value0 /=j;//[/=]:value0=value0/j;[value0=1]
value0 %=5;//[%=]:value0=value0%5;[value0=1]

3、自增、自減運算符

i++;//i=i+1;
System.out.println("自增運算,i= "+i);//自增前,i=2;
int inc1 = i++;//i先賦值給inc1,然后自我增加。1、inc1 = i;2、i = i+1;
System.out.println("[字母++]運算結果,i= "+i+",inc1 = "+inc1);//自增后,i=3;inc1 = 2;
int inc2 = ++i;//i先自我增加,然后賦值。1、i = i+1;2、inc2 = i;
System.out.println("[++字母]運算結果,i = "+i+",inc2 = "+inc2);//自增后,i = 4;inc2 = 4;

i = 1;j=2;
//自增運算符運算順序比算術運算符高
int inc3 = ++i+j;//1、i = i+1;2、inc3 = i+j;
System.out.println("[++運算符+運算符]運算結果,i = "+i+",inc3 = "+inc3);//i = 2,inc3 = 4
int inc4 = i+j++;//1、inc4 = i+j;2、j = j+1;
System.out.println("[運算符+運算符++]運算結果,j = "+j+",inc3 = "+inc3);//j = 3,inc3 = 4

4、關系運算符
包括:[==]、[!=]、[<]、[>]、[<=]、[>=]

i = 1;j=2;
System.out.println("i>j ?"+(i>j));//i>j ?false
System.out.println("i!=j ?"+(i!=j));//i!=j ?true

5、邏輯運算符
包括:[&]、[|]、[^]、[!]、[||]、[&&]

boolean bool1 = true,bool2 = false;
System.out.println("bool1&bool2 = "+(bool1&bool2));

ps:重點關注“與\或”運算符和“邏輯與\邏輯或”運算符的差異。
1、[||]邏輯或運算符,如果第一個參數返回true,則就不再進行第二個參數的調用。
2、[|]關系或運算符,無論第一個參數是否返回true,會完全運行。
總結:在程序運行中,“||”邏輯或會比較高效。

/* [|]與[||]的區別*/
System.out.println("getState1() | getState2() = "+(getState1() | getState2()));
System.out.println("getState1() || getState2() = "+(getState1() || getState2()));

private static boolean getState1(){
 System.out.println("getState1--------------------");
 return true;
}

private static boolean getState2(){
 System.out.println("getState2---------------------");
 return false;
}

6、位運算符
包括:[~]、[&]、[|]、[^]

System.out.println("i|j = "+(i|j));//0001 || 0010 = 0011;[i|j = 3]

ps:更詳細的位運算可以參閱:http://blog.csdn.net/droyon/article/details/9335537

7、位移運算符
包括:[<<]、[>>]、[>>>]
1、左移相當于乘法,每移一位相當于乘2;

System.out.println("1<<1 = "+(1<<1)
 +",1<<2 = "+(i<<2)
 +",1<<3 = "+(i<<3));//1<<1 = 2,1<<2 = 4,1<<3 = 8

2、右移相當于除法,每移一位相當于除2;

System.out.println("8>>1 = "+(8>>1)
 +",8>>2 = "+(8>>2)
 +",8>>3 = "+(8>>3));//8>>1 = 4,8>>2 = 2,8>>3 = 1

8、三目運算符

System.out.println("i與j比較,誰比較大?"+(i>j?"i":"j"));//i與j比較,誰比較大?j

六、條件選擇語句

1、if/else符合條件,條件內的邏輯才觸發。

boolean 中五百萬 = false,中三百塊錢 = false;
if(中五百萬){
 System.out.println("結婚、買房、娶媳婦~");
}else if(中三百塊錢){
 System.out.println("告訴朋友,快來買彩票~");
}else{
 System.out.println("繼續買彩票~");
}

2、Switch條件語句

int 成績 = 98;
switch(成績){
 case 90:
 System.out.println("考得不錯,獎勵兩碟薩其馬~");
 break;
 case 60:
 System.out.println("對得起你自己的大腦袋嘛~");
 default:
 System.out.println("晚飯不用吃了~");
}

switch(表達式):表達式的返回值必須為:[byte]、[short]、[int]、[char]。
case 數值:數值必須為常量,不能是變量。
break:讓程序跳出循環,否則程序會順序往下執行。

七、循環語句

1、輸出0~100.
記得讓循環語句的循環條件可達到,不然循環就是死循環。

int code = 0;
while(code<=100){
 System.out.println(code);
 code++;
}

2、買10次彩票。

boolean 不中獎 = true;
int 次數 = 0;
do{
 System.out.println("買彩票~");
 if(次數>10){
 break;
 }else{
 次數++;
 }
}while(不中獎);

3、for循環

for(int count=0;count<3;count++){
 System.out.println("計數:"+count);
}

int[] array = {0,1,5,7};
for(int arrayNumber:array){
 System.out.println("數組數字:"+arrayNumber);
}

源代碼下載:http://download.csdn.net/detail/hailushijie/9661371

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容