1. 程式人生 > >java學習之三——java基礎入門

java學習之三——java基礎入門

我會盡量讓這一章的內容不那麼枯燥,畢竟當初我是陷入了昏死狀態。。。(大神可以飄過~)———還沒死透的編者~

1、 計算?

編者自己認為有必要說一下的幾個計算符號
1. ++,--

++的意思就是自己加1;如:

int i = 1;
i++; //執行了i++以後,i的值就變成了2;
i--; //執行了i--之後,i的值就變成了0;
++i; //加號在前面就先自加1,在執行計算,加號在後面先執行計算,在自加1;
--i; //減號號在前面就先自減1,在執行計算,減號在後面先執行計算,在自減1;

為了方便理解,請看圖:

程式碼塊


執行完成
 
請仔細檢視程式碼和執行完成的結果。

我們來分析一下:
1. 變數a是i++,i在前面,上面我們說過,加號在後面就先執行計算,所以此次a=2;賦值完成後,i的值變成了3,最後自己加1自身。

2. 變數b是++i,加號在前面,所以先自身加1i就等於4了,然後在賦值給b,所以b=43. 最後輸出,所以a=2,b=4i=4

 
2. ===
稱為”恆等”,要求資料型別和數值都相等。如:

int a = 1;
long b = 2; 
if(a === b){
 //a與b恆等
 }else{
 //a與b不恆等
}

 
3. &&

短路與:可以提高效率,以後開發可以使用短路與,只要遇見錯誤就不執行短路與下面的判斷。如:

int a = 1;
int b = 2;
if(a==1&&b==1){
//ture的程式碼快
//如果a==1成立,就直接執行true的程式碼快,不用判斷b==1,直接跳過。
}else{
//false的程式碼快
}

 
4. ^

異或:相同為0,不同為1;

 
5. ()

括號:括號是計算中最長用到的,大家是不是還在為計算符號的先後等級而糾結。別掙扎了。沒有什麼是括號不能解決的!如:

float a = a+5*8%2-2;
//是不是一下子就懵了,這程式碼先後順序是啥啊,自己當初寫的,後來自己去看都不知道啥意思了。
//所以,強烈推薦大家多用括號。
float a = a+(5*(8%2))-2;
//例子舉得可能不是很好,但是大家記住就是,多用空格來寫計算的程式碼,你自己一目瞭然,別人看著也不頭昏!

2、 迴圈

講2個經常用到的哈~
1. while

while迴圈的用法:

int a = 1; //初始化一個變數,賦值為0;

while(a<=5){ //a<=5是這個while的條件,意為只要a<=5就繼續執行下面的程式碼塊操作。超過就不執行。
 a++; //a自身加1;
}

 
2. do…while

do…while和while差不多.唯一區別在於:
  1. do…while先執行程式碼塊內容一次,在判斷。
  2. while是先進行判斷,在執行程式碼快內容。
如:

//初始化一個變數,賦值為0;
int a = 1; 
//先執行下面的程式碼一次,在進行判斷。
do{ 
//a自身加1;
 a++; 
//輸出a自加1後的值;
 System.out.println(a);
}while(a<=5); //上面程式碼執行完成後,在判斷條件是否滿足,如果不滿足就繼續執行上面的程式碼塊內容,如果滿足了就結束迴圈。(注意:while括號後需要加分號)
//--------------------------------------
執行結果為:
2
3
4
5
6
//沒有1,因為一開始直接執行了a自加1.a就變成了2.

 
3、 跳出迴圈

在迴圈中可以使用continue和break可以跳出、終止迴圈。如:

程式碼1for(int i=1;i<=10;i++){
 if(i=5){
 break;
 }
}
System.out.println("執行完成");

程式碼2for(int i=1;i<=10;i++){
 if(i=5){
 continue;
 }
}
System.out.println("執行完成");

解釋:
//兩個程式碼的條件都是i自加到5的時候,才觸發成立條件。
//第一個程式碼的意思就是,一旦i為5了,直接跳出這個for迴圈,開始執行下面的程式碼,這裡下面的程式碼是輸出執行完成。
//第二個程式碼的意思是,一旦i為5了,就不執行當前迴圈,跳出當前迴圈次數,開始下一次的迴圈.也可以理解成,跳離離他最近的一個迴圈體.

2、 類、方法

在java中進行比較時,要注意分’內容比較’和’地址比較’。如:

int a = 1;
int b = 2;
if(a==b){
 System.out.println("一樣");
}else{
 System.out.println("不一樣");
}
//上面的程式碼我們可以看出原本是打算對a的值和b的值進行比較,看是否一致.
//但是這種實際是錯誤的,他們進行比較的是a在記憶體中開闢的地址,和b在記憶體中開闢的地址,來進行的比較。
//所以判斷出來,輸出的肯定是'不一樣'。

在這裡介紹一種在java中對字串進行匹配的方法函式:’equals’

String a = 'java';
if(a.equals("java")){
 System.out.println("相同");
}else{
 System.out.println("不相同");
}
//分析一下
//上面的輸出結果肯定是'相同'
//a.equals("這裡寫你對比的內容"),這裡對比的物件就是a.對比哪個就用哪個變數'name.equals("內容")'
//注意!!!!!!!!!!!!!!
//上面是常規寫法,但是我們不推薦那樣寫,推薦使用下面這種寫法
String a = 'java';
if("java".equals(a)){
 System.out.println("相同");
}else{
 System.out.println("不相同");
}
//要對比的內容寫在前面,對比的變數寫在後面。
//這種辦法老師說的時候為了避免什麼輸入空值,導致程式停止執行.我也記不太清除了。。。反正大家這樣寫最好!

3、 方法的過載

方法名相同,傳參過來的個數或者型別不同。
方法的過載和返回值無關,和返回值型別有關。如:

//我們在這方法名取為:help
public void help(){ //第一個方法,無傳入引數.
 System.out.println("A");
}
public void help(String num){ //第二個方法,方法名一樣,傳入1個字串引數.
 System.out.println(num+"B");
}
public void help(int num){ //第三個方法,方法名一樣,傳入一個整形引數.
 System.out.println(num+"C");
}

//上面這種方法名一樣的,但是各自執行的程式碼是不一樣的,接收的引數也是不一樣的。這就叫'過載'.
//比如呼叫的話
help(); //只是呼叫這個方法,就只會輸出A.
help("haha");//這個傳參了一個字串過去,結果會輸出hahaB.
help(123);//這個只傳了一個整形過去,結果會輸出123C.

//由此我們可以看出,過載就是自己判斷是否接收引數,以及接收引數的型別、個數等。

4、 this

this.name; (this代表是當前物件例項。)如:

class New{ //新建了一個類,類名為:New
 int a = 1; //這個新建一個成員變數,也就是全域性變數.
 public test(){
  int a =2; //區域性變數a
  System.out.println(this.a);//這裡使用this其實是呼叫的外部的成員變數a
 }
>}
//輸出結果為1.

5、 java編譯時生成說明書

做成文件的時候可能會遇到

1、 javadoc - d doc HellWorld.java //只生成文件
2、 javadoc -d doc -author HellWorld.java //生成文件時帶上作者資訊和版本號