S1java基礎學習筆記

来源:http://www.cnblogs.com/weiguangyi/archive/2016/01/22/5152589.html
-Advertisement-
Play Games

第一章 Java基礎程式目標:減輕現實生活中一類人的工作量,提高工作效率。學員最終可以書寫系統:超市管理系統,POS機系統等入庫單銷售單01.課程重點 五大重點:01.分支(選擇)結構 02.迴圈結構03.數組04.二重迴圈05.帶參方法02.什麼是電腦程式?解析:就是為了完成某一項工作而執行的一...


第一章  Java基礎

程式目標:減輕現實生活中一類人的工作量,提高工作效率。

學員最終可以書寫系統:

超市管理系統,POS機系統等

入庫單

銷售單

01.課程重點

   五大重點:    

01.分支(選擇)結構

    02.迴圈結構

03.數組

04.二重迴圈

05.帶參方法

02.什麼是電腦程式?

解析:就是為了完成某一項工作而執行的一系列有序指令的集合。

03.Java相關的技術有哪些?

JavaSE(桌面應用開發)  JavaEE(Web開發)

老師,你教教我如何判定一個程式是桌面程式還是web程式?

解析:瀏覽器:

IE

     搜狗瀏覽器(內核IE) 傲游  世界之窗  360 QQ  獵豹

FireFox

Google

Opera

IE不等於瀏覽器,只是瀏覽器的一種

判定規則:如果一個程式(軟體)不需要藉助瀏覽器就可以執行的,那麼就是桌面應用程式

反之,是web應用程式。

04.開發Java程式的步驟有哪些?

編寫,編譯,運行

05.Java程式的基本框架是什麼?

解析:外層框架和內層框架,詳細見後續講解。

06.Java的註釋類型有哪些?

單行://

多行:/**/

課程重點:

01.平臺和語言不是一碼事。一個平臺下可以運行多種語言編寫的代碼。

班級管理系統

宿舍管理系統

超市管理系統

國家電力管理系統

水費管理系統

OA管理系統

07.開發自己的第一個java程式

   01.配置環境變數

    001.對我的電腦點擊右鍵→屬性→高級系統設置→環境變數→系統變數,在系統變數中

查找有沒有名稱為path的變數名,如果有,直接點擊“編輯”按鈕,然後按“Home”鍵將

游標定位到第一個位置

   002.打開“我的電腦”→打開C盤→找到“Program Files文件夾”→Java→jdk1.7.0_17

→bin,複製路徑

   003.將複製的路徑粘貼到游標閃動的位置,然後緊跟一個分號(;)

   004.一路確定,直到所有視窗消失。

   005.打開“開始”→“運行”→輸入cmd→輸入javac回車,如果出現一連串中文,證明

環境變數配置成功。

  02.編寫代碼

    001.在D盤的根目錄創建一個名稱為Hello的尾碼名為java的文件。

    002.編寫代碼

  03.編譯

    通過javac命令將尾碼名為.java的文件編譯成尾碼名為.class的文件(位元組碼文件)

  04.運行

   通過java命令運行尾碼名為.class的文件,運行的時候,尾碼名不需要

     使用記事本編寫第一個Java應用步驟

     1.編寫源程式

     2.用javac命令將尾碼名為.java文件編譯成尾碼名為.class的文件

     3.使用java命令執行硬碟上尾碼名為.class,但是點和class都不要

     說有同學問,為什麼在把.class文件用java命令執行的時候,不需要尾碼?

     專業人士解析:

      當我們把.class文件交給JVM(Java虛擬機)的時候,它可以自動識別出尾碼。

     Java執行流程

     Happy.java---第一道編譯工作交給Java編譯器---->Happy.class(位元組碼文件)

     -------第二道編譯交給JVM----->二進位(CPU可以識別)

08.程式編碼規範

解析:作為一個專業的程式員,編碼規範如下:

    01.文件名,所有代碼的名字都必須是英文的,而且所有出現的標點符號都是在

英文半形下。

02.代碼要有縮進。

09.MyEclipse和Eclipse區別?

解析:MyEclipse(收費的)

      Eclipse(免費的)

MyEclipse功能比較強大

10.Java程式的執行機制

  解析:01.編譯過程

       就是將尾碼名為.java的文件通過java編譯器編譯成尾碼名為.class的文件,編譯命令

   javac

   02.執行(運行)過程

   就是通過java虛擬機(jvm)執行硬碟上尾碼名為.class的文件,執行的命令是java

wps97DC.tmp

