java-循环结构试题

# 知识点

循环语句

```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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一条 大鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值