01-04 Idea姐帚、方法

第一章開發(fā)工具 IntelliJ IDEA


1.1 開發(fā)工具概述


IDEA是—個專門針對Java的集成開發(fā)工具(IDE), 由Java語言編寫恩沛。所以祈搜,需要有JRE運行環(huán)境并配置好環(huán)境變量。 它可以極大地提升我們的開發(fā)效率笼痛∪骨铮可以自動編譯琅拌,檢查錯誤。在公司中摘刑,使用的就是IDEA進行開發(fā)进宝。

1.2 IDEA軟件安裝


此軟件集成了32位和64位,雙擊ideaIU-2017.3.2.exe進入安裝枷恕。

  1. 歡迎界面
  1. 選擇安裝路徑
  1. 配置安裝選項
  1. 開始菜單
  1. 安裝完畢

IDEA開發(fā)工具安裝完成

1.3 IDEA首次驅(qū)動


  1. 選擇不導入任何設(shè)置党晋,點擊OK
  1. 先擇 Create New Project

3.點擊new按鈕,配置安裝的JDK9版本

選擇JDK9目錄徐块,點擊確定

  1. 不使用模板
  1. 為工程起名字demo ,并存儲到d:\ideawork\demo目錄下未玻,如果d盤沒有這個目錄,會自動創(chuàng)建胡控。
    首次新建項目時扳剿,默認的Project Location路徑有問題,如c:\xxx昼激,正確寫法為c:\xxx庇绽。更改后不會再 出現(xiàn)此類問題。
  1. 打開一個每日一帖對話框橙困,勾掉每次啟動顯示瞧掺,點擊close
  1. IDEA的工作界面,我們的項目已經(jīng)創(chuàng)建好了纷宇,如果再新建項目夸盟,點擊File->new->Project

1.4 創(chuàng)建包和類

  1. 展開創(chuàng)建的工程,在源代碼目錄src上像捶,鼠標右鍵上陕,選擇new->package ,鍵入包名com.itheima.demo 拓春, 點擊確定释簿。

右鍵點擊com.itheima.demo ,選擇Show in Explorer ,會發(fā)現(xiàn)創(chuàng)建包的目錄結(jié)構(gòu)。

可見com.itheima.demo ,表示創(chuàng)建了多級的文件夾硼莽。

小貼士:所謂包庶溶,就是文件夾,用來對類文件進行管理懂鸵。

  1. 在創(chuàng)建好的包上偏螺,鼠標右鍵,選擇new->class創(chuàng)建類匆光,鍵入類名套像。
  1. 在代碼編輯區(qū),鍵入主方法终息,并輸出HelloWorld夺巩。
  1. 運行程序贞让,在代碼編輯區(qū)鼠標右鍵,選擇Run HelloWorld即可柳譬,或在菜單中選擇Run->Run HelloWorld喳张。

1.5 字體設(shè)置


IDEA工具的默認字體非常小,代碼編輯器和控制臺的輸出字體都需要進行調(diào)整美澳。

  • 點擊菜單欄上的File-->Settings-->Editor-->Font修改字體销部。

1.6 IDEA的項目目錄

  • 我們創(chuàng)建的項目,在d:\ideawork目錄的demo下

    • .idea目錄和demo.iml和我們開發(fā)無關(guān)制跟,是IDEA工具自己使用的

    • out目錄是存儲編譯后的.class文件

    • src目錄是存儲我們編寫的.java源文件

1.7 IDEA常用快捷鍵


快捷鍵 功能
Alt+Enter 導入包柴墩,自動修正代碼
Ctrl+Y 刪除光標所在行
Ctrl+D 復制光標所在行的內(nèi)容,插入光標位置下面
Ctrl+Alt+L 格式化代碼
Ctrl+/ 單行注釋
Ctrl+Shift+/ 選中代碼注釋凫岖,多行注釋,再按取消注釋
Alt+Ins 自動生成代碼逢净,toString哥放,get,set等方法
Alt+Shift+上下箭頭 移動當前代碼行

1.8 IDEA修改快捷鍵


在IDEA工具中爹土,ctrl+空格的快捷鍵甥雕,可以幫助我們補全代碼,但是這個快捷鍵和Windows中的輸入法切換快捷鍵沖突胀茵,需要修改IDEA中的快捷鍵社露。

File->Settings->keymap->Main menu->code->Completion->Basic

