Java 基礎(chǔ)知識

天外天工作室移動-Android 組培訓(xùn) #1

  • 本教程主要是為了后面的面向?qū)ο缶幊啼伮罚粫v的非常細(xì)致炕桨。
  • 本教程的項目結(jié)構(gòu)均基于 IntelliJ IDEA
  1. java 源文件布局
package pkg;

import java.lang.Math;

public class Main {
    public static void main(String[] args) {
        System.out.print("a = ");
        int a = Math.max(1, 2);
        System.out.println(a);
    }
}

一個Java文件通常有三個頂級語句,分別是包聲明語句、導(dǎo)包語句、類聲明語句丛忆,緊跟類聲明語句的是類體。

  1. 關(guān)鍵字

Java 語言的關(guān)鍵字有:abstract仍秤、boolean熄诡、break、byte诗力、case粮彤、catch、char姜骡、class、continue屿良、default圈澈、do、double尘惧、else康栈、extends、false喷橙、final啥么、finally、float贰逾、for悬荣、if、implements疙剑、import氯迂、instanceof、int言缤、interface嚼蚀、long、native管挟、new轿曙、null、package、private导帝、protected守谓、public、return舟扎、short分飞、static、super睹限、switch譬猫、synchronized、this羡疗、throw染服、throws、transient叨恨、true柳刮、try、void痒钝、volatile秉颗、while。
Java語言保留字有:const送矩、goto。
關(guān)鍵字不能用于命名變量或者類栋荸。

  1. 基本數(shù)據(jù)類型
    int 整型變量
    double 雙精度浮點型變量
    boolean 布爾類型
    String 字符串類型(非基本數(shù)據(jù)類型)
    數(shù)組 在類型后加上一對中括號[]

  2. 變量的作用域
    一對大括號{}包含一個作用域晌块,又稱為代碼塊(codeblock),內(nèi)部的作用域可以訪問外部的變量呼伸,外部的作用域無法訪問內(nèi)部的變量钝尸。但變量由外部作用域定義后,由內(nèi)部作用域賦值奶浦,在其他外部作用域仍有效踢星。
    final 關(guān)鍵字定義常量,常量一經(jīng)初始化便不可修改成洗。

  3. 基本語句

    • 輸出
      System.out.println("Hello world!");//輸出并換行
      System.out.print("Hello world!");//輸出不換行
      
    • if 語句
      if(boolean expression){
           statements;
       }
      
      boolean expression 為 boolean 類型的變量或者返回為 boolean 變量的語句瓶殃,為 true 時遥椿,運行大括號中的語句。
    • for 循環(huán)
      for(initialization;boolean expression;update control variable) {
            statements;
       }
      
      initialization : 單次運行初始化語句冠场,
      boolean expression : boolean類型的變量或者返回為boolean變量的語句碴裙,
      update control variable : 末尾循環(huán)語句。
      每次運行 statements 前莺琳,判斷 boolean expression载慈,為 true 時娃肿,運行循環(huán)體中的語句料扰。
    • foreach 循環(huán)
         for(T t : obj){ 
             statements;
         } 
      
      元素類型 T 元素變量 t : 遍歷對象 obj焙蹭,
      foreach 循環(huán)是 Java 中用于遍歷類數(shù)組對象的一種經(jīng)過簡化的 for 循環(huán)。
  4. 函數(shù)

    • 基本概念
      函數(shù)是定義在類中的一段有特定功能的代碼塊拯钻,便于代碼復(fù)用粪般。函數(shù)由函數(shù)聲明和函數(shù)體構(gòu)成:
         修飾符 T functionName (Parameter1  p1污桦,Parameter2 p2,....)  {
             statements;
             return t小作;
          }
      

    T : 函數(shù)的返回類型顾稀,
    functionName : 函數(shù)名,
    Parameter1粮揉、Parameter2 : 參數(shù)類型诡宗,
    p1塔沃、p2 : 參數(shù)
    return t; : 返回語句,
    t :返回的變量螃概。

    • 函數(shù)重載(Overloading)
      在同一個類中鸽疾,允許存在一個以上的同名函數(shù)制肮,只要它們的參數(shù)個數(shù)或者參數(shù)類型不同即可。
      在調(diào)用時會根據(jù)調(diào)用時輸入的參數(shù)自動選擇調(diào)用函數(shù)豺鼻。
  5. 注釋
    Java 使用 c 風(fēng)格的注釋
    //單行注釋
    /*
    .......
    */多行注釋

  6. List 的基本用法
    List 是繼承自 Collection 類的一個常用的集合類,可以理解為經(jīng)過封裝的數(shù)組谬莹。
    List 按照元素以線性方式存儲附帽,允許存放重復(fù)對象井誉。
    List 接口的主要實現(xiàn)類包括:ArrayList 和 LinkedList。
    ArrayList:代表長度可以變化的數(shù)組慢显。允許對元素進(jìn)行快速的隨機(jī)訪問荚藻,但是向 ArrayList 中插入與刪除元素速度較慢。
    常用方法:
    add(obj) 添加元素 obj共郭,
    get(index) 獲取索引為 index 的元素疾呻,
    size() 返回 List 的大小岸蜗,
    clear() 清空 List ,
    addAll(list) 將傳入的 list 全部添加進(jìn)當(dāng)前 List年缎,
    isEmpty() 返回 List 是否為空单芜,
    調(diào)用 Collections.sort(list) 方法傳入 list 為 List 進(jìn)行排序犁柜。

  7. 命名規(guī)范馋缅、編程規(guī)范
    Java projects 路徑不要有中文字符,
    包名使用小寫英文單詞瘾腰,
    類名和文件名一致,使用大駝峰命名法内狗,
    常量名使用全英文大寫字母义锥,
    函數(shù)拌倍、方法名和變量名使用小駝峰命名法噪径。

  8. IDEA 使用小技巧
    Ctrl + alt + L 一鍵格式化
    Ctrl + / 注釋選中行
    Ctrl + Y 刪除選中行
    alt + Enter 糾錯推薦

