# 知识点
循环语句
```java
```
###
```java
```
## 题目1(训练)
有一个输出语句System.out.print("@")。使用这个语句,在控制台打印出一个五行的三角形,效果如下:
@
@@
@@@
@@@@
@@@@@
### 训练提示
1. 已知条件中只有一个@,如何产生多行的符号?
2. 每行的打印个数不同,循环的次数如何控制?
### 解题方案
1. 使用for循环的嵌套完成。
### 操作步骤
1. 定义循环执行5次代表一共5行
2. 定义内层循环执行i次代表每行打印的个数是i
3. 在内层循环中输出符号
4. 每行结束之后执行换行操作
### 参考答案
```java
public class Demo3 {
public static void main(String[] args) {
//1.外层循环代表4行
for (int i = 1; i <= 5; i++) {
//2.内层循环代表每行打印i个
for (int j = 0; j < i; j++) {
//3.打印每个@
System.out.print("@");
}
//4.每行结尾执行换行操作
System.out.println();
}
}
}
```
## 题目2(训练)
使用for循环打印出九九乘法表。打印效果如下:
1×1=1
1×2=2 2×2=4
...
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9*9=81
### 训练提示
1. 乘法表有多行而不是一行,如何完成?需要循环
2. 每一行有多列而不是一列,如何完成?需要循环的嵌套
### 解题方案
1. 使用for循环的嵌套完成
### 操作步骤
1. 使用for循环代表9行数据
2. 在for循环中嵌套for循环代表每行要打印的列数
3. 在内部for循环中打印每一个等式,等式和等式之间用制表符隔开
4. 每打印完一行等式之后执行换行操作
### 参考答案
```java
这题自己做!!!
```
## 题目3(综合)
小明手中有一张10元纸币。需要到商店兑换零钱。商店只有1元纸币和5角硬币。那么请列举出所有的兑换方式。打印效果如下:
换1元纸币1张,5角硬币18个
换1元纸币2张,5角硬币16个
换1元纸币3张,5角硬币14个
... ...
换1元纸币9张,5角硬币2个
### 训练提示
1. 一共有多少种兑换方式?也就是说循环多少次?
2. 纸币的个数和硬币的个数之间,有什么样的关系?
### 解题方案
1. 使用for循环完成。
### 操作步骤
1. 定义循环指定共有多少种兑换方式。
2. 打印每种兑换方式的结果。
### 参考答案
```java
public class Demo1 {
public static void main(String[] args) {
//1.定义循环一共十种结果
for(int i =1; i < 10; i++) {
//2.打印每种情况
System.out.println("换1元纸币" + i + "张。5角硬币" + (10-i)*2 +"个");
}
}
}
```
## 题目4(综合)
中国有闰年的说法。闰年的规则是:四年一闰,百年不闰,四百年再闰。(年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年)。请打印出1988年到2019年的所有闰年年份。
### 训练提示
1. 从1988年到2019年有很多年,每年都需要判断,用什么知识点对每年进行判断?
### 解题方案
1. 使用while循环完成
2. 使用for循环完成
以下以方案2为准
### 操作步骤
1. 定义for循环,循环开始是1988,结束是2019
2. 在循环中对年份进行判断
3. 如果符合闰年的判断条件,则打印该年份
### 参考答案
```java
public class Demo2 {
public static void main(String[] args) {
//1. 定义对年份的循环
for (int year = 1988; year <= 2019; year++) {
//2. 判断当年是否符合闰年条件
if((year%4 == 0 && year%100 != 0) || year%400 == 0){
System.out.println(year + "是闰年");
}
}
}
}
```
while 循环和 do…while循环的区别是: ( d )
A .没有区别,这两个结构任何情况下效果一样
B .while 循环比 do…while循环执行效率高
C .while 循环是先循环后判断,所以循环体至少被执行一次
D .do…while循环是先循环后判断,所以循环体至少被执行一次
下列代码段中,循环执行的次数是:(c)。 public static void main(String[] args) { int words = 27; do { words--; } while (words <= 18); } A.9次 B.0次 C.1次 D.超过9次
在Java中,下列关于循环的说法正确的是(b) 。
A. for循环至少会执行一次
B. do-while循环至少会执行一次
C. while循环至少会执行一次
D. do-while循环不能用while循环替换
for(int i =1;i<=10;i++){ if(i>=2){ continue; } System.out.println(i); }
a.1
b.1 2
c. 2 3 4 5 6 7 8 9 10
b.2
答案 a
问:会输出几遍1
for(int i =1;i<=10;i++){ for(int p =1;p<=3;p++){ System.out.println(1); } }
a.3
b.10
c.30
d.13
答案:c