05.public class HelloWorld{

  public static void main(String[] args){

    System.out.println("我的第一個Java程式");  

  }

}

我們書寫代碼是在內層框架中。

06.main方法是java程式的入口,所有程式都是從main方法的第一行代碼開始執行的。

07.println()換行列印輸出內容,print()不換行

11.轉義字元

\n:換行

\t:一系列空格

考試啊親:第二章學完後

09.java中的註釋

單行註釋//

//我是高貴的註釋:我有特權,編譯器不會理會我

    //幾十萬行代碼: 3個月後  方便團隊成員閱讀,方便自己閱讀

多行註釋:/**/

10.在java中,包名中每一個點都對應硬碟上的一層文件夾

11.在真正的開發中,咱們書寫的代碼所做的單元測試,都是由程式員來完成的。

第二道測試是由專業的測試人員完成的。

  Bug   

作業環節:

01.日記一篇

02.前兩章單詞

03.課後第3和第四題

回到頂部

第二章  變數  數據類型  運算符

1.變數

  重點:01.變數就是一塊空間(用旅館的例子做類比)

        02.變數三要素:數據類型 變數名 變數值

03.由於電腦記錄位置的時候不是很好找(0x0156892321)變數名(num)。

二層 左手邊 第三間(203)

2.數據類型

int

char

String

double 

char類型只能存儲單個字元,如果你想存儲一個空字元,要打一個空格。

3.命名規範,如不規範,買糖吃

  1.包名所有字母均小寫。

  2.類名首字母大寫

  3.變數首字母小寫,後續有含義的單詞首字母大寫。例如stuName  stuAge

  4.首字母只能是字母,下劃線和$符號中的一個,後續的內容可以是數字。   

    註意點:變數名不能和關鍵字重覆

4.The local variable title may not have been initialized

   局部變數"title"沒有被初始化(賦值)

定義變數的兩種方式

001.先聲明,再賦值

    int num;

num=5;

002.聲明的同時並賦值

int num=5;

5.表達式概念:

   用運算符將操作數連接起來的式子就稱為表達式a+b

6.賦值運算符(=)

  算術運算符:+ - * / %

  自增運算符

  int num=5;

  num++;//等價於 num=num+1;

  //++在前和在後的區別

  System.out.println(num);

7.類型轉換

  1.自動類型轉換

     規則1:

在一個表達式中,如果有一個操作數是double類型,那麼整個表達式會被自動提升會double類型

     規則2:類型相容,目標類型>源類型     

  2.強制類型轉換

   規則:類型相容,目標類型<源類型

8.Scanner用法

  如何接收用戶從鍵盤上錄入的內容?

  路人甲說:接收int怎麼搞?

  專業人士解析:input.nextInt()

  路人乙收:如何接收double類型?

  專業人士解析:input.nextDouble();

  星爺問:如何接收字元串?

  專業人士解析:input.next()

  使用Scanner分三步:

  01.先導入包import java.util.Scanner; (進入到商場)

  02.創建一個掃描儀對象  Scanner input=new Scanner(System.in); 

  02.啟動掃描按鈕       String name=input.next();

wps97ED.tmp

wps97EE.tmp

9.個十百千問題

作業環節:

  01.日記

  02.第二章總結

  03.第二章課後除了類型轉換題目

  04.開通自己的Blogs

回到頂部

第三章 if選擇結構

Int num=70;

If(num>90){

  //執行

}else{

}

        //www.cnblogs.com

        //http://www.oschina.net/

        //csdn

        //http://www.iteye.com/magazines

        //51aspx源碼網

01.分支結構

從這一章開始我們書寫的代碼可能不是從上到下順序執行,就是程式的流程可以

發生跳轉。這種結構分支結構。之前我們所有代碼都是順序執行。

02.邏輯運算符

&&:邏輯與  

   *表達式1&&表達式2 同真為真,其餘為假

||:邏輯或  

   *:表達式1&&表達式2 有真必真,其餘為假

  !:邏輯非

   *:取反

03.那些年,我們犯的錯

     01.錯誤:javScore cannot be resolved

  解決方案:可能性有兩種

            *:就是變數名書寫錯誤

*:無法訪問到該變數

02.不堪入目的在類裡面直接寫代碼,代碼沒有出現在main方法中

04.if-else選擇結構

     語法:if(){

}else{

}

05. java中產生隨機數方法

  (int)(Math.random()*10); 

  範圍:從0到1,能取到0,但是取不到1

