標籤:
(1. 流程式控制制
有三種基本技術可以改變程式的控制流程程:
A.調用方法 :將導致控制流程程離開當前方法,轉移到被調用的方法。
B.選擇 : a. if / else 語句
b. switch語句
c. 三目運算
C.迴圈 :a. while 迴圈
b. for 迴圈
c. do / while 迴圈
註:所有的控制結構都包含了某種類型的布爾判斷
(2. 布爾邏輯(布爾值:true, false)
在組合布林運算式時,有四種類型的邏輯:
A. 和(&&):每個運算式都為真時。
B. 或(||):只要其中的一個運算式為真。
C. 異或
D. 非(!):對一個布林運算式取反。
(3. 布林運算子
A. 短路和(&&)
B. 和(&)
C. 短路或(|| )
D. 或(|)
E. 異或(^)
F. 非(!)
(4. 選擇語句
A. 單分支語句:if(){}
B. 雙分支語句:if(){}else{}
C. 多分支語句:if(){}else if(){}else{}
D. switch 語句:一般用作於等值條件判斷
switch(變數){
case 值:語句;break;
case 值:語句;break;
default:
}
註:1.switch語句中只能是byte(位元組型)、short(短整型)、int(整型)、char(字元型).
2.每一個case常量運算式都必須不相同
3.case和default位置不固定
(5. 迴圈語句
A. while: 先判斷,後迴圈
B. do / while : 先迴圈,後判斷,迴圈至少要執行一次
C. for: 先判斷,後迴圈,它是一種指定次數迴圈的控制結構
例如1.:有一分數序列:2/1,3/2,5/3.....求出這個數列的前20項之和。
public class One{
public static void main(String[] args){
int den=1;//分母
int num=2;//分子
double sum=0;
int temp=0;
for(int i=0;i<20;i++){
temp=num;
num=den+num;
den=temp;
sum=sum+(double)num/den;
}
System.out.printfln("20項之和為:"+sum);
// System.out.printf("20項之和為:%.2f",sum);
}
}
例如2.隨機產生一個0~99之間的隨機數,然後開始猜數字遊戲
import java.util.Scanner;
public class Three{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//產生隨機數
int random = (int)(Math.random()*100);
System.out.println(random);
int c=0;
int temp=0;
while(c==0){
System.out.print("請輸入你猜測的數字:");
int num = input.nextInt();
temp++;
if(random==num){
System.out.println("恭喜你猜對了!");
c=1;
}
else if(random>num){
System.out.println("小了點,再猜");
}
else if(random<num){
System.out.println("大了點,再猜");
}
}
System.out.println("總共猜的次數為:"+temp);
}
}
(6. 跳躍陳述式
A. break語句:可以用於任何迴圈控制結構,從而使迴圈立即終止
B. continue語句: a. continue在for迴圈中,將導致控制流程程立即跳到更新語句
b. continue在while和do/while中,控制流程程立即跳到布林運算式
Java語言中的程式流程式控制制