java入门day 04

本文介绍了Java中的三种循环结构——while、do...while和for循环,详细解析了它们的用法和执行流程。此外,文章还探讨了何时选择while循环和for循环,并提到了死循环的概念。最后,文章讲解了数组的基础知识,包括数组的作用、定义以及其作为引用数据类型的特点。
摘要由CSDN通过智能技术生成

1、while循环

		/**
		 *   使用while循环 计算 2+4+6+8+...+100
		 */
		//初始化变量
		int i=2;
		int sum=0;
		while(i<=100) {
			if(i%2==0) {
				sum+=i;	
			}
			
			i++;
		}
		System.out.println("总和为"+sum);

while循环适用于不确定的次数。

		/**
		 * 编写一个程序,从键盘读取个数不确定的整数,并且判断读入的
		 * 正数和负数的个数,输入0时结束程序
		 * 统计正数和负数的个数
		 */
		Scanner sc=new Scanner(System.in);
		int count=0;//正数的个数为0
		int count1=0;//负数的个数为0
		while(true) {
			System.out.println("请输入整数:");
			int num=sc.nextInt();
			if(num>0) {
				count++;
			}else if(num<0) {
				count1++;
			}else {
				System.out.println("结束程序");
				break;
			}
		}
		System.out.println("正数的个数为:"+count+",负数的个数为:"+count1);

2、do…while循环

		/**
		 * 语法:
		 * ①初始化变量
		 * do{
		 * 	②循环体
		 * 	③累加器
		 * }while(④循环条件)
		 * 
		 * 执行顺序:
		 * 1、初始化变量
		 * 2、执行do循环体和累加器,执行完成后进行循环条件判断,如果结果
		 * 为true,继续执行循环体和累加器,以此类推,直到循环条件不满足为false的
		 * 情况下,结束循环
		 * 
		 * while和do...while的区别:
		 * 1、while先判断后执行
		 * 2、do...while:先执行后判断,至少会执行一次循环体。
		 */
		//抄课文
		//1、初始化变量
		int num=1;
		do {
			//2、循环体
			System.out.println("抄课文"+num);
			//3、累加器
			num++;
		}while(num<=0); //4、循环条件
		System.out.println("==============while");
		//1、初始化变量
		int num1=1;
		while(num1<=0) {//2、循环条件
			//3、循环体
			System.out.println("抄课文"+num1);
			//4、累加器
			num1++;
		

参考其他题目(do…while):

		// 使用do while循环打印100以内4的倍数
		int i=4;
		do {
			if(i%4==0) {//4的倍数
				System.out.println(i);
			}
			i++;
		}while(i<=100);

		/**
		 * 不断要求用户输入一个数字(输入的都是正整数),
		 * 当用户输入end时,结束操作,同时计算出刚才所有数据的最大值
		 */
		Scanner sc=new Scanner(System.in);
		int max=0;
		boolean flag=true;
		while(flag) {
			System.out.println("请输入一个正整数:");
			String str=sc.next();
			if(str.equals("end")) {
				//结束循环
			flag=false;
				
			}else {
				//把输入的字符串类型转换为int
				int num=Integer.parseInt(str);
				if(num>max) {
					max=num;//取最大值
				}
			}
		}
		System.out.println("max:"+max);

3、for循环
/**
* for循环是我们使用的最多的一种,为我们专门提供了一个位置,存放
* 三个表达式:
* 1、初始化表达式
* 2、循环条件表达式
* 3、累加器
*
* 语法:
* for(①初始化表达式;②循环条件表达式;④累加器){
* ③循环体;
* }
*
* 执行流程:
* 1、执行初始化表达式①
* 2、执行条件表达式②,如果条件满足,执行循环体③、累加器④,以此类推
* 直到条件不满足,结束循环
*
* while和for循环:
* 特点:
* while适用在循环次数不固定的时候,for循环适用在循环次数固定的情况下
*
*/

	//for实现抄课文
	for(int i=1;i<=10;i++) {
		System.out.println("抄课文"+i);
	}

参考其他题目:
1、

		//1、键盘输入一个正整数n,计算1+2+...+n,并输出
		Scanner sc=new Scanner(System.in);
		int sum=0;//初始的和为0
		System.out.println("请输入n:");
		int n=sc.nextInt();
		for(int i=1;i<=n;i++) {
			sum+=i;
		}
		System.out.println("sum:"+sum);

2、

		//2、使用for循环方式打印100以内4的倍数
		for(int num=1;num<=100;num++) {
			if(num%4==0) {
				System.out.println(num);
			}
		}

3、

		//3、找出100-999之间的水仙花数
		for(int num1=100;num1<1000;num1++) {
			int baiwei=num1/100;//百位上的数字
			int shiwei=num1/10%10;//十位上的数字
			int gewei=num1%10;//各位上的数字
			
			
			if(baiwei*baiwei*baiwei+shiwei*shiwei*shiwei+gewei*gewei*gewei==num1) {
				System.out.println(num1);
			}
		}

4、

		/**
		 * 通过程序画出以下图形
		 *             *****
		 *             *****
		 *             *****
		 *             *****
		 *             *****
		 */
		//外层循环控制图形的高度
		for(int i=1;i<=5;i++) {
//			for(int k=1;k<=5;k++) {//保证每一行都有5个空格的距离
//				System.out.print(" ");
//			}
			//内层循环控制图形的宽度
			for(int j=1;j<=5;j++) {
				System.out.print("*");
			}
			System.out.println();
		}

5、

		/**
		 * 某次程序大赛,3个班级4名学员参赛,计算每个班参赛学员的平均分
		 */
		Scanner sc=new Scanner(System.in);
		double sum=0;//总分
		double avg=0;//平均分
		//外层循环控制班级
		for(int i=1;i<=3;i++) {
			//内层循环控制班级学员
			for(int j=1;j<=4;j++) {
			System.out.printf("请输入第%s班第%s个学员的成绩:\n",i,j);
		//	System.out.println();
			//定义变量记录学员的成绩
			double score=sc.nextDouble();
			sum+=score;
			
			}
			System.out.println();
			//求平均成绩
			 avg=sum/4;
			 System.out.printf("第%s班平均分:"+avg,i);
			 System.out.println();
			
		}

6、

		/**
		 * 打印九九乘法表
		 * 
		 * 	1*1=1	1*2=2	1*3=3	1*4=4	1*5=5	1*6=6	1*7=7	1*8=8	1*9=9	
			2*1=2	2*2=4	2*3=6	2*4=8	2*5=10	2*6=12	2*7=14	2*8=16	2*9=18	
			3*1=3	3*2=6	3*3=9	3*4=12	3*5=15	3*6=18	3*7=21	3*8=24	3*9=27	
			4*1=4	4*2=8	4*3=12	4*4=16	4*5=20	4*6=24	4*7=28	4*8=32	4*9=36	
			5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	5*6=30	5*7=35	5*8=40	5*9=45	
			6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	6*7=42	6*8=48	6*9=54	
			7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	7*8=56	7*9=63	
			8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	8*9=72	
			9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
		 */
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=9;j++) {
				System.out.print(i+"*"+j+"="+(i*j)+"\t");//  \t是空格
			}
			System.out.println();
		}
		