06.多重if選擇結構

  if(條件){

  }else if(){

  }else{

  }

  多重if各個分支如果順序互換,語法不報錯,但是會影響程式的運行結果 。

07.在java中,比較兩個字元串是否相同,用的是equals,而不是==號。

08.嵌套if

  在一個ifelse選擇結構中,又嵌套了另外一個完成的ifelse選擇結構

  if(){

     if(){

}else{

}

  }else{

  }

作業時間:

1.第四章 Switch選擇結構預習

2.日記本

3.單詞3和4章

4.今天講的

   產生1到3之間的隨機數

   If-else

   多重if

   嵌套if

wps97FE.tmp

wps97FF.tmp

wps9810.tmp

回到頂部

第四章  Switch選擇結構

01.使用Switch語句常見錯誤:

1.case後必加break,防止case穿透

2.case後面的變數必須各不相同

3.default塊順序可以變動,但要註意其執行順序。通常,default塊放在末尾,也可以省略

4.switch後面小括弧中表達式的值必須是整型或字元型。

02.通過hasNextInt()方法來判定用戶錄入的內容是否 是數字

04.登陸素材

        System.out.println("********歡迎進入微冷的雨購物管理系統************");

System.out.println("菜單功能:");

System.out.println("\t1.登陸系統");

System.out.println("\t2.退出系統");

System.out.println("請輸入您要操作的功能,輸入數字即可,親!!!!");

System.out.println("歡迎進入主界面,該軟體為您提供了豐富的功能");

System.out.println("1.客戶信息管理");

System.out.println("2.購物結算");

System.out.println("3.真情回饋");

System.out.println("4.註銷");

                System.out.println("是否參加優惠換購活動:");

System.out.println("1:滿50元,加2元換購百事可樂飲料1瓶");

System.out.println("2:滿100元,加3元換購500ml可樂一瓶");

System.out.println("3:滿100元,加10元換購5公斤麵粉");

System.out.println("4:滿200元,加10元可換購1個蘇泊爾炒菜鍋");

System.out.println("5:滿200元,加20元可換購歐萊雅爽膚水一瓶");

System.out.println("0:不換購");

System.out.print("請選擇:");

  作業時間

     01.15分鐘提問單詞和各種if

     02.頒發前3名獎品

     03.自行作業

00.預習第五章 迴圈結構

01.日記本寫一篇

02.單詞

03.博客文章(if-Switch選擇結構)

wps9821.tmp

02.wps9822.tmp

wps9832.tmp

回到頂部

第五章 迴圈結構(一)

1.之前學習的兩種結構

   01.順序結構

   02.分支結構

   03.迴圈結構

2.While迴圈結構

   *while迴圈

迴圈四要素:01.初始變數  02.迴圈條件  03.改變迭代變數的值 04.迴圈體

   *:通過while迴圈解決“張浩寫1000遍好好學習的問題”

*:字元串作為迴圈條件

     老師每天檢查張浩的學習任務是否合格,如果不合格,則繼續進行。

老師給張浩安排的每天的學習任務為:上午閱讀教材,學習理論部分,下午上機編程,掌握代碼部分。

*:初始變數為多個值的迴圈

2012年培養學員25萬人,每年增長25%,請問按此增長速度,到哪一年培訓學員人數將達到100萬人?

3.練習

  *計算100之內的偶數之和

  *查詢商品價格

  *結賬和找零

4.do while迴圈結構

answer cannot be resolved(解析)

do{

}while(條件表達式);

do{

System.out.println("已經完成編碼");

System.out.println("合格了嗎?(y/n)");

answer=input.next();  //n

    }while(answer.equals("n"));

do-while迴圈的執行機制:

首先do所在的{}裡面的內容執行一遍,然後拿變數answer和固定的字元串"n"做對比,如果

條件成立,那麼繼續執行do{}中的內容,如果不成立,那麼就退出整個do-while迴圈。

5.斷點調試步驟

設置斷點

啟動調試

單步運行

調試啟動後,運行到設置斷點的代碼行將停住

點擊F6可以單步運行程式,觀察程式運行過程

觀察變數

單步運行時可以在“變數”視圖中看到變數當前的值

發現問題

修正代碼,重新運行

解決問題

二、程式調試的目的:找出缺陷原因,修正缺陷

三、程式調試的主要方法:設置斷點、單步執行、觀察變數

wps9843.tmp

wps9844.tmp

回到頂部

第六章  迴圈結構(二)

