Java语言中的程序流程控制
(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中,控制流程立即跳到布尔表达式