雙擊 Basic-->remove-->Ctrl+空格

再次雙擊 Basic-->Add Keyboard-->鍵入 Alt+/-->點擊OK

1.9 IDEA導入和關(guān)閉項目


關(guān)閉IDEA中已經(jīng)存在的項目,File-->Close Project

File->Close Project這時IDEA回到了剛啟動界面琼娘,點擊項目上的X峭弟,IDEA中就沒有這個項目了

在IDEA的啟動界面上,點擊OPEN 脱拼,選擇項目目錄即可

小貼士:
若想通過IDEA同時開啟多個項目瞒瘸,點擊OPEN打開項目時,點擊New Window按鈕

第二章 方法


2.1 回顧--方法的定義和調(diào)用


前面的課程中熄浓,使用過嵌套循環(huán)輸出矩形情臭,控制臺打印出矩形就可以了,因此將方法定義為void ,沒有返回值赌蔑。 在主方法main中直接被調(diào)用俯在。

public class Method_Demo1 {
    public static void main(String[] args) { 
        print();
    }

    private static void print() {
    for (int i = 0; i < 5; i++) { 
        for (int j = 0; j < 8; j++) { 
            System.out.print("*");
        }
        System.out.println();
    }
  }
}

print方法被main方法調(diào)用后直接輸出結(jié)果,而main方法并不需要print方法的執(zhí)行結(jié)果娃惯,所以被定義為void跷乐。

2.2 定義方法的格式詳解


修飾符 返回值類型 方法名 ( 參數(shù)列表 ){
    // 代碼省略 ... 
    return 結(jié)果 ;
}
  • 修飾符:public static固定寫法

  • 返回值類型:表示方法運行的結(jié)果的數(shù)據(jù)類型,方法執(zhí)行后將結(jié)果返回到調(diào)用者

  • 參數(shù)列表:方法在運算過程中的未知數(shù)據(jù)石景,調(diào)用者調(diào)用方法時傳遞

  • return:將方法執(zhí)行后的結(jié)果帶給調(diào)用者劈猿,方法執(zhí)行到return ,整體方法運行結(jié)束

小貼士: return 結(jié)果; 這里的"結(jié)果"在開發(fā)中拙吉,我們正確的叫法成為方法的返回值

2.3 定義方法的兩個明確


  • 需求:定義方法實現(xiàn)兩個整數(shù)的求和計算。

    • 明確返回值類型:方法計算的是整數(shù)的求和揪荣,結(jié)果也必然是個整數(shù)筷黔,返回值類型定義為int類型。

    • 明確參數(shù)列表:計算哪兩個整數(shù)的和仗颈,并不清楚佛舱,但可以確定是整數(shù),參數(shù)列表可以定義兩個int類型的 變量挨决,由調(diào)用者調(diào)用方法時傳遞

public class Method_Demo2 {
    public static void main(String[] args) {
        // 調(diào)用方法 getSum 请祖,傳遞兩個整數(shù),這里傳遞的實際數(shù)據(jù)又稱為實際參數(shù)
        // 并接收方法計算后的結(jié)果脖祈,返回值
        int sum = getSum(5, 6);
        System.out.println(sum);
    }

    /* 定義計算兩個整數(shù)和的方法  
    返回值類型肆捕,計算結(jié)果是  int 
    參數(shù):不確定數(shù)據(jù)求和,定義int 參數(shù).參數(shù)又稱為形式參數(shù)  */
     public static int getSum(int a, int b) { 
        return a + b;
    }
}

程序執(zhí)行盖高,主方法main調(diào)用get Sum方法慎陵,傳遞了實際數(shù)據(jù)5和6,兩個變量a和b接收到的就是實際參數(shù)喻奥,并 將計算后的結(jié)果返回席纽,主方法main中的變量sum接收的就是方法的返回值。

2.4 調(diào)用方法的流程圖解

2.5 定義方法練習


練習一

比較兩個整數(shù)是否相同

  • 分析:定義方法實現(xiàn)功能撞蚕,需要有兩個明確润梯,即返回值參數(shù)列表

    • 明確返回值:比較整數(shù)甥厦,比較的結(jié)果只有兩種可能纺铭,相同或不同,因此結(jié)果是布爾類型刀疙,比較的結(jié)果相同為true彤蔽。

    • 明確參數(shù)列表:比較的兩個整數(shù)不確定,所以默認定義兩個int類型的參數(shù)庙洼。

