程序流程控制

Java程序流程
摘要由CSDN通过智能技术生成

Java基础语法(二)

程序流程控制

一、顺序结构

解释:程序默认语句,按照代码先后顺序执行语句

二、分支结构

1.if分支

解释:根据判定结果(真或假)决定执行每个分支的代码。

三种格式

(1)if语句
公式1:
	if(条件表达式){
		代码
	}
(2)if else语句
公式2:
	if(条件表达式){
		代码
	}else{
		代码
	}
(3)if else if语句
公式3:
	if(条件表达式){
		代码
	}else if {
		
	}

2.switch分支

解释:也是匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好。

流程:

  1. 先执行表达式的值,拿着这个值与case后面的值进行匹配;
  2. 匹配哪个case的值为true就执行那个case,遇到break就跳出switch
  3. 如果case的值都不匹配则执行default代码。

格式:

switch(表达式){
	case 值1:
		执行代码1;
		break;
	case 值2:
		执行代码2;
		break;
...
	case 值n-1:
		执行代码n-1;
		break;
	default:
		执行代码n;
		//break
}
2.1 if、switch两者适合的场景
  • if语句功能大于switch语句;
  • if适合做区间匹配;
  • switch适合做:值匹配的分支选择、代码优雅。
2.2 switch的注意事项
  • 表达式类型只能是byte,int,char,JDK5开始支持枚举,JDk7开始支持String、不支持double、float、long;
  • case给出的值不允许重复,且只能是字面量,不能是变量。
  • 不要忘记写break,否则会出现穿透现象。
2.3 switch的穿透性

解释:如果代码执行到没有写break的case块,执行完后将直接进入下一个case块(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。

三、循环结构

1.for循环

格式

for (初始化语句; 循环语句 ;迭代语句){
	循环体语句;
}

流程图:

false
true
初始化语句
循环条件
循环结束
循环体语句
迭代语句

2.while循环

格式:

初始化语句;
while(循环条件){
	循环体语句;
	迭代语句;
}

注意:没有迭代语句一直进入循环

什么时候用for循环,什么时候用while循环。

  1. 功能上是完全一样的,for能解决的while也能解决,反之亦然。
  2. 使用规范:知道循环几次:使用for;不知道循环几次建议使用while;

3.do- while循环

先执行再判断循环条件

格式:

初始化语句
do {
	循环语句;
	迭代语句;
}while(循环条件)

流程图:

false
true
初始化语句
循环体语句
迭代语句
循环条件
循环结束

do-while循环的特点:一定会先执行一次循环体。

for循环中,控制循环的变量只在循环中可以使用。while循环中,控制循环的变量在循环后还可以继续使用。

4.死循环

一直循环的执行下去,如果没有干预不会停止下来。

写法:

for(;;){
	System.out.println("hello word");
}
//经典做法
while(true){
	System.out.println("hello word");
}
	
do{
	System.out.println("hello word");
}while(true);

嵌套循环

循环中包含循环

public static void main(String[] args) {
        //目标:理解嵌套循环的执行流程
        //场景:对自己喜欢的固定说几天我爱你,每天说3句我爱你
        Scanner sc= new Scanner(System.in);
        System.out.println("你要爱我几天就说几天");
        int love=sc.nextInt();
        int count=17;
        for (int i = 0; i < love; i++) {
            System.out.println("-----这是第"+count+"天你说爱我");
            for (int j = 0; j < 3; j++) {
                System.out.println("我爱你");
            }
            count++;
        }
    }

特点:外部循环每执行一次,内部循环全部执行完一次。

四、跳转关键字

break:跳出并结束当前所在的循环的执行。

continue:用于跳出当前循环的当次执行,进入下一次循环。

注意事项:

  1. break:只能用于结束所在循环,或者结束所在switch分支的执行
  2. continue:只能在循环中进行使用。

五、随机数random类。

作用:用于在程序中获取随机数技术。

使用步骤:

  1. 导包:告诉程序去JDK的哪个包找随机数技术

  2. 写一行代码代表得到随机数对象。

  3. 调用随机数的功能获得0-9的随机数

    package com.itheima.random;
    import java.util.Random;
    public class RandomDemo1 {
        public static void main(String[] args) {
            //学会使用java提供的随机数类Random
            //1.导包
            //2.创建随机数对象
            Random r =new Random();
            //3.调用nextInt(方法),可以返回一个整型的随机数给你
            for (int i =0;i<20;i++) {
                int we=r.nextInt(20);
                System.out.println(we);
            }
        }
    }
    

注意:nextInt(n)功能只能生成:0至n-1之间的随机数,不包含n

random生成区间随机数的技巧:减加法

package com.itheima.random;
import java.util.Random;
import java.util.Scanner;

public class RandomDemo2 {
    public static void main(String[] args) {
        Random r = new Random();
        int luck=r.nextInt(100)+1;
        Scanner sc=new Scanner(System.in);
        while (true){
            System.out.println("请输入一个整数");
            int guess=sc.nextInt();
            if (guess>luck){
                System.out.println("你猜测的数字过大");
            }else if (guess<luck){
                System.out.println("你猜的数字过小");
            }else {
                System.out.println("你猜对了");
                break;
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值