我是张骚年,量子玄学信徒,祖安冲浪王者,B站白嫖大师,撕少保护协会资深会员,一个没有感情的表情包机器。
应届二本物理找不到工作,准备用五个月转行Java”上流社会“
哎 今天又是挠头的一天,元气满满的告诉自己:多读书多看报少吃零食多睡觉。
学会循环的使用,多练习
题目描述:3 文钱可以买 1 只公鸡,2 文钱可以买一只母鸡,1 文钱可以买 3 只小鸡。用 100 文钱买
100 只鸡,那么各有公鸡、母鸡、小鸡多少只?
public class Test{ public static void main(String[] args){ for(int x=0;x<=33;x++){ int n = (100-3*x)/2; for(int y=0;y<=n;y++){ int z = 100-x-y; if(z%3!=0)continue; if(3*x+2*y+z/3==100){ System.out.println(x+"只公鸡,"+y+"只母鸡,"+z+"只小鸡"); } } } } } 复制代码
<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/1366162/1588834682433-6e61709d-339a-4b98-9725-326542b4129d.png#align=left&display=inline&height=196&margin=%5Bobject%20Object%5D&name=image.png&originHeight=392&originWidth=1456&size=138593&status=done&style=none&width=728) 复制代码
思路
读入的整数 n,就是外层循环的循环次数
对于每一行,要做的事情:A. 输出若干个空格 B. 输出若干个星 C. 换行
import java.util.Scanner; public class Test{ public static void main(String[] args){ System.out.println("请输入一个正整数:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); for(int i=1;i<=n;i++){ for(int j=1;j<=n-i;j++){ System.out.print(" "); } for(int j=1;j<=2*i-1;j++){ System.out.print("*"); } System.out.println(); } } } 复制代码
循环:通过某个条件,重复的执行一段逻辑代码。
在计算机中也是有循环的,循环带来的好处,即计算机的作用,毕竟对比分支和循环,计算机善于做简单性的重复性的工作。
跟分支结构作对比,用不到写程序,写程序反而麻烦。但是咱们看一下 这个情况,计算,0-200的和,最笨的法子,一个个的加。聪明的做法,1+200、2+199 ... ,但是就算这样也已经很耗时耗力了。同样的事情 如果 交给计算机来做,它的速度是非常快的。人在去计算的时候,用最聪明的方法,也没有计算机用最笨的方法要快。
语法
循环首先要有一个循环操作,这一部分就是需要反复执行的代码。这个代码执行什么时候结束呢?如果说它没有结束,一直循环,就叫做死循环。如果想结束,需要有循环条件
循环条件:当循环条件为真时,继续执行循环操作;当循环条件为假时,结束循环,继续执行后续代码
循环分类
while循环
do while循环
for 循环
语法
while 关键字,后跟()小括号,{}代码块。代码块中是循环体,满足条件时想要执行的代码
while(布尔表达式){ //逻辑代码(循环操作) } 复制代码
打印100遍“HelloWorld”
//循环变量 用来决定循环的次数 int i=0; while(i<100){ System.out.println("HelloWorld"); i++; } 复制代码
语法
do 关键字,{}花括号表示代码块,代码块内是逻辑代码 while 关键字 ;()小括号。括号内是 布尔表达式。分号
do{ 逻辑代码(循环操作) }while(布尔表达式); 复制代码
检查学生作业完成情况,输入教师评语,决定学生是否需要抄写代码
Scanner sc = new Scanner(System.in); //老师评语 char answer; do{ System.out.println("抄一遍代码"); System.out.println("请输入老师评语"); answer = sc.next().charAt(0); }while(answer!='y'); System.out.println("作业已完成"); 复制代码
语法
for关键字 ()小括号 括号内 分为三个部分,使用分号隔开 分别是:初始部分,循环条件,迭代部分 {}代码块 代码块内是循环操作(循环体)
for(初始部分 ; 循环条件 ; 迭代部分){ //循环操作 } 复制代码
打印100遍“HelloWorld”
**
for(int i=0;i<100;i++){ System.out.println("HelloWorld"); } 复制代码
while 、do while 一般适用于不知道代码执行多少次的循环(不确定循环),for循环(确定循环)
终止、跳出switch、循环结构。
循环执行中,遇到break,则退出整个循环结构
continue
结束本次循环,继续执行下一次循环
在一个完整的循环结构中,可以嵌套另一个完整的循环结构
如何跳出内层循环
Label标签:Java 中的标签是为循环设计的,是为了在多重循环中方便的使用break 和coutinue
outer:for(int i=0;i<3;i++){ inner:for(int j=0;j<5;j++){ System.out.print("*"); break outer; } System.out.println(); } 复制代码
outer:外层标签 inner内层标签 break outer;跳出内层循环
名词 | 含义 |
---|---|
continue | 持续; 继续存在; 不断发生 |
break | 间歇; 休息; 课间休息; 间断; 暂停; |
outer | 外表的; 外边的; |
inner | 里面的; 向内的; 内部的 |
今天洗头的时候,手掌上残留了几丝头发,看了看手掌看了看发际线,我哭了。
—— 果然
—— 秃头是变强的必由之路。