JAVA SE学习笔记 Day6

循环结构

定义:根据循环条件,重复性的执行某段代码。

循环结构4要素:1.初始化条件;2.循环条件;3.循环体;4.迭代条件。

有以下三种循环语句:<!--JDK1.5提供了 foreach循环,方便的遍历集合、数组元素-->

while

结构:

1;
while(2){
    3;
    4;
}//执行过程:1,2,3,4,2,3,4......

说明:

while 循环注意迭代条件,没有写入迭代条件可能进入死循环;

for循环和while循环可以相互转换;

区别:for循环和while循环的初始化条件部分的作用范围不同。

练习:

遍历100内的偶数:

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

do...while

结构:

1;
do{
    3;
    4;
}while(2);//执行过程:1、3、4、2、3、4、2、3、4......至少会执行一次循环体。

练习:

遍历100以内的偶数:

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

for

结构

for(1;2;4){
    3;
}//执行过程:1;2;3;4;2;3;4......

练习:

int num = 1;
for(Sysytem.out.println("a");num <= 3;System.out.println("c"),num++){
    System.out.println("b");
}
//输出结果:abcbcbc

遍历100以内的偶数:

for(int i = 1;i <= 100;i++){
    if(i % 2 = 0){
        System.out.println("100内的偶数有:"+i);
    }
}

遍历1到150,在每行打印一个值,另外在每个3的倍数行上打印出“foo”,5的倍数打印“biz”,7的倍数打印“baz”

class ForTest{
    public static void main(String[] args){
        for(i = 1;i <= 150;i++){
            System.out.print(i + " ");
            if(i % 3 == 0){
                System.out.print(i + "foo");
            }
            if(i % 5 == 0){
                System.out.print(i + "biz");
            }
            if(i % 7 == 0){
                System.out.print(i + "baz");
            }
            System.out.println();
        
        }
    }
}

输入两个正整数,求最大公约数和最小公倍数

import java.util.Scanner;
​
class ForTest{
    public static void main(String[] args){
        Scanner scan = new Scanner (System.in);
        
        System.out.println("输入第一个数");
        int m = scan.nextIn();
        
        System.out.println("输入第二个数");
        int n = scan.nextIn();
        
        int min = (m <= n)?m:n;
        for (int i = min;i > 1;i--){
            if(m % i == 0 && n % i == 0){
                System.out.println("最大公因数是"+i);
                break;
            }
        }
        
        int max = (m >= n)?m:n;
        for(int i = max;i < m*n;i++){
            if(i % m == 0 && i % n == 0){
                System.out.println("最大公倍数是"+i);
                break;
            }
        }
        
        
    }
}

综合例题:

1.从键盘中读入不确定个数的整数,并判断输入正数和负数的个数,输入0时结束程序。

import Java.util.Scanner;
​
class Test01{
    public static void main(String[] args){
        Scanner scan = new Scaner(System.in);
        int m = 0;//正数个数
        int n = 0;//负数个数
        while(true){//当循环条件不固定时,可以将循环条件设置为true,但是不限制循环次数,因此需要循环条件返回false,或者循环体中配合break使用。
            int num = scan.nextIn();
            if(num < 0){
                n++;
            }else if(num > 0){
                m++;
            }else{
                break;
            }
        }
        System.out.println("正数个数为"+m);
        System.out.println("负数个数为"+n);
        
    }
}

嵌套循环的使用:

嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环;分为外层循环和内层循环。

内层循环结构遍历一遍,只相当于外层循环执行了一次;

假设外层循环需要执行m次,内层循环需要执行n次,此时内层循环一共执行了m*n次;

外层循环控制行数,内层循环控制列数。

练习:

输出四排***

for(int i = 0;i <= 4;i++){
    for(int j = 0;i < 4;j++){
        System.out.print("*");
    }
    System.out.println();
}

输出菱形:

class test{
    public static void main(String[] args){
        for(int i = 0;i < 5;i++){
            for(int j = 0;j < 4-i;j++){
                System.out.print(" ");
            }
            for(int k = 0;k < i+1;k++){
                System.out.print("* ");
            }
            System.out.print();
        }
        
        for(int i = 0;i < 4;i++){
            for(int j = 0;j < i+1;j++){
                System.out.print(" ");
            }
            for(int k = 0;k < 4-i;k++){
                System.out.print(" ");
            }
            System.out.print();
        }
    }
}

输出九九乘法表:

class NineNineTable{
    public static void main(String[] args){
        for(int i = 0;i <= 9;i++){
            for(int j = 0;j <= i;j++){
                System.out.print(i+"*"+j+"="+(i * j));
            }
        }
        System.out.println();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值