Java的基本程序設計結構


1. Java的Hello World

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

2. 注釋

Java中的注釋共分為三種
1.單行注釋 //
2.多行注釋 /* */
3.文檔注釋 /** */

3.數據類型

  1. 整形
類型 存儲需求 取值范圍
int 4字節 -231-231-1 (超過20億)
short 2字節 -2^15 - 2^15-1
long 8字節 -2^63 - 2^63-1
byte 1字節 -128 - 127

Java7開始可以為數字字面量加下劃線 1_000_000 可以表示100萬

2.浮點型

類型 存儲需求 取值范圍
float 4字節
double 8字節
  1. char類型
    char類型表示單個字符

  2. unicode 和 char類型
    不建議使用,可以使用字符串來代替

  3. boolean類型
    boolean 有兩個值:true 和 false。 在Java中boolean和整型不能互換

4. 變量

在聲明變量時,變量的類型位于變量名之前。
4.1 變量的初始化
在聲明一個變量后必須使用賦值語句對變量進行顯示初始化,造成不要使用未初始化的變量。

4.2 常量
在Java中,利用關鍵字final聲明常量。 例如:

public class Constants {
    public static void main(String[] args){
        final double CM_PER_INCH = 2.542122;
    }
}

關鍵字final表示這個變量只能被賦值一次。一旦被賦值之后,就不能再更改了。習慣上常量名使用全大寫。

5. 運算符

在Java中使用算術運算符+、-、*、/表示。當參與/運算的兩個操作數都是整數時,表示整數除法;否則,表示浮點除法。整數的求操作用%表示。
注意:當整數被0除的時候會產生一個異常,而浮點數被0除會得到無窮大或NaN結果。

1. 數學函數與常量。

在Math類中,包含了各種各樣的數學函數。

1.1 平方根:Math.sqlrt();
1.2 冪運算:Math.pow(x,y);
1.3 可以判斷一個數的奇偶: floorMod();
1.4 常用的三角函數

  • Math.sina
  • Math.cos
  • Math.tan
    1.5 Java還提供了兩個用于表示π和e常量的近似值:
    Math.PI
    Math.E
2. 數值類型之間的轉換

當使用兩個數值進行二元操作時,先要將兩個操作數轉換為同一種類型,然后再進行計算。
如果兩個操作數中有一個是double類型,另一個操作數就會轉成double類型。
否則,如果其中一個操作是float類型,另一個操作數就會轉成float類型。
否則,如果其中一個操作數是long類型,另一個操作數將會轉換為long類型。
否則,兩個操作數都將被轉換為int類型。

3. 強制類型轉換

double x = 9.997;
int nx = (int) x;

4. 綜合賦值和運算符

可以在賦值中使用二元運算符。
x += 4;

5. 自增與自減運算符

i++; ++i; i--; --i;

6. 關系和布爾運算

==、 != 、 && 、 || 、 ? :

7. 位運算符

&(與) |(或) ~(非) ^(異或) >>(左位移) <<(右位移) >>>(以0填充高位左位移) <<<(沒有)

8. 括號與運算符優先級

括號內的優先級最高,最先計算

9. 枚舉

6.字符串

每個用""引號引起來的字符串都是String類的一個實例。

  1. 子串
    String類的substring方法可以從一個較大的字符串提取出一個子串

  2. 拼接
    Java允許使用+號連接兩個字符串。也可以使用靜態的join方法。
    String all = String.join("/", "S", "M", "L");
    // all = "S/M/L"。 使用一個定界符進行分隔。

  3. 不可變字符串
    字符被確定后,他本身是不可以被改變的。

  4. 檢測字符串是否相等
    可以使用equals方法檢測兩個字符串是否相等。
    equalsIgnoreCase方法在檢測字符串是否相等時,不區分大小寫
    千萬不要使用 == 來檢測兩個字符串是否相等

  5. 空串與NULL串
    空串""是長度為0的字符串。 NULL串表示這個字符串為null。

  6. 碼點與代碼單元
    這里的知識比較晦澀難懂,在Java核心技術卷I第49頁上。

  7. String API
    Java核心技術卷I P50

  8. 閱讀聯機API文檔
    Java核心技術 卷I P52

  9. 構建字符串
    采用字符串連接的方式來構建字符串效率比較低,每次連接字符串,都會構建一個新的String對象,既耗時,又浪費空間。可以使用StringBuilder類來避免
    StringBuilder 是線程不安全的在多線程的環境下,應該使用StringBuffer。

7.輸入輸出I/O

  1. 讀取輸入

  2. 格式化輸出
    System.out.printf(); 的格式化符號。

3.文件輸入與輸出

8.控制流程

  1. {} 語句塊
  2. 條件語句
    if
  3. 循環
    while
    do while
  4. 確定循環
    for
  5. 多重選擇: swtich語句
    switch(){
    case 1:
    ...
    break;
    }
  6. 中斷流程控制語句 break

9.大數值

java.math包下的BigInteger和BigDecimal。
BigInteger add(BigInteger other)
BigInteger subtract(BigInteger other)
BigInteger multiply(BigInteger other)
BigInteger divide(BigInteger other)
BigInteger mod(BigInteger other)

java.math.BigDecimal
BigDecimal add(BigDecimal other)
BigDecimal subtract(BigDecimal other) 
BigDecimal multiply(BigDecimal other)
BigDecimal divide(BigDecimal other RoundingMode mode)

10.數組

數組是一種數據結構,用來存儲同一類型的集合。通過下標可以訪問數組中的每 一個值。
int[] a = new int[100]; 聲明了長度為100的數組,可訪問的下標為0-99;

  1. for each循環

  2. 數組初始化及匿名數組
    int[] a = {1,2,3,4}; //在聲明時初始化數組
    匿名數組: new int[]{1,2,3,4}; //初始化了一個匿名數組

  3. 數組拷貝
    在Java中,允許將一個數組變量拷貝給另一個數組變量。這時,兩個變量將引用同一個數組
    int[] luckyNumbers = smallPrimes;
    luckNumbers[5] = 12;
    如果希望將值拷貝到一個新的數組中,可以使用Arrays類中的copyOf方法

  4. 命令行參數 main方法接收一個String[] 參數,這里便是命令行參數

  5. 數組排序:Ayyay.sort()

  6. 多維數組

  7. 不規則數組

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

推薦閱讀更多精彩內容