1.for的出現是為了精簡之前while和do-while迴圈的語法,將之前散亂排列的其中三個要素融合到了for迴圈固定的語法結構中

For(表達式1;表達式2;表達式3){

  表達式1:初始變數

  表達式2:迴圈條件

  表達式3:迭代變數 

}

作業:第七章項目

wps9854.tmp

日記

回到頂部

第八章  數組

1. 數組的定義:

解析:數組就是一組相同數據類型的集合,可以看成是一個承載一堆

相同類型數據的一個箱子。

2.定義一個變數相當於在記憶體上占據一塊空間

  定義一個數組相當於在記憶體上占據一連串記憶體空間

3.通過length可以獲取數組中一共有幾個元素

4.案例

int[] nums=new int[3];

數組的類型其實上就是數組當中每個元素的類型。

String[] names=new String[3];//數組的聲明

names[0]="張靚穎";

names[1]="劉德華";

names[2]="周星星";//賦值

//names[3]="鞏俐";//下標越界

for(int i=0;i<names.length;i++){

  System.out.println(names[i]);//使用

}

double[] nums=new double[3];

nums[0]=1.0;

nums[1]=2.0;

nums[2]=3.0;

for(int i=0;i<nums.length;i++){

  System.out.println(nums[i]);

}

2.數組四要素

001.標識符:指的是數組的名字

002.數組元素:數組中的每一項數據都稱為數組的一個元素

003.數組下標:某個元素在數據中的位置或者編號

004.數組類型:每一個元素的類型

6.註意點:數組一旦定義,不可以再改變

7.使用數組的優點?

解析:001.代碼量減少了

      002.方便查找

8.定義數組的時候通過new關鍵字開闢空間

*********************************************************

我們的第三節課

3.會使用三種方式來對數組賦值

方式一:通過下標賦值

    names[0]

方式二:通過在聲明的同時直接通過{}賦值

int[] nums={1,2,3};

方式三:迴圈賦值(藉助數組的下標)

02.會通過迴圈的方式給數組元素賦值

03.常見錯誤

04.數組排序(升序)

05.打擂比較演算法

  if(num>max){

    max=num;

  }

01.回顧數組

目的:為了方便的操作數據類型相同的一組數據,我們出現了數組。

因為使用數組可以簡化我們對數據的存取操作。

int[] nums=new int[3];

String[] names=new String[3];

double[]  numbers=new double[3];

方式二:通過{}直接賦值

int[] nums={1,2,3,4};

*:如何獲取數組中元素的個數?

解析:length

*:通過for迴圈逐個遍曆數組中每個元素,然後輸出

for(int i=0;i<nums.length;i++){

   System.out.println(nums[i]);

}

04購物金額結算

05.數組排序

如何對一些列數字進行降序排列??

解析:sun公司並沒有提供一個方法專門用於降序排列,但是我們可以轉換

一下思路,先對數組中元素進行升序排列,然後降序輸出數組中元素。

031.補充問題:

在我們自己的類中,可以對多個系統類進行導入使用。例如可同時使用Arrays和Scanner

06.打擂比較演算法

07.插入演算法(專題來講)

wps9865.tmp

兩套代碼:

Eg1:

public static void main(String[] args) {

// 我有一個按照升序排列的int類型數組

//現在我想將35扔到該數組中,但是得保證整個數組依然是升序排序

int[] nums={10,20,30,40};

int insertNum=25;

//01.列印原數組的內容

for (int i = 0; i < nums.length; i++) {

System.out.print(nums[i]+"\t");

}

//先大笑三聲,終於出錯了

//怕的是你想讓程式,

System.out.println("");

//01.定義一個長度為原數組長度+1的數組

int[] newNums=new int[nums.length+1];

//02.將舊數組的第i項的值賦值給新數組

for (int i = 0; i < nums.length; i++) {

newNums[i]=nums[i];

}

//_10__  __20__  _30__   __40__  __0__

//03.找位置

int index=newNums.length-1;//應該將35扔到什麼位置

for (int i = 0; i < newNums.length; i++) {

if(newNums[i]>insertNum){

//當前的i就是我要找的位置

//所以我將i的值賦值給index偷偷記錄起來

index=i;

break;

}                     //[3]

}                         //35

//_10__  __20__  _30__   __40__  __0__

//04.元素後移,但是需要倒著移,將[i-1]的值賦值給第[i]

for (int i = newNums.length-1; i >index; i--) {

newNums[i]=newNums[i-1];

}

//05.給index位置重新賦值

newNums[index]=insertNum;

for (int i = 0; i < newNums.length; i++) {

System.out.print(newNums[i]+"\t");

}

}

