Java基础之----流程控制

一,分支结构

关键字:if、else

1.1 单 if 结构

格式:

if(条件表达式){
 语句
}

逻辑:判断条件表达式的结果,结果为true,执行代码块中的语句;反之,不执行

1.2 标准的 if - else 结构

格式:

if(条件表达式){
 语句1
}else{
 语句2
}

逻辑:判断条件表达式的结果,结果为true,执行 if 代码块中的语句;反之,执行 else 代码块中的语句

1.3 多条件的 if-else 结构

格式:

if(条件表达式1){
 语句1
}else if(条件表达式2){
 语句2
}else if(条件表达式3){
 语句3
}
...

逻辑:依次判断每一个条件表达式,当有一个条件表达式的结果为true时,执行相应代码块,其他的条件表达式不再判断。

if(条件表达式1){
 语句1
}else if(条件表达式2){
 语句2
}else if(条件表达式3){
 语句3
}
...
else{
 语句n
}

逻辑:依次判断每一个条件表达式,当有一个条件表达式的结果为true时,执行相应代码块,其他的条件表达式不再判断,如果没有任何一个条件表达式的结果为true,就执行最后一个else代码块中的语句n

1.4 嵌套的 if-else 结构
double score = 50;
if(score >= 0 && score <= 100){
 if(score >= 90){
     System.out.println("A");
 }else if(score >= 80){
     System.out.println("B");
 }else if(score >= 70){
     System.out.println("C");
 }else if(score >= 60){
     System.out.println("D");
 }else{
     System.out.println("E");
 }
}else{
 System.out.println("成绩有误");
}

逻辑:只有外层的条件满足了,才会进入内层结构

注:

  1. 如果if或者else所对应的代码块中只有一条语句,那么大括号可以省略
  2. else 不能单独使用

二,选择结构

关键字:switch、case、break、default

格式:

switch(表达式){
case1:
  语句1
  break;
case2:
  语句2
  break;
case3:
  语句3
  break;
...
default:
  语句n
  break;
}

逻辑:将表达式的结果与每一个case后的值进行比较,当某一个case后值与表达式的结果相同值,执行相应代码,如果没有任何一个case后的值与表达式的结果相同值,则执行default中的代码

注:

  1. 表达式结果的类型必须和case后值的类型一致
  2. 每一个case后的值必须是唯一的
  3. case和default的顺序是任意的
  4. default不是必需的
  5. 表达式结果的类型只能是:byte、short、int、char、String

break:当程序运行到break关键字时,会跳出当前的整个switch-case

删除break后,switch-case结构会具有穿透性

三,循环结构

循环必须具备的4个要素:

  1. 条件表达式
  2. 循环体
  3. 初始化的值
  4. 步进表达式
3.1 while

格式:

while(条件表达式){
 循环体
}

逻辑:判断条件表达式的结果,如果是true,执行循环体,再次判断条件,直到条件表达式的结果为false,结束循环。

3.2 do-while

格式:

do{
 循环体
}while(条件表达式);

逻辑:先执行一次循环体,再判断条件表达式,如果是true,执行循环体,再次判断条件,直到条件表达式的结果为false,结束循环。

3.3 for

格式:

for(1初始化;2条件表达式;3步进表达式){
 4循环体
}

执行流程:1243243243…2

3.4 break 和 continue

break:可以用在switch-case和循环 中,用于跳出整个结构

continue:只能用在循环中,用于跳过当前这次循环,继续下一次循环

3.5 死循环

概念:死循环就是无限循环

格式:

while(true){

}
do{

}while(true);
for(;;){

}
3.6 循环嵌套

补,Random、Scanner

1. Random

概念:Random是系统提供了一个专门用于获取随机数的一个类,在这个类中提供了一些获取随机数的方法

使用步骤:

  1. 创建对象

    Random r = new random();
    
  2. 调用方法

    int num1 = r.nextInt();// 随机一个int范围内的数
    int num2 = r.nextInt(10);// 随机一个[0,10)范围内的数
    double num3 = r.nextDouble();// 随机一个[0.0,1.0)
    

注:随机 [a,b] 可以写成:

r.nextInt(b-a+1)+a
2. Scanner

概念:Scanner是系统提供的一个专门用于接收键盘输入的类

使用步骤:

  1. 创建对象

    Scanner sc = new Scanner(System.in);
    
  2. 调用方法

    int num1 = sc.nextInt();//接收键盘输入int值
    double num2 = sc.nextDouble();//接收键盘输入double值
    String str1 = sc.next();//接收键盘输入的字符串
    String str2 = sc.nextLine();//接收键盘输入的字符串
    

注:

  1. 必须保证输入的类型与调用方法所能接收的类型一致,否则会发生InputMismatchException
  2. next():不能接收空白字符
  3. nextLine():可以接收空白字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值