1. 程式人生 > >程式流程和異常

程式流程和異常

  • 順序結構
    在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)

    (p-c));
    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>輸入一個數字,求他是幾位數,並且順序輸出,逆序輸出

在這裡插入圖片描述

在這裡插入圖片描述