Eg2:字元串相關

//插入演算法

String[] songs={"Island", "Ocean",  "Pretty",  "Sun"};

for (int i = 0; i < songs.length; i++) {

System.out.print(songs[i]+"\t");

}

System.out.println("");

String insertSong="zoo";

//01.定義一個新數組,長度=舊數組長度+1

String[] newsongs=new String[songs.length+1];

//02.迴圈賦值

for (int i=0;i<songs.length;i++) {

newsongs[i]=songs[i];

}

//03.找位置

int index=newsongs.length-1;//找的位置

for (int i = 0; i < newsongs.length-1; i++) {

//半年時間理解一句話::

//如果一個對象是null,那麼是不能使用它的任何屬性和方法的

if (newsongs[i].compareToIgnoreCase(insertSong)>0) {

index=i;

break;

}

}

//04.迴圈後移,倒著移

for (int i = newsongs.length-1; i >index; i--) {

newsongs[i]=newsongs[i-1];

}

//05.重新給index位置賦值

newsongs [index]=insertSong;

for (int i = 0; i < newsongs.length; i++) {

System.out.print(newsongs[i]+"\t");

}

作業:1.日記本

      2.第八章預習(排序,打擂演算法 ,插入演算法)

     3.第七章項目

     4.上機練習1和2

3.我認為讀書、首先要思考,要深入地思考。不思考,讀書讀多少遍也沒有用。鉛筆、紙,我個人認為都是讀書時,非常重要的條件。閱讀到一定階段,就會思考,就會形成不同的主題。 隨之,就會進行主題閱讀。要學會有效地,系統地進行知識的連接。從不同的角度去創造性地思考問題。 
    4. 我平時工作很忙、下班後很累,回家後就想休息。我如何解決這種局面、首先要積極主動地去思考。不要讓自己的每一天,平平淡淡地度過。自己主動地、持續地去創造一些幸福快樂的時刻、巔峰的時刻。 不要讓自己的每一天碌碌無為。我的改進方法是,下班後,抽出一個小時去跑步,感受運動的巔峰時刻。這樣下班後,就不很疲勞。學習、工作、休息就會非常有效率。 
   5. 沒有時間來學習。 就學習本身而言,始終是最重要的事情,當然學習的方式,有很多種。 多反思,多問“為什麼”,往往會找到問題的答案。我在使用番茄鐘工作法之前,上班很累,效率很低,加班很多。使用番茄鐘工作法之後,加班逐漸地少了。 
   6. 要學以致用,學習有目標,我在敏捷個人的年度回顧中曾提到了,像游泳時的狀態,不游就會掉下去。沒有目標就是這種情況。更具體的目標,就是我們面臨的一個個的具體的問題。 

第九章 二重迴圈

回到頂部

第九章  二重迴圈

01.數組中插入元素的思想

   關鍵是步驟必須清楚

   001.將舊數組中每個元素複製到新數組中

   002.找位置:找到用戶輸入的歌曲song應插入的位置

        核心思想:將舊數組中第i項的值與song對比,如果

        大於0,那麼證明該位置(index)就是我們要找的位置。

   003.index之後的元素後移,這裡要註意,迴圈必須倒序執行。

       一定要註意迴圈條件,避免數組下標越界。

   004.給index位置賦值為song

02.二重迴圈

1.直角三角形

*

**

***

****

*****

*號(j)          行號(i)

1                 1

2                 2

3                 3

for(i=1;i<=3;i++){

   for(j=1;j<=i;j++){

   System.out.print("*");

   }

   System.out.println("");

}

*

***

*****

*******

*********

      i(行號)             j(*號個數)

         1                     1

2                     3

3                     5

4                     7

5                     9

j=2*i-1

*****

****

***

**

*

       i(行號)             j(*號個數)

         1                     5

2                     4

3                     3

4                     2

5                     1

i+j=6

  j=6-i

等腰三角形

    *

   ***

  *****

*******

*********

for(int i=1;i<=5;i++){

   //第一個迴圈控制空格

   for(int j=1;j<=5-i;j++){

     System.out.print(" ");

   }

   //第二個迴圈控制*號

   for(int k=1;i<=2*i-1;k++){

     System.out.print("*");

   }

   System.out.println("");

}

解決問題的核心就是求i和j的關係

   行數(i)               空格數(j)                   星號(k)

     1                      4 1

     2 3 3

     3 2 5

     4 1 7

     5 0 9

