JAVASE(二)循环if > for > while > do -while循环讲解

JAVASE(二)

程序流程控制

结构化程序设计中规定的三种基本流程结构,分别为:顺序结构,分支结构,循环结构。

img

顺序结构:

程序是由上而下执行。

public class demo1 {
    int num1 = 12;
    int num2 = num1 + 2;
}

分支结构:

分支语句if-else

if语句三种格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

if语句循环demo案例1:

需求:

从键盘上输入一个整数,判断该数是否是素数。(1不是素数,素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数)

思路:
定义一个for循环和辅助变量i,并给i赋初始值2,i的边界<=z,并且增量为1。第一步先在for循环中判断输入的整数z对i取余数,如果余数为0,则跳出循环。第二步判断循环结束时i与z的值是否相等,如果相等,则该数是素数,否则不是素数。

public class demo1 {
    public static void main(String[] args) {
        Scanner scss = new Scanner(System.in);
        System.out.println("请输入整数z:");
        int z = scss.nextInt();  //这里就是接收用户输入的整数参数,复制给z
        int i;
        for (i = 2; i <= z; i++) {
            if (z % i == 0) break; //遇到整除就跳出循环
        }
        if (i==z){
            System.out.println(z+"是整数");
        }else {
            System.out.println(z+"不是整数");
        }
    }
}

结果:
在这里插入图片描述

if语句循环demo案例2:

描述:
我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”(假定每种鸡都必须至少有一只)
思路:
设鸡翁、鸡母、鸡雏分别为x,y,z只,分析题目可以知道(1)5x+3y+1/3z=100;(2)x<20,y<33(3)z=100-x-y;因此通过设置两个for循环实现,当满足条件5x+3*y+z/3==100时,输出可能的结果。

public class demo2 {
/*
描述:
编写程序实现系统产生0-50之间的随机数,用户通过键盘输入猜测随机数,并在每次输入后提示用户是否猜对,如果猜大了,会提示“抱歉!猜大了,请继续猜”,否则会提示“抱歉!猜小了,请继续猜,可以大一点哦”,直到完全猜对,会提示“你真厉害,猜对了,游戏结束”。
提示:
产生随机数需要导入:import java.util.Random;
使用:Random rd = new Random();int i = rd.nextInt(50);
思路
设置两个变量i,j分别表示随机数和玩家输入的数。然后通过while循环中嵌套三个if-else语句实现对两个变量大小的比较。猜对后给a赋值1退出循环。
 */
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    Random rd = new Random();
    int i = rd.nextInt(50);
    int j;
    int a=0;
    while (a == 0){
        System.out.println("请输入猜测数:");
        j=sc.nextInt();
        if (i>j){
            System.out.println("抱歉!猜小了,请继续猜,可以大一点哦");
        }else if (i<j){
            System.out.println("抱歉!猜大了,请继续猜");
        }
        else if (i==j){
            System.out.println("你真厉害,猜对了,游戏结束");
            a=1;
        }
    }
}
}

结果:
在这里插入图片描述

分支语句Switch=case
public class SwitchTest {
    public static void main(String args[]) {
        int i = 1;
        switch (i) {
        case 0:
            System.out.println("one");
            break;
        case 1:
            System.out.println("two");
            break;
        default:
            System.out.println("other");
            break;
        }
    }
}

1.switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);

2.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
3.default语句是可以在Switch循环语句最后面设置强制退出循环提示异常。

循环结构:

循环语句由四个组成部分

1.初始化部分

2.循环条件部分

3.循环体部分

4.迭代部分

循环结构:for循环

public class ForLoop {
    public static void main(String args[]) {
        int result = 0;
        for (int i = 1; i <= 100; i++) {//1.初始化部分 2.循环条件部分 3.迭代部分
            result += i;//循环体部分
        }
        System.out.println("result=" + result);
    }
}

循环结构:while循环

public class WhileLoop {
    public static void main(String args[]) {
        int result = 0;
        int i = 1;//1.初始化部分
        while (i <= 100) {//循环条件
            result += i;//循环体部分
            i++;//迭代部分
        }
        System.out.println("result=" + result);
    }
}

循环结构:do-while循环

public class DoWhileLoop {
    public static void main(String args[]) {
        int result = 0, i = 1;//初始化部分
        do {
            result += i;//循环体部分
            i++;//迭代部分
        } while (i <= 100);//循环条件部分
            System.out.println("result=" + result);
        }
}

注意:while与do…while的区别

  1. while: 先判断 再执行 条件不成立 循环体 一遍都不执行
  2. do…while: 先执行 再判断 条件不成立 循环体 至少执行一遍

特殊关键字break,continue

break语句:

break语句用于终止某个语句块的执行

public class BreakTest{
		public static void main(String args[]){
	    for(int i = 0; i<10; i++){ 
	     	if(i==3)
		      break;//当条件成立时,终止for循环	
	    	System.out.println(" i =" + i);
	    }
	    System.out.println("Game Over!");
		}
}

continue语句:

continue只能使用在循环结构中

continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环

public class ContinueTest {
	public static void main(String args[]){
	     for (int i = 0; i < 100; i++) {
	      	  if (i%10==0)
			        continue;//跳出成立的循环
		      System.out.println(i);
		  }  
    }  
} 

注意:

1.return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。

2.与break和continue不同的是:break跳出循环,continue跳到下一个循环
return直接结束整个方法,不管这个return处于多少层循环之内

总结:
本章节带大家了解了JAVA语言的基本循环:if,for,while,do -while循环讲解
后续会不断更新JAVA语言的文章(基础,题目,算法)
*

1.return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。

2.与break和continue不同的是:break跳出循环,continue跳到下一个循环
return直接结束整个方法,不管这个return处于多少层循环之内

总结:
本章节带大家了解了JAVA语言的基本循环:if,for,while,do -while循环讲解
后续会不断更新JAVA语言的文章(基础,题目,算法)
喜欢的可以关注博主或该公众号谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重生者安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值