首页 > 编程语言 >初学Java基础Day07---while循环,do-while循环,特殊流程孔子语句,Java循环习题

初学Java基础Day07---while循环,do-while循环,特殊流程孔子语句,Java循环习题

时间:2024-09-26 22:50:39浏览次数:3  
标签:count Java Scanner int System while 循环

一,while循环

1.语法结构:

while(表达式){

....代码块/循环体.....

}

2.理解:

        表达式的结果必须是boolean类型 ,true---执行代码块,false--跳出 循环体

3.案例

//案例:用while循环,打印五遍HelloWorld

int i=1;
while(i<=5){
    System.out.println("HelloWorld");
    i++;
}


//案例2 小明每月存3000,每年递增1000元,多少个月后存满20万
 
int allMoney =0;
int month=0;
int money =3000;
while(allMoney<=200000){
    allMoney+=money;
    month++;
    if(month%12==0){
		money+=1000;
    }
    System.out.println(month+"个月后存满20万");
}

二,do-while循环

1.语法结构:

do{

.....代码块/循环体.....

}while(表达式);

2.理解:

        首选执行一遍代码块,在去判断表达式,表达式的结果必须boolean 类型, true---执行代码块, false----跳出循环体

三,for VS while VS do-while

1.表达式的区别:

for(初始化变量;判断条件;更新变量){}

while(判断条件){}

do{}while{判断条件}

共同点:判断条件的结果必须是boolean类型,true代表执行,false跳出

2.执行顺序的区别

for:先判断,再执行

while:先判断,再执行

do-while:先执行,再判断

3.应用场景的区别:

循环次数确定:----for

循环次数不确定,且先判断:while

循环次数不确定,且先执行一遍:do-while

四,特殊流程控制语句

1.break

1.理解:作用在循环中,表示跳出整个循环语句

2.案例:

        循环录入小明五门课程的成绩并计算平均分,如果某分数录入为负数,停止录入并提示

import java.util.Scanner;
public class Test01{
	public static void main(String[] args){
       Scanner scan= new Scanner(System.in);
        boolean falg =true;
        double sum= 0;
        for(int i=1;i<=5;i++){
			
            System.out.println("请输入第"+i+"门成绩");
            double score =scan.nextDouble();
            if(score<0){
				flag=false;
                break;
            }
        	sum+=score;
        }
        if(flag){
            double avg =sum/5;
            System.out.println("平均分为:"+avg);
        }else{
			System.out.println("分数为负数,停止录入");
        }

        
        
        
    }
}

2.continue

1.理解:

作用于循环中,表示跳过循环体剩余的部分,进到下一次循环

2.案例

循环录入五名学生的成绩,统计分数高于80分学生的比例

Scanner scan =new Scanner(System.in)
    int count =0;
for(int i =1;i<=5;i++){

    System.out.println("请输入你的成绩:");
    double score = scan.nextDouble();
    if(score<80){
        continue;
    }
    count++;
}
double proportion =count/5.0*100;//使int类型数据精确到小数点后一位
System.out.println("分数大于80的学生比例为:"+proportion);

3.return

1.理解

        作用在方法中,表示结束该方法(后续学习)

4.label

理解:给循环取名字(做标记)

五:循环练习题

案例1:

请输出2-100中的素数

for(int i =2;i<=100;i++){
    
    boolean flag =true; //true 代表就是素数
    for(int num =2;num<i;num++){

        if(i%num==0){
            flag=false;
            break;
        }
    }
    if(flag){
        System.out.println(i+"是素数");
    }
}

案例2:

模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,则提示“账号被冻结”,其他情况则提示还有多少此输入机会

Scanner scan = new scanner(System.in);
int count =3;
while(count>=1){
    System.out.println("请输入密码:");
    String passWord =scan.next();
    if(passWord.equals("123456")){
        System.out.println("随便取款");
        break;
    }else{ //密码错误
      count--;
     if(count==0){//输入密码的次数用完了
         System.out.println("银行卡被冻结,请前往银行");
         break;
     }
        System.out.println("你还有"+count+"次机会");
        System.out.println("是否继续输入?继续按y,退出按任意键");
        String str = scan.next();
        if(!str.equals("y")){
            System.out.println("感谢你使用**银行系统");
            break;
        }
    }
}

案例3

