流程控制语句

1.1程序执行流程

1.1分支语句

1.1.1 if.....

		int a = 59;
        if(a >= 60)System.out.println("你考试及格了!");  

1.1.2 if...else...

int a = 59;

        if (a >= 60){
            System.out.println("你考试及格了!");
        }else{
            System.out.println("你考试不及格!");
        }

1.1.3 if ....else if .....

int a = 3500;
        if(a < 1000){
            System.out.println("倔强青铜");
        }else if(a >= 1000 && a < 2000){
            System.out.println("不屈白银");
        }else if(a >= 2000 && a < 3000){
            System.out.println("荣耀黄金");
        }else if(a >= 3000 && a < 4000){
            System.out.println("华贵铂金");
        }else if(a >= 4000 && a < 5000){
            System.out.println("璀璨钻石");
        }else if(a >= 5000 && a < 6000){
            System.out.println("超凡打湿");
        }else{
            System.out.println("最强王者");
        }

1.1.3 switch

除了if 语句,Java中还提供了switch语句用于分支判断,switch语句通常用于对某些特定值的分支。switch中间的变量只能是int,byte/short/char填到中间是在不损失精度的情况下向上转型为int,string通过底层算法(hash)转换成了int

语法

switch(变量){

case 值1:

执行语句;

break;

case 值2:

default:

执行语句

}

案例

根据月份,判断季节

public static String m3(int month){
        String j = null;
        switch (month){
            case 3:
            case 4:
            case 5:
                j = "春天";
                break;
            case 6:
            case 7:
            case 8:
                j = "夏天";
                break;
            case 9:
            case 10:
            case 11:
                j = "秋天";
                break;
            case 12:
            case 1:
            case 2:
                j = "冬天";
                break;
            default:
                j = "输入错误,没有这个月份";
        }
        
        return j;
    }

递归

方法自己调用自己

实例:从1输出到100

public static int a = 1;
    public static void m1(){
        a++;
        System.out.println(a);
        if (a > 100){
            return;
        }
        m1();
    }

2扩展:标准输入&随机数

2.1标准输入(System.in)之Scanner类

Java为了获取用户的输入,提供了一个scanner工具类,获取系统输入 :System.in

nextInt ( )    获取用户输入的整数 

next()          获取用户输入的字符串

public static void m3() {

    System.out.println("请输入一个数字");
    Scanner sc = new Scanner(System.in);
    int a =sc.nextInt();
    System.out.println(a);
}

2.2随机数

随机数是由数学类Math提供的一个静态方法random()生成的,生成的随机数范围0-1之间的浮点数

public static void m4() {
        double d = Math.random();
        int z = (int)(d*10);
        System.out.println(d);
        System.out.println(z);
}

练习题:

1.先随机一个数字

2.让用户一个数字

3.输入之后让输入的数字与随机数相比较,如果比随机数大,则提示大了,小了就提示小了,并提示用户重新输入数字,相等就提示猜对了,整个程序结束

 public static void m5(){
        System.out.println("请入你猜的数字:");
        int input = sc.nextInt();
        if(input > ran){
            System.out.println("你输入的数字太大,请重新输入!");
        }else if(input < ran){
            System.out.println("你输入的数字太小,请重新输入!");
        }else{
            System.out.println("恭喜你,猜对了,这个数字就是"+ran);
            return;
        }
        m5();
    }

3循环语句

3.1循环概述

在实际开发中经常需要实现一些需要反复执行的代码,例如:遍历一个数组,业务逻辑代码的重复执行,增加测试数据等,因此Java中提供了常见的循环解决方法:

1 for循环

2 while循环

3 do ....while循环

3.2循环语句分类

3.2.1循环语句 - for

for 循环是常见的一种循环,特点是常用与循环次数已知的情况下

语法

for()初始变量;循环条件;步长) {
        //循环体
}

for:循环关键字

初始变量:初始值表达式,例如 int i=0

循环条件:循环语句执行的依据,条件满足,则执行循环,不满足则结束循环,例如: i<10

步长: 每次循环执行后对初始值的增减,例如 i++或i--

循环体: 需要反复执行的内容

案例代码

for(int i=0;i<10000;i++) {
    System.out.println("helloworld"+i);
    }

以上代码表示意思:

        循环输出helloworld  10000次

3.2.2 循环语句- whlie

while循环是另一种循环的体现形式,一般用于对于循环次数不定的业务(比如对于集合中的元素的遍历),while循环的执行次数一般是0-n次

语法

while(布尔表达式){
    //循环体
}

  判断是否满足循环条件

  若满足则执行循环体,不满足则不执行

案例

int t =0;
//初始变量
int i= 1;
//判断是否满足循环条件
while(i<=1000) {
    System.out.println(i);
    t +=i;
    //步进
    i++;
}
   System.out.println("计算结果:"+t);



3.2.3循环语句  do...while

do ...while循环是基于while循环的一个变种,do....while循环不论条件是否满足至少会执行一次,即do...while的执行次数是1-n次

语法

do{
    //循环体
}while(布尔表达式)

 直接进入循环执行一次

  判断是否满足循环条件

案例

int i=100;
do{
    System.out.println(i);
    i--;
}while(i>=1);

3.3循环结束 break&continue

对于循环语句,通常需要执行到满足结束条件时才对循环结束,如果需要在循环期间根据一些特定的业务需求结束程序,则可以使用break和continue关键字来对循环结果或者跳跃

break关键字

break最早出现在switch语句中用于结束case(防止case穿透),在循环语句中break用于结束整个循环.

int i=0;
while(true) {
    if(i>50){
        break;
    }
    System.out.println(i);
    i++;
}

以上代码含义:

循环从1,2,3....开始输出,当i的值大于50时,循环结束。

 break关键字在while 循环中出现几率较大

continue关键字

continue关键字主要用于循环语句中跳过一次循环,后续的循环不受影响

for(int i=1;i<=100;i++) {
    if(i%2 !=0) {
    continue;
     }
    System.out.println(i);
}

关于循环中断的补充

        除了使用break和continue之外,return也可以用于结束循环,实际return用于结束方法

在for循环中return和break的区别

终止循环,终止循环的运行 break; 终止整个方法的运行 return;

3.4嵌套循环

嵌套循环即在循环内部嵌套其他循环,常见于:对二维数组的遍历,功能菜单的输出,算法题等

//行
for(int i=1;i<10;i++) {
    //列
    for(int j=1;j<=i;j++) {
       //输出
        System.out.print(j+"*"+i+"="+(i*j)+" ");
    }
    //换行
    System.out.println();
}

练习:    输出一个指定行数的等腰三角形

public class Demo{

    
    public static void printShape(int row) {
    //行
    for(int i=1;i<=row;i++) {
        //空格
        for(int j=row;j>= i ;j--) {
            System.out.print(" ");
            }
        for(int k=1 ;k <=2*i-1;k++) {
            System.out.print("*");
            }
        //换行
        System.out.println();
    }

}


    public static void main(String[] args) {

        printShape(100);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值