1. 程式人生 > >Java學習的第二天

Java學習的第二天

Java語言基礎組成

  1. 關鍵字

被java賦予特殊含義的某些單詞、

特點:都是小寫

  1. 識別符號

在程式中自定義的一些名稱

由英文字母,$,_開頭;由英文字母,$,_和數字組成;

規則:

  • 不能以數字開頭
  • 不可以使用關鍵字

Java嚴格區分大小寫

  1. 註釋
  2. 常量與變數

常用常量的分類

  • 整數常量,所有整數
  • 小數常量,所有小數
  • 布林型常量,較為特殊,只有兩個兩個數值---true  false
  • 字元常量,將一個數字字母或者符號用單引號(’’)標識,只能存放單個字元;’4’,’+’
  • 字串常量,將一個或者多個字元用雙引號標識。”a”, ”  ” ,”ab”
  • null常量,只有一個數值就是null

進位制轉換(二進位制,十進位制,八進位制,十六進位制)

變數:將不確定的資料進行儲存。也就是說需要在記憶體中開闢一個空間;通過明確資料型別,變數名稱來完成;空間的型別---資料型別,名稱---變數名;

1.資料型別

1.1.基本資料型別

1.1.1.數值型

1.1.1.1.整數型(byte(一個位元組數),short(兩個位元組數),int(四個位元組數),long(八個位元組數))1個位元組八位(-2727-1)(節約記憶體)

1.1.1.1.浮點型(float(四個位元組數),double(八個位元組數))(精確程度不同)

1.1.2.字元型(char(兩個位元組數))

1.1.3.布林型(boolean)(一個位元組數)

格式---資料型別 變數名 = 初始化值;

1.2.引用資料型別

1.2.1.類(class)

1.2.2.介面(interface)

1.2.3.陣列([])

注:對於基本資料型別的變數,在記憶體空間裡存放的是它的值。

    數字值不能直接轉換為布林值。因此,不能使用非0代表邏輯真(與C語言不同)

整型預設為int型,小數預設為double

byte b = 2;//-128~127;

//byte b1 = 128;這樣是錯誤的方式

short s = 30000;

long l = 4l;

float f = 2.3f;

double d = 34.56;

char ch = '4';

char ch1 = 'a';

char ch2 = '+';

char ch3 = ' ';

boolean bo = true;

boolean bo1 = false;

/*

什麼時候定義變數?

當資料不確定的時候。需要對資料進行儲存時。

就定義一個變數來完成儲存動作。

*/

整型預設為int型,小數預設為double

byte b = 3;

b = b + 2;

b為byte型,一個位元組,2為int 型四個位元組;由【自動型別提升】,會將b(位元組少的)提升到四個位元組,這樣把(b+2)(四個位元組)賦給b(一個位元組)會報錯

b = (byte)(b+2);---強制將(b+2)四個位元組轉化為一個位元組【強制型別轉換】

直接輸出System.out.println(‘a’+ 1);---輸出98

原因:’a’為char型,char是兩個位元組,1預設為int型四個位元組,自動型別轉換為四個位元組,所以列印的結果為98;

【a---97   A---65】

System.out.println((char)(‘a’+ 1));---輸出b

將double型強制轉換為int型取整數;

  1. 運算子
  • 算術運算子

int x = 4270;

x = x / 1000 * 1000;---x = 4000;(整型除整型等於整型,不會是小數)

+  -  *  \  %

1%5---1)【-1%5----1)【1%-5---1)【-1%-5----1)結論:取餘的正負號只與%前面的正負號有關

++ -- 注意放在前面和放在後面時的運算優先順序的差別

int a = 3;  b = a++;---b=3;a=4;

int a = 3;  b = ++a;---b=4;a=4;

字串連線符””+””

字串資料和任何資料使用+都是相連線,最終都會變成字串;

System.out.println(“ab”+5+5); ----ab55

System.out.println(“ab”+ “bc”); ----abbc

System.out.println(“a=”+a+”,”+”b=”+b);