public class Method_Demo3 {     
    public static void main(String[] args) {
        //調(diào)用方法compare顿痪,傳遞兩個整數(shù)  
        //并接收方法計算后的結(jié)果,布爾值  
        boolean bool = compare(3, 8);
        System.out.println(bool);
}

    /*
    定義比較兩個整數(shù)是否相同的方法
    返回值類型油够,比較的結(jié)果布爾類型
    參數(shù):不確定參與比較的兩個整數(shù)
    */
    public static boolean compare(int a, int b) { 
        if (a == b) {
            return true;
        } else { 
            return false;
        } 
    }
}
練習二

計算1+2+3...+100的和

  • 分析:定義方法實現(xiàn)功能蚁袭,需要有兩個明確,即返回值參數(shù)石咬。

    • 明確返回值:1~100的求和揩悄,計算后必然還是整數(shù),返回值類型是int
    • 明確參數(shù):需求中已知到計算的數(shù)據(jù)鬼悠,沒有未知的數(shù)據(jù)删性,不定義參數(shù)
public class Method_Demo4 {
    public static void main(String[] args) {
        //調(diào)用方法ge tSum
        //并接收方法計算后的結(jié)果亏娜,整數(shù)
        int sum = getSum();
        System.out.println(sum);
    }

    /*
    定義計算 1~100 的求和方法
    返回值類型,計算結(jié)果整數(shù)int
    參數(shù):沒有不確定數(shù)據(jù)
    */
    public static int getSum() {  
        //定義變量保存求和
        int sum = 0;
        //從1開始循環(huán)蹬挺,到100結(jié)束
        for (int i = 1; i <= 100; i++) {
             sum = sum + i;
        } 
        return sum;
    }
}
練習三

實現(xiàn)不定次數(shù)打印

  • 分析:定義方法實現(xiàn)功能维贺,需要有兩個明確,即返回值參數(shù)巴帮。

    • 明確返回值:方法中打印出HelloWorld即可溯泣,沒有計算結(jié)果,返回值類型void榕茧。

    • 明確參數(shù):打印幾次不清楚垃沦,參數(shù)定義一個整型參數(shù)

public class Method_Demo5 {
      public static void main(String[] args) {
      //調(diào)用方法printHelloWorld,傳遞整數(shù)  
          printHelloWorld(9);
      }

      /*
      定義打印HelloWorld方法
      返回值類型用押,計算沒有結(jié)果
      void 參數(shù):不確定打印幾次
      */
      public static void printHelloWorld(int n) {
          for (int i = 0; i < n; i++) {
              System.out.println("HelloWorld");
      }
   }
}
2.6 定義方法的注意事項
  • 定義位置肢簿,類中方法外面。
  • 返回值類型蜻拨,必須要和 return 語句返回的類型相同译仗,否則編譯失敗。
//返回值類型要求是in t
public static int getSum() {
    return 5;// 正確官觅,int 類型
    return 1.2;// 錯誤,類型不匹配
    return true;// 錯誤阐污,類型不匹配
}
  • 不能在return后面寫代碼休涤,return意味著方法結(jié)束,所有后面的代碼永遠不會執(zhí)行笛辟,屬于無效代碼功氨。
public static int getSum(int a,int b) { 
    return a + b;
    System.out.println("Hello");//錯誤,re turn已經(jīng)結(jié)束手幢,這里不會執(zhí)行捷凄,無效代碼
}

2.7 調(diào)用方法的三種形式

  • 直接調(diào)用:直接寫方法名調(diào)用
public static void main(String[] args) { 
      print();
}
public static void print() {
      System.out.println("方法被調(diào)用");
}
  • 賦值調(diào)用:調(diào)用方法围来,在方法前面定義變量跺涤,接收方法返回值
public static void main(String[] args) {
      int sum = getSum(5,6);
      System.out.println(sum);
}
public static int getSum(int a,int b) {
      return a + b;
}
  • 輸出語句調(diào)用:

    • 在輸出語句中調(diào)用方法System.out.println(方法名())
public static void main(String[] args) {
     System.out.println(getSum(5,6));
}
public static int getSum(int a,int b) {
     return a + b;
}
  • 不能用輸出語句調(diào)用void類型的方法监透。因為方法執(zhí)行后沒有結(jié)果桶错,也就打印不出任何內(nèi)容。