i和j,i和k的關係

  j=5-i

  k=2*i-1

菱形列印

   *

  ***

*****

*******

*****

  ***

   *

解決問題的核心就是求i和j的關係

   行數(i)     空格數(j)      星號(k)  

i和j的關係

wps9876.tmp

*****

***

  *

***

*****

在二重迴圈中,如果內層迴圈中有break關鍵字,那麼她只能跳出當前迴圈,不能跳出外層迴圈。

            *********

           *       *

          *********

第十一章  類和對象

回到頂部

第十一章 類和對象

1.什麼是對象?

解析:是不是對面有一個美女你“狂敲鍵盤”就是面向對象編程呢??

  真正的對象:在現實的生活中,你肉眼能看的見或者摸得著的所有的物體都可以看成是對象,但是

  判定是對象還是類有一個核心點,就是

    *對象是能唯一區別於其他事物的一個個體

2類的概念:

  具有相同屬性(靜態特征)和行為(操作)的一系列事物的統稱。

3.類和對象的關係

解析:類是對象的模板,對象是類的實例

解析:public class Student{

        //內容

public String name;

public int age;

public String address;

//方法

public void SayHello(){

  System.out.println("早上好!");

}

      }

規範:在java中,定義類必須首字母大寫。

3.如何創建一個類的對象?

解析:Student stu=new Student();

       stu.name="張靚穎";

   stu.age=100;

   stu.address="北京某地";

   stu.SayHello();

4.大家眼中的對象是神馬???

解析:”另一位“,”客戶“

你自身 ,一個水杯 ,顯示器,

5.對象:現實生活中,能看得到,摸得著的有區別於其他事物獨有特征的東西我們就可以稱之為對象 。

每一個對象都有自身特有的特征,這些特征包括動態和靜態兩個方面。

動態就稱為操作(方法) ,靜態特征就稱為屬性。

6.Java,C#都是面向對象的語言,C語言面向過程

7.登陸:十一

  註冊

  購物車添加商品  9.5

  訂單形成

8.oo:Object 

oop:Object Oriented Programming,OOP,面向對象編程

OOD:Object Oriented Designer:面向對象設計

架構師

分析師

小胖:12306購票的車次查詢

小張:12306購票的網上支付功能

數值類型數據賦值圖

wps9886.tmp

數組賦值圖

wps9897.tmp

04.所有的類名首字母都要大寫

回到頂部

第十二章 類的無參方法

1.定義方法的語法:5要素

訪問修飾符  返回值  方法名(參數){

  方法體

}

2.如果在同一類中,那麼方法A調用方法B,直接通過方法名就可以調用。

如果在類A中,想要調用類B中的方法say(),那麼需要先創建出類B的對象,然後調用。

wps9898.tmpwps98A8.tmpwps98A9.tmp

2.局部變數和成員變數

作用域不同

局部變數的作用域僅限於定義它的方法

成員變數的作用域在整個類內部都是可見的

初始值不同

Java會給成員變數一個初始值

Java不會給局部變數賦予初始值

3.JavaDOC

講解要點:JavaDoc能夠從源代碼中抽取類、屬性、方法等的註釋,形成一個配套的API幫助文檔。使用Eclipse生成JavaDoc文檔註釋有兩種方法:

1.使用命令行方式生成
javadoc -d doc -subpackages mine

參數 說明

-d 指定API文檔的輸出目錄,預設是當前目錄。建議總是指定該參數。

-sourcepath 指定源代碼路徑,預設是當前目錄。 此參數通常是必須的。

-subpackages 以遞歸的方式處理各子包。關鍵參數!如果不使用本參數,每次只能處理一個子包(或需手工列出所有子包)。

wps98BA.tmp

wps98BB.tmp

wps98BC.tmp

再加上-author才輸出對應的作者信息

wps98BD.tmp

註:以上示例要求 javadoc.exe 所在路徑位於系統環境變數“PATH”中。

支付寶:介面

支付寶做方法定義 的

二流的公司,做方法調用

作業環節

01.第十四章和第15章預習

02.課後作業題

03.日記

04.Blog文章,下次聽寫帶返回值的方法

第十三章 人機猜拳系統

回到頂部

第十三章 人機猜拳系統

1.項目概述

由於這是大家第一次接觸項目,希望每個人都能做到問心無愧。認真,仔細的對待這次項目。還有,希望大家能將每一次課後作業和上機練習都看做是在做一個項目 。

2.項目參與者圖解分析