---a=a的值,b=b的值

println----ln表示換行的意思

轉義字元:通過\來轉變後面字母或者符號的含義

\n---換行  \b---退格,相當與backspace

\r---按下回車鍵  \t製表符,相當於tab

System.out.println”Hello\nWorld”;

System.out.println\ ”HelloWorld\”;---轉義---“Hello World”

System.out.println\ \HelloWorld\\;---\轉義

---\Hello World\

char = ‘\’’;---轉義

char =’’;---一個漢字兩個位元組,char兩個位元組,可以儲存;

  • 賦值運算子

= += -= \=  %=

short s=4;

s =s + 5;---編譯失敗,因為s會被提升為int型別,運算後的結果還是int型別。無法賦值給short型別。

s += 5;---編譯成功,因為+=運算子在給s賦值時,自動完成了強制操作。

  • 比較運算子

==     !=    <   >    <=    >=---結果不是真就是假

== 用來比較是否相同

=   用來賦值

  • 邏輯運算子

&(與)   |(或)  ^(異或,只有真假不一樣時才為真)

!(非)&&(短路) ||(短路)

邏輯運算子用於連線boolean型別的表示式

Int a = 2;

a>3&a<6;

---先運算a>3(假),再運算a<6(真)然後綜合結果為假

a>3&&a<6;

---運算a>3(假)後不再運算     提高效率

  • 位運算子(針對與二進位制)

<<  左移    >> 右移  >>>>無符號右移

&與運算    |或運算    ^異或運算   ~反碼

  • 三元運算子

格式

(條件表示式)?表示式1:表示式2;

 如z=(x>y)?x:y;

  1. 語句
  • 判斷結構

if(條件表示式){滿足執行區域}

如果控制的語句只有一條,可以不用寫{}

if(條件表示式){滿足執行區域}

else{滿足執行區域}

if(條件表示式){滿足執行區域}

else if(條件表示式){滿足執行區域}

……

else{滿足執行區域}

只要有一個滿足,這個整體就結束了;

if(條件表示式){滿足執行區域}---1

if(條件表示式){滿足執行區域}---2

if(條件表示式){滿足執行區域}---3

else{滿足執行區域}

這是三個整體; 判讀要執行三次;

if(x==3||x==4||x==5)

if(x>=3 && x<=5)

  • 選擇結構

switch(表示式)//選擇的型別只有四種:byte,short,int,char

沒有long

{

case 取值1:執行語句break;

case 取值2:執行語句break;

……

default:

執行語句

}//結束switch語句有兩種情況:遇到break或者執行到swich語句結束

case中取值正確,執行語句;取值錯誤,不執行語句;但這兩種情況都會向下執行,直到遇見break;跳出語句

當情況不滿足所有的case的時候執行default語句,casedefault的前後順序無關;

switch(x)

         {

             case 3:

             case 4:

             case 5:

                  System.out.println(x+"春季");

                  break;

             case 6:

             case 7:

             case 8:

                  System.out.println(x+"夏季");

                  break;

             case 9:

             case 10:

             case 11:

                  System.out.println(x+"秋季");

                  break;

             case 12:

             case 1:

             case 2:

                  System.out.println(x+"冬季");

                  break;

             default:

                  System.out.println("nono");

         }

if和switch語句很像。

具體什麼場景下,應用哪個語句呢?

如果判斷的具體數值不多,而是符合byte short int char這四種類型。

雖然兩個語句都可以使用,建議使用swtich語句。因為效率稍高

其他情況:對區間判斷對結果為boolean型別判斷,使用if,if的使用範圍更廣。

抒發牢騷(不用看)

神奇的中秋假期,周圍的人聚餐,旅行,遊玩,發空間,發朋友圈……

但,苦逼的我埋頭學習,難過,傷心,嫉妒呀。

以前欠的債都是要還的,學習的時候開小差,以後就會用玩的時間去彌補,怎能不恨呢?

堅持一天一更,不要中斷,失去的,總有一天會一點一滴的要回來的,