流程控制语句:顺序结构、选择结构、循环结构

顺序结构

代码从主函数开始逐行向下运行
是一种宏观的代码运行结构

选择结构

程序员在写代码时碰到了多中可能发生的情况时,会使用选择结构来完成程序。
选择结构主要有两种
if 语句和switch语句
if 和 switch 的区别:
if 既可以对一个单一的值进行判断,也可以对一个区间的值进行判断;switch 只能判断单一的值

if语句

双分支

在这里插入图片描述

基本格式:
if(条件表达式){
   	
    当条件为true时执行的代码;
}else{
   
    当条件为false时执行的代码;
}

单分支

在这里插入图片描述

单行格式:
if(条件表达式){
   	
    当条件为true时执行的代码;
}

多分支

在这里插入图片描述

嵌套if-else形式:
if(条件表达式1){
   
    条件1true时执行的代码;
    if(条件表达式2){
   
        条件2true时执行的代码;
        ………………
        ………………
    }else 条件2false时执行的代码;
}else 条件1false时执行的代码;
if-else-if形式
if(条件表达式1){
   
    条件1true是执行的代码;
}else if(条件表达式2){
   
    条件2为真时执行的代码;
}else if(条件表达式3){
   
    条件3为真时执行的代码;
}………………
 ………………

switch语句

形如下图是switch语句的工作原理

在这里插入图片描述

一般用于多选情况下
switch所要求的变量的数据类型:byte short int char String 枚举

switch(变量){
   
    case1:
          执行语句1break;
    case2:
          执行语句2break;
    case3:
          执行语句3break;
    ........
    deafult:
          执行语句n;
          break;
}

循环结构

循环结构是程序员在编程过程中遇到重复
性问题时会使用循环结构来解决问题
循环结构主要包括两方面内容,for循环和while循环
循环的四要素:
1.循环初始化
指的就是循环从什么时候开始执行
2.循环继续条件
什么情况循环继续执行/反过来说,循环何时结束
3.循环体
就是我们需要被多次循环执行的代码块
4.循环的周期,步长,间距
当前循环和下一次循环之间的变更

for循环

for (初始操作;循环鏈续条件;每次迭代后的操作){
   
 	循环体;
  }

在这里插入图片描述

while循环

while 循环的语法如下 : while( 循环继缞条件) {
    
	循环体;
} 

在这里插入图片描述

do-while

do-while是先将do后面的循环体执行之后在进入循环

do{
     
	循环体;  
} while ( 循环继续条件)

在这里插入图片描述

循环的选用

for 循环是已知次数的循环,所以当次数已知时使用for循环
while循环是已知结束条件的循环,所以当已知循环结束条件时使用while循环

习题

1、
在这里插入图片描述

/*
数据:a,b,c,d,e,f
操作:提示用户输入、判断方程组是否有解、计算方程组的解、输出
步骤:1、提示用户输入a,b,c,d,e,f
2、判断方程是否有解,按格式输出
 */
import java.util.Scanner;
class ProblemTwo{
   
    public static void main(String[] args){
   
        Scanner scanner=new Scanner(System.in);
        //1、提示用户输入a,b,c,d,e,f
        System.out.print("Enter a,b,c,d,e,f: ");
        double a=scanner.nextDouble();
        double b=scanner.nextDouble();
        double c=scanner.nextDouble();
        double d=scanner.nextDouble();
        double e=scanner.nextDouble();
        double f=scanner.nextDouble();
        //2、判断方程是否有解,按格式输出
        double m= a * d - b * c;
        if(m==0)
            System.out.println("The equation has no soluntion");
        else
            System.out.println("x is "+((e*d-b*f)/m)+" and y is "+((a*f-e*c)/m));
    }
}

运行结果

Enter a,b,c,d,e,f: 9.0 4.0 3.0 -5.0 -6.0 -21.0
x is -2.0 and y is 3.0
Enter a,b,c,d,e,f: 1.0 2.0 2.0 4.0 4.0 5.0 
The equation has no soluntion

2、
在这里插入图片描述

/*
数据:用户输入的两位数number1、彩票的两位数number2、
    用户输入两位数的个位num1和十位num2、彩票的个位nu1、nu2
指令:获得num1、num2、nu1、nu2    判断两个数是否完全相同   判断所有数字是否匹配   
    判断一个数字与彩票上的一个数字匹配  输出
步骤:1、提示用户输入一个两位数number1
2、使计算机产生一个10~99之间的随机数number2
3、分离number1和number2的十位和个位
4、判断数字是否完全相同、是否匹配、是否有一个数字匹配并且输出
注意:需要使用到随机数产生随机数的方法
1、Math.random()产生[0,1)之间的一个dobule型数
2、Random类
*/ 
import java.util.Scanner;
class ProblemFive{
   
    public static void main(String[] args){
   
        Scanner scanner=new Scanner(System.in);
        //1、提示用户输入一个两位数number1
        System.out.print("请输入一个两位数:");
        int number1=scanner.nextInt();
        //2、使计算机产生一个10~99之间的随机数number2
        int number2=(int)(Math.random()*90+10);
        //3、分离number1和number2的十位和个位
        int num1=number1%10;
        int num2=number1/10;
        int nu1=number2%10;
        int nu2=number2/10;
        //4、判断数字是否完全相同、是否匹配、是否有一个数字匹配并且输出
        if(number1==number2){
   
            System.out.println("恭喜您获得10000美元奖金!");
        }else if(num1==nu2&&num2==nu1){
   
            System.out.println("恭喜您获得3000美元奖金!");
        }else if(num1==nu1||num1==nu2||num2==nu1||num2==nu2){
   
            System.out.println("恭喜您获得1000美元奖金!");
        }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值