7、


		/**
		 * 打印乘法表:
			1*1=1	
			2*1=2	2*2=4	
			3*1=3	3*2=6	3*3=9	
			4*1=4	4*2=8	4*3=12	4*4=16	
			5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
			6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
			7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
			8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
			9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
		 */
		
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {    //j<=i
				System.out.print(i+"*"+j+"="+(i*j)+"\t");//  \t是空格
			}
			System.out.println();
		}

4、死循环

	//死循环
        int i=0;
        while(i==0) {
        	System.out.println(i);
        }
        
        for(;;) {
        	
        }

5、break , continue

		/**
		 * 按顺序打印1-10,遇到3终止打印
		 */
		for(int i=1;i<=10;i++) {
			if(i==3) {
				break;//一旦执行,会立刻终止整个循环
			}
			System.out.println(i);
		}
		for(int i=1;i<=10;i++) {
			if(i==4) {
				continue;//跳过当此循环,继续下一次循环
			}
			System.out.println(i);
		}

6、初识数组
/**
* 1、数组是什么?为什么需要使用数组
*
* 比如我要统计每位员工的工资,我得定义多个变量去
* 分开存储,如果过多员工,就太麻烦了。
*
* 那么我怎么用一个变量来存储多个员工的工资呢?
* 可以使用数组,数组就是一个大的容器,它可以存放多个值
* 2、什么是数组?
* 数组和变量差不多,都是存放数据的,不同的是变量只能
* 保存一条数据,而数组可以保存多条数据,前提是这多条数据必须是
* 同一类型的
* 数组是引用数据类型
*
*/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值