wps98CE.tmp

3.人機猜拳運行效果圖

wps98CF.tmp

wps98DF.tmp

4.思路分析:

1.寫一個電腦類(Computer)

  要點:屬性

01.電腦昵稱 name

02.電腦得分 score

方法

01.機器出拳 showFist()

關鍵點:

01.生成1到3的隨機數

        方法一:int result=(int)(Math.random()*10)%3+1;

方法二:引入Random類

import java.util.Random;

Random random=new Random();

int ran=random.nextInt(3)+1;

02.用switch判斷生成的隨機數

如果為1:剪刀

如果為2:石頭

如果為3:布

default:未知錯誤

這裡不用考慮輸入其他數字的情況,

因為數字不是用戶輸入的,而是

通過隨機數生成的,只能是1,2,3

03.最後需要將選擇的值返回

2.寫一個玩家類(Person)

要點:同上

但是要註意一點:此時switch中是用戶輸入的值,要做

對應的處理,如果用戶輸入錯誤,

讓用戶迴圈輸入

3.寫一個裁判類

要點:01. Person person;//用戶

Computer computer;//電腦

int count;//對戰次數

//對值進行初始化

public void initial(){

person=new Person();

computer=new Computer();

count=0;

}

02.繪製游戲菜單

     001.先調用初始化方法initial

                     002.然後繪製菜單

System.out.println("---------歡迎進入微冷的雨猜拳系統---------");

System.out.println("\n\t\t******************");

System.out.println("\n\t\t***游戲開始了 ********");

System.out.println("\n\t\t******************");

System.out.println("出拳規則:1.剪刀2.石頭3.布");

//選擇對方角色

System.out.print("\n請選擇對方角色(1.劉德華2.周星星3.鞏俐):");

Scanner input=new Scanner(System.in);

int role=input.nextInt();

      003.保存用戶選擇的角色,賦值給computer類的name屬性

004.分別調用機器和玩家的出拳方法,然後對出拳結果比較,

005.顯示比賽結果(之前先要計算比賽結果)

4.調用裁判類輸出結果

第十四章   帶參方法

回到頂部

第十四章 帶參方法

00.帶參方法的語法

public  int  say(String name){

}

01.調用帶參方法時,有哪些註意事項?

解析:實參類型,數量,順序必須與形參(方法定義中的參數)一致。

Public class Student{

   Public void say(String name ,int age){

  }

}

Public class MyMain(){

   Pulbic static void main(String[] args){

     Student stu=new Student();

     Stu.say(“李小龍”,20); 

  }

}

02.包的作用是什麼?

解析:為了避免命名衝突,為了更好組織類,方便查找。

包的用途:1.方便管理

          2.快速檢索

          3.避免衝突

03.帶參方法案例

wps98F0.tmp

wps9900.tmp

//單行註釋Ctrl+/  多行註釋:Ctrl+Shift+/  取消多行註釋:Ctrl+Shift+\

添加學生 :帶一個參數的方法

顯示學生信息 無參

按區間查詢學生信息  3個參數()

修改學生信息   2個參數(String oldName,String newName)

數組作為參數

對象(自定義類型作為參數)

wps9901.tmp

wps9902.tmp

Null是不能調用它的任何屬性和方法的

如果包a中有一個類Student,想要在包b中使用Student類,必須加上導包語句

Import a.Student;

wps9913.tmpwps9924.tmpwps9934.tmpwps9935.tmpwps9965.tmp

第十五章 字元串

回到頂部

第十五章 字元串

01.如何定義一個字元串?

  解析:String name="張靚穎";

        String name2=new String("鞏俐");

02.字元串常用方法

01.length():返回一個字元串中的字元總個數

       案例:

String word="我愛北京天安門, 我愛中國毛爺爺";

//統計word中的字元總個數

System.out.println("長度是"+word.length());

02.equals():判定兩個字元串存儲的內容是否一致,如果相同,返回true。

String name="001";

String name2="001";

if (name.equals(name2)) {

System.out.println("equals");

}else {

System.out.println("不相等");

}

//輸出equals

03.equalsIgnoreCase():忽略大小寫。

Scanner input = new Scanner(System.in);

while(true){

System.out.print("請輸入用戶名:");

String name  = input.next();

System.out.print("密碼:");

String mima = input.next();

if(name.equalsIgnoreCase("Tom")&&mima.equals("1234")){

System.out.println("登陸成功");

}else{

System.out.println("登錄失敗");

}

}