循环录入2个班的学员成绩,假设每个班都有3个学员,依次录入,统计超过90分的学员人数,以及这批超过90分的学员的平均分

Scanner scan =new Scanner(System.in);
int count =0;  //超过90分学生的人数
int sum =0;  //超过90分学生的总分

for(int i=1;i<=2;i++){

    for(int j= 1;j<=3;j++){

        System.out.println("请输入第"+i+"个班的第"+j+"名学生的成绩");
        double score =scan.nextDouble();
        if(score>90){

            count++;
            sum+=score
        }
    }
}
System.out.println("超90分人数为:"+count);
double avg = sum/count;
avg = (int)(avg*100)/100.0;//目的是为了保留两位小数
System.out.println("超90分学生的平均分为:"+avg);

案例4

使用while循环计算1-100之间偶数之和

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

标签:count,Java,Scanner,int,System,while,循环
From: https://blog.csdn.net/2401_87491344/article/details/142579733

相关文章

  • [Java基础]拆箱装箱
    在介绍本期文章内容之前,让我们先来看一小段代码:inta=10;Integerb=10;if(b==a){ System.out.println("相等");}执行结果应该大家是毋庸置疑的,10等于10,自然会输出相等。但是有一个问题,a明明是int类型,而b则是Integer类型。两个明显是不同类型的对象,为什么能够相等呢?这......
  • 【JAVA-数据结构】包装类&简单认识泛型(1)
        这篇包含包装类和泛型相关知识,会用两篇文章进行讲解。1包装类        在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。1.1基本数据类型和对应的包装类除了Integer和Character......
  • Java面试八股文及答案整理( 2024年 最新版,持续更新)
    一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译java源码的编......
  • 迭代语句即for-of循环
    for-of:在es6中引入通常循环有计数器、检查条件、更新计数器。for-of循??环没有这样的东西。continue-break两者都可以搭配使用。旨在为我们提供当前元素。fruits=['banana','apple','peach','orange','mango','guava','water-melon'];for(constitemo......
  • 选择数字 - HakerRank 解决方案 - Javascript
    给定一个整数数组,找到任意两个元素之间的绝对差小于或等于的最长子数组例子_a=[1,1,2,2,4,4,5,5,5]_有两个满足条件的子数组:[1,1,2,2]和[4,4,5,5,5]。最大长度子数组有5个元素。功能说明在下面的编辑器中完成pickingnumbers函数。pickingnumbers有以下参数:int......
  • 基于Node.js+vue基于java的校园疫情管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景近年来,全球范围内频繁爆发的疫情事件对教育领域产生了深远影响,特别是在校园环境中,如何有效防控疫情、保障师生健康安全成为了亟待解决的问题。传统的校园管......
  • 解锁 JavaScript 中“navigator”对象的强大功能:综合指南
    javascript中的导航器对象是一个功能强大的工具,它允许web开发人员以远远超出简单网页交互的方式与用户的浏览器和设备进行交互。从访问地理位置数据到管理设备存储,导航器对象是一个功能宝库,可以增强web应用程序的功能。在本博客中,我们将探索导航器对象的一些最有用的功能,并提......
  • 解锁 JavaScript 的超能力:变量的魔力
    从今天开始,我们将探索编程的世界。?你拥有超能力的世界。是的,你没看错,超能力。如果不是超能力,那又是什么?使用javascript,您可以让物体飞、移动、消失、改变颜色,并在数英里之外看到您的朋友,而这只是可能的一小部分。是的,一切都在你的屏幕上,但仍然非常令人兴奋。像任何超级英雄一样,......
  • Java中面向对象将引用数据类型作为参数类型
    当参数类型为类名,抽象类名,接口名的时候1.当一个类名作为参数类型在一个方法的时候classStudent{publicvoidfun1(){System.out.println("我是父亲");}}classStudentDemo1{publicvoidfun2(Studentstudent){//当调用到这个方法时相当于:Student......
  • 理解 JavaScript 中的对象
    您是否遇到过需要在javascript代码中存储一组复杂信息的情况?例如,您需要将用户的数据存储在数据库中,例如姓名、年龄和地址。您将使用什么javascript框架来完成此任务?在本文中,我们将了解对象如何在此类任务中发挥作用,并了解javascript中这一重要数据集合的含义。跟我来吧!......