程式流程和異常
-
順序結構
在Java程式中,語句執行的基本順序按照各語句初選的位置先後順序執行,稱之為順序結構,它是最簡單的結構語句,它的執行順序是自上而下,依次執行的。import java .util.Scanner;
public class SeqStatement {
public static void main(String[] args) {
double a,b,c,p,area;
Scanner scan = new Scanner (System.in);
System.out.printin(“請輸入三角形的邊A:”);
String s = scan.nextline();
a = Double.parseDouble(s);
System.out.printin(“請輸入三角形的邊B:”);
s = scan.nextline();
b= Double.parseDouble(s);
System.out.printin(“請輸入三角形的邊C:”);
s = scan.nextline();
c= Double.parseDouble(s);
System.out.println("三角形的三邊分別是:a = %6.1f, b = %6.1f, c = %6.1f, \n ",a,b,c);
p = (a+b+c)\2;
area = Math.sqrt(p*(p-a)(p-b)
System.out.println("三角形的面積 = %8.1f\n,“area);
}
- 選擇結構
選擇結構根據條件來控制程式碼的執行分支,也稱分支結構。Java中包括兩種控制分支的條件語句:if語句和switch語句。
if :
if(條件表示式)
語句/語句塊;
(1)條件表示式可以是關係表示式、邏輯表示式、算數表示式等;
(2)語句/語句塊可以是單個語句,也可以是多個語句。如果要執行多個語句,則需要使用花括號({})將這些語句組合成為一個程式碼塊;
例子如下:
public class SingleDecision{
public static void main(String[] args) {
int a,b,t;
a = (int)(Math.random() * 101);
b = (int)(Math.random() * 101);
System.out.println(“原始值: a = %d, b = %d\n”,a,b);
if (a < b) {
t = a;
a = b;
b = t;
}
System.out.println(“降序值: a = %d, b = %d\n”,a,b);
}
}
if— else
if(條件表示式)
語句/語句塊1;
else
語句/語句塊2;
當條件表示式的值為真(ture)時,執行if語句侯後面的語句1,否則執行else後的語句2.
例子: 比較兩個數的大小
if巢狀 :
在if語句中包含一個或多個if語句,稱其為if的巢狀。
if(條件表示式1){
if(條件表示式11){
語句1;
} else{
語句2;
}
} else{
if(條件表示式12)
語句3;
} else
語句4;}
為了正確表達if語句的巢狀關係,使用花括號確定if和else的配對關係。
例子:判斷某一年是否是潤年
switch :
switch語句是一個控制語句,它通過將控制傳遞給其體內的case語句來處理多個選擇和列舉。
switch(控制表示式){
case 常量表達式 1;
語句序列1;
break;
case 常量表達式 2
語句序列2;
break;
…
case 常量表達式n
語句序列n;
break;
default;
語句序列n+1;
break;
}
for迴圈 :
for 迴圈語句是計數型迴圈語句,一般用於已知迴圈次數的情況,所以也稱為定次迴圈。for迴圈是計算一個初始化表示式序列,當某個條件為真時,重複執行相關的迴圈語句序列並計算一個迭代表達式序列。
for(初始化設定表示式;迴圈執行條件;迴圈變數的增減值){
迴圈語句序列;
}
例子:求1 ~ 100的和,以及1 ~ 100中所有基數的和、偶數的和。
掃描類Scanner :
Java.uti.lScanner是Java5的新特徵。
1、建立Scanner物件
Scanner sc = new.Scanner(System.in);
建立物件後,執行緒會阻塞,使控制檯處於等待輸入的狀態,當輸入完畢,按回車鍵以後,所輸入的字串內容會全部傳給Scanner物件。
2、讀取檔案
一般就是通過字串、輸入流、檔案等來直接構建Scanner物件。
3、用法
(1)Scanner預設使用空格符作為分割符來分割文字,也允許指定新的分隔符。
(2)next()方法輸出的字串沒有空格,而nextLine()方法輸出的帶空格。因為nextLine()方法的結束符是回車鍵,可以返回回車鍵之間的所有字元。
String str = scanner.next() 遇到空格就結束
String str = scanner.nextLine() 識別空格
Scanner物件呼叫下列方法,讀取使用者在命令列中輸入的各種資料型別:
next.Byte()
next.Double()
next.Float()
next.Int()
next.Line()
next.Long()
next.Short()
求斐波那契數列的前40項的和 :
用for迴圈產生20個隨機數(10-20)
求一個數字的二進位制數有幾個1
5>輸入一個數字,求他是幾位數,並且順序輸出,逆序輸出