public static void main(String[] args) {
    System.out.println(printHello());//錯誤胀蛮,不能輸出語句調(diào)用void類型方法
}
public static void printHello() {
    System.out.println("Hello");
}

2.8 方法重載


  • 方法重載:指在同一個類中院刁,允許存在一個以上的同名方法,只要它們的參數(shù)列表不同即可粪狼,與修飾符和返 回值類型無關(guān)退腥。

  • 參數(shù)列表:個數(shù)不同任岸,數(shù)據(jù)類型不同,順序不同狡刘。

  • 重載方法調(diào)用:JVM通過方法的參數(shù)列表享潜,調(diào)用不同的方法。

2.9 方法重載練習


練習一

比較兩個數(shù)據(jù)是否相等颓帝。參數(shù)類型分別為兩個byte類型米碰,兩個short類型,兩個int類型购城,兩個long類型吕座,并在main方法中進行測試。

public class Method_Demo6 {
    public static void main(String[] args) {
        // 定義不同數(shù)據(jù)類型的變量
        byte a = 10;
        byte b = 20;
        short c = 10;
        short d = 20;
        int e = 10;
        int f = 10;
        long g = 10;
        long h = 20;
        // 調(diào)用
        System.out.println(compare(a, b));
        System.out.println(compare(c, d));
        System.out.println(compare(e, f));
        System.out.println(compare(g, h));
}

    // 兩個  byte 類型的
    public static boolean compare(byte a, byte b) {
        System.out.println("byte");
        return a == b;
    }

    // 兩個  short 類型的
    public static boolean compare(short a, short b) {
        System.out.println("short");
        return a == b;
    }

    // 兩個  int 類型的
    public static boolean compare(int a, int b) {
        System.out.println("int");
        return a == b;
}

    // 兩個  long 類型的
    public static boolean compare(long a, long b) {
        System.out.println("long");
        return a == b;  
    }
}
練習二

判斷哪些方法是重載關(guān)系瘪板。

public static void open(){} 
public static void open(int a){}
static void open(int a,int b){}
public static void open(double a,int b){} 
public static void open(int a,double b){} 
public void open(int i,double d){}
public static void OPEN(){}
public static void open(int i,int j){}
練習三

模擬輸出語句中的println方法效果吴趴,傳遞什么類型的數(shù)據(jù)就輸出什么類型的數(shù)據(jù),只允許定義一個方法名 println侮攀。

public class Method_Demo7 {
    public static void println(byte a) {
        System.out.println(a);
    }
    public static void println(short a) {
        System.out.println(a);
    }
    public static void println(int a) {
        System.out.println(a);
    }
    public static void println(long a) {
        System.out.println(a);
    }
    public static void println(float a) {
        System.out.println(a);
    }
    public static void println(double a){
        System.out.println(a);
    }
    public static void println(char a) {
        System.out.println(a);
    }
    public static void println(boolean a) {
        System.out.println(a);  
    }
    public static void println(String a) { 
        System.out.println(a);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锣枝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兰英,更是在濱河造成了極大的恐慌撇叁,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畦贸,死亡現(xiàn)場離奇詭異陨闹,居然都是意外死亡,警方通過查閱死者的電腦和手機薄坏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門趋厉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蟆技,“玉大人逾条,你說我怎么就攤上這事∠顾牵” “怎么了沈善?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵乡数,是天一觀的道長。 經(jīng)常有香客問我闻牡,道長瞳脓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任澈侠,我火速辦了婚禮劫侧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己烧栋,他們只是感情好写妥,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著审姓,像睡著了一般珍特。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魔吐,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天扎筒,我揣著相機與錄音,去河邊找鬼酬姆。 笑死嗜桌,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的辞色。 我是一名探鬼主播骨宠,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼相满!你這毒婦竟也來了层亿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤立美,失蹤者是張志新(化名)和其女友劉穎匿又,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體建蹄,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡碌更,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躲撰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡击费,死狀恐怖拢蛋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔫巩,我是刑警寧澤谆棱,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站圆仔,受9級特大地震影響垃瞧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坪郭,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一个从、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦嗦锐、人聲如沸嫌松。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萎羔。三九已至,卻和暖如春碳默,著一層夾襖步出監(jiān)牢的瞬間贾陷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工嘱根, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留髓废,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓儿子,卻偏偏與公主長得像瓦哎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子柔逼,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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