04.toLowerCase():將一個字元串全部轉換成小寫。

05.toUpperCase():將一個字元串全部轉化成大寫。

06.name.conCat(String str):

作用:將str拼接到name變數上,形成一個大字元串返回。

String wordLeft="今天看到很多人都倒下了";

String wordRight="死很容易,活著很難";

String result=wordLeft+wordRight;

//方式二:

String result2=wordLeft.concat(wordRight);

System.out.println(result2);

07.substring(int beginIndex)

  參數:從第幾個位置開始截取,從0開始數,一直街取到字元串結束

  返回值:截取後的內容

案例:

  String name=”中國是一個偉大的國家”;

  String result=name.substring(8);

  Substring(int beginIndex,int endIndex)

參數一:從字元串的第幾個位置開始截取,從0開始數

參數二:截取到第幾個位置結束 ,從1開始數

案例 :

String name="中國是一個偉大的國家,我愛你";

//我想得到:”我愛你“   "國家"

String result=name.substring(8,10);

System.out.println(result);

08.indexof(“字元串”)獲取一個特定字元串在大字元串中的位置。

  參數:傳入一個字元串

  返回值:傳入的字元串在大字元串中的位置。

案例 :

String name=“[email protected]”;

Int index=  Name.indexof(”@”);

09.lastIndexof(“要查找的字元串”):返回最後一次出現某個字元串的位置

10.trim():只能移除兩端的空格,中間的空格無法移除

11.Split(“分割符”)

返回的結果是一個字元串數組

如何定義一個StringBuffer類的對象?

  StringBuffer sb=new StringBuffer;

System.out.println("歡 迎 使 用 迷 你 DVD 管 理 器");

System.out.println("-------------------------------------");

System.out.println("0. 借出排行榜");

System.out.println("1. 新 增 DVD");

System.out.println("2. 查 看 DVD");

System.out.println("3. 刪 除 DVD");

System.out.println("4. 借 出 DVD");

     System.out.println("5. 歸 還 DVD");

System.out.println("6. 退         出 ");

System.out.print("--------------------------------------\n");

System.out.print("請選擇: ");

Scanner input = new Scanner(System.in);


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這裡提供一個最簡單的Web Service的實現,基於JAX-WS。除了jdk不需要任何其他jar包,使用Eclipse提供的Web Services Explorer訪問服務。
  • 剛開始調用微信小店api的時候,可能大家會遇到問題。系統總是提示system error,歸根結底還是發送的參數不正確。下麵給出幾個調用例子:例子寫得不全。AccessToken); $ResData = cUrlRequest($url,'{"status": '.$st...
  • 大一下學期的自我目標(要求包含對大一上學期的總結、對面向對象課程完成後學習到的能力的預期,對面向對象課程的期望、對編程和專業能力的願景規劃)在大學的第一個學期,相信很多人都是在得過且過度過,我也不例外。比起學習,對於宅男們來說游戲更是一種打發時間的好手段。好吧,轉入正題:對大一上學期的總結,其實還是...
  • 簡單寫了一個PHP的圖像處理類庫,雖然功能比較少,但是目前也沒用到太高級的,以後用到了再填吧,或者哪位給點建議加上什麼功能,或者有什麼需求可以跟我說,我有時間加上,如果哪位對這個類庫進行了擴展的話,還麻煩拿出來大家分享一下,代碼現在是能用就行,考慮的東西不是很多,有什麼更好的建議請告訴我,謝謝Img...
  • http://www.cnblogs.com/BeginMan/p/3193081.html一、Python的排序1、reversed()這個很好理解,reversed英文意思就是:adj. 顛倒的;相反的;(判決等)撤銷的print list(reversed(['dream','a','have...
  • ------------------------------------------------------------------------------------------------------------ /** 第一種方式:繼承Thread類 * 1. 定義...
  • 前言由於我的筆記本有點問題,所以這周系統包括所有硬碟全部重裝了,原來的Linux虛擬機都沒了,因此才有了這篇文章和各位朋友們分享。由於Linux環境的優越性(開源、低成本、安全性好、網路功能強大),除了某些小型的網站為了方便起見部署在Windows環境下外,基本所有網站的伺服器都是使用的Linux環...
  • 一般我們習慣的c++記憶體配置如下class Foo { ... };Foo* pf = new Foo; delete pf; 這裡的new實際上分為兩部分執行。首先是先用::operator new配置記憶體,然後執行Foo::Foo()構造對象內容。delete也一樣,先運行Foo::~Foo(....
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...