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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,983評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,772評論 3 422
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,947評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,201評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,960評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,350評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,406評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,549評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,104評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,914評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,089評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,647評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,340評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,753評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,007評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,834評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,106評論 2 375

推薦閱讀更多精彩內容