以下內(nèi)容為 2017/09/28 后更新

  • Java變長參數(shù)
    在定義一個方法時找爱,如果不確定調(diào)用時要傳入的某種類型的參數(shù)個數(shù)泡孩,可以使用變長參數(shù),用 "Type..."表示吮播,調(diào)用該方法時便可傳入個數(shù)不一定的某類型的參數(shù)意狠。
    在方法體內(nèi)按照數(shù)組的方式調(diào)用參數(shù)环戈。
    e.g.方法定義:
public void func(int... ints) {
        for (int i = 0; i < ints.length; i++) {
            System.out.println(ints[i]);
        }
    }

調(diào)用:

func(1);
func(1,2);
func(4,6,7);

均可谷市。

注意事項:

  1. 變長參數(shù)可和其他普通參數(shù)混合使用迫悠,但變長參數(shù)僅能放在參數(shù)列表的末尾创泄。
  2. 變長參數(shù)不可與同類型的數(shù)組構(gòu)成方法重載括蝠。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搁拙,一起剝皮案震驚了整個濱河市法绵,隨后出現(xiàn)的幾起案子朋譬,更是在濱河造成了極大的恐慌徙赢,老刑警劉巖探越,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钦幔,死亡現(xiàn)場離奇詭異,居然都是意外死亡数冬,警方通過查閱死者的電腦和手機(jī)节槐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拐纱,“玉大人铜异,你說我怎么就攤上這事〗占埽” “怎么了揍庄?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長东抹。 經(jīng)常有香客問我蚂子,道長,這世上最難降的妖魔是什么缭黔? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任食茎,我火速辦了婚禮惧互,結(jié)果婚禮上拨与,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好钱床,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布纸颜。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闺属,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天国瓮,我揣著相機(jī)與錄音芋簿,去河邊找鬼肪康。 笑死食寡,一個胖子當(dāng)著我的面吹牛辩蛋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播据途,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肋演,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡爵嗅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖洞就,靈堂內(nèi)的尸體忽然破棺而出咖为,到底是詐尸還是另有隱情躁染,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布架忌,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏雹嗦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一娃圆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦裸卫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茧泪。三九已至,卻和暖如春聋袋,著一層夾襖步出監(jiān)牢的瞬間队伟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工幽勒, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留嗜侮,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓啥容,卻偏偏與公主長得像锈颗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子干毅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容