標籤:
Java語言是由類和對象組成的,其對象和類又是由變數和方法組成,而方法,又包含了語句和運算式。
1. 變數
Java語言提供了兩種變數:成員變數和局部變數
- 成員變數:是在方法體外的類中聲明和定義的,可以被自動初始化
- 局部變數:是在方法中聲明和定義的,不能被自動初始化,方法執行完,局部變數也就不存在了
在Java中,使用任何變數之前都需要對變數進行建立,建立變數實際上就是對變數的聲明過程,需要指明變數類型和變數名。
1 int a;2 boolean b;3 char c = ‘A‘;
1 public class DataDemo { 2 3 int a; 4 public void test() 5 { 6 boolean b=false; 7 char c=‘\0‘; 8 } 9 10 public static void main(String[] args) {11 float f=0;12 String s=null;13 14 }15 16 }
成員變數對應的自動初始化值:
類型變數 |
初始值 |
位元組型 byte |
0 |
整型 int |
0 |
單精確度型 fload |
0.0f |
字元型 char |
‘\u0000‘ |
字串型 String |
null |
短整型 short |
0 |
長整型 long |
0L |
雙精確度型 double |
0.0d |
布爾型 boolean |
false |
2. 4類基礎資料型別 (Elementary Data Type)
Java資料類型:
- 布爾型
- 整型: 整型,短整型,長整型,位元組型
- 字元型
- 浮點型:單精確度型,雙精確度型
String不是基礎資料型別 (Elementary Data Type)。String類所定義的變數是一個對象,而不是簡單類型。與簡單類型不同,類的對象含有自己的方法,是複雜類型。
布爾型(boolean),用於邏輯條件判斷,只含兩個值,真(true)、假(false)。需要注意的是,在C語言中,1和true等價,0和false等價,但在Java中,boolean變數的取值只可能是true或false。
3. 算數運算子
模數運算(%)中,若運算元包含正負數,則結果的加號或減號與左運算元一致。 例如: -8%3=-2, 8%(-3)=2
4. switch語句
public class SwitchTest { public static void main(String[] args) { int student[] = {95, 85, 75, 65, 55}; for(int i=0; i<5; i++) { switch(student[i]/10) { case 9: System.out.println("Student" + i + "‘s result is A!"); break; case 8: System.out.println("Student" + i + "‘s result is B!"); break; case 7: System.out.println("Student" + i + "‘s result is C!"); break; case 6: System.out.println("Student" + i + "‘s result is D!"); break; default: System.out.println("Student" + i + "‘s result is F!"); } } }}
Student0‘s result is A!
Student1‘s result is B!
Student2‘s result is C!
Student3‘s result is D!
Student4‘s result is F!
public class SwitchTest { public static void main(String[] args) { int student[] = {95, 85, 75, 65, 55}; for(int i=0; i<5; i++) { switch(student[i]/10) { case 9: System.out.println("Student" + i + "‘s result is A!"); case 8: System.out.println("Student" + i + "‘s result is B!"); case 7: System.out.println("Student" + i + "‘s result is C!"); case 6: System.out.println("Student" + i + "‘s result is D!"); default: System.out.println("Student" + i + "‘s result is F!"); } } }}
Student0‘s result is A!
Student0‘s result is B!
Student0‘s result is C!
Student0‘s result is D!
Student0‘s result is F!
Student1‘s result is B!
Student1‘s result is C!
Student1‘s result is D!
Student1‘s result is F!
Student2‘s result is C!
Student2‘s result is D!
Student2‘s result is F!
Student3‘s result is D!
Student3‘s result is F!
Student4‘s result is F!
注意:當已經進入一個case分支,同時這個case語句中並沒有使用break,那麼以後的每個case都不用匹配就可以直接進入,知道遇到break為止。
5. 實戰練習
- 使用for迴圈來實現對1~99之間奇數的求和
import javax.swing.JOptionPane;public class OddSum { public static void main(String[] args) { int sum=0; for(int i=1; i<=99; i++) { if(i%2!=0) { sum=sum+i; } } JOptionPane.showMessageDialog(null, "The sum is "+ sum, "Total Even Integer from 1 to 99", JOptionPane.INFORMATION_MESSAGE); }}
- switch語句與for迴圈結合
public class TestSwitch{ int i=0, w=0; public TestSwitch() { for(; i<=5; i++) { switch (i) { case 3: w+=1; case 0: w+=1; case 1: w+=1; continue; case 2: w+=1; case 4: w+=1; default: w+=2; } System.out.print(" "+w); } } public static void main(String[] args) { TestSwitch testSwitch=new TestSwitch(); }}
7 13 15
- 利用多重for迴圈,用“*”繪製一個直角三角形,並使用訊息對話方塊顯示出來
import javax.swing.JOptionPane;public class MultipleLoop1 { public static void main(String[] args) { String out=""; loop: for(int row=1; row<=5; row++) { out+="\n"; for(int column=1; column<+6; column++) { if(column>row) continue loop; out+="* "; } } JOptionPane.showMessageDialog(null, out, "Test multiply loop 1", JOptionPane.INFORMATION_MESSAGE); }}
public class MultiplyLoop2 { public static void main(String[] args) { MultiplyLoop2 multiplyLoop2=new MultiplyLoop2(); multiplyLoop2.print(11); } public void print(int n) { int temp=0; for(int i=0; i< n; i++) { for(int j=0; j<Math.abs(n/2-i);j++) { System.out.print(" "); } if(i<=n/2) { temp=i; } else { temp=n-i-1; } for(int k=0; k<(2*temp +1); k++) { System.out.print("*"); } System.out.println(); } }}
Java:基本文法