JAVA 循环语句&方法

循环结构概述以及for语句基本格式 

循环结构的分类:

for,while,do...while

for语句的基本格式

for(初始化表达式;条件表达式;循环后的操作表达式) {

    循环体;

}

循环结构for语句练习水仙花数

public class for_shuixianhuashu {
    public static void main(String[] args) {
        int flag = 0;//记录水仙花数个数
        for (int i = 100;i < 1000;i++) {
            int g = i % 10;
            int s = i / 10 % 10;
            int b = i / 100 % 10;
            if (s * s * s + g * g * g + b * b * b == i) {
                System.out.println(i + "是水仙花数" );
                flag++;//个数加一
            }
        }
        System.out.println("水仙花数有" + flag + "个");//输出水仙花数的个数
    }
}

while循环的基本格式

while(判断条件语句) {

        循环语句体;

}

完整格式:

初始化语句;

while(判断条件语句) {

        循环体语句;

        控制条件语句;

}

循环结构while练习

public class while_ {
    public static void main(String[] args) {
        int flag = 0;
        int i=100;
        while(i<=999) {
            int g = i%10;
            int s = i/10%10;
            int b = i/10/10%10;
            if(g * g * g + s * s * s + b * b * b==i) {
                System.out.println(i);
                flag++;
            }
            i++;
        }
        System.out.println(flag);
    }
}

do...while语句格式

do {

        循环语句体;

}while(判断条件语句);

完整格式;

初始化语句;

do {

        控制条件语句;

}while(判断条件语句)

public class dowhile_ {
    public static void main(String[] args) {
        int i=1;
        do {
            System.out.println("i = "+i);
            i++;
        }
        while(i<=10);
    }
}

三种循环的区别

do...while至少循环一次 for和while则是先判断是否满足条件然后决定是否执行

for语句执行后变量会被释放不能再使用

while语句执行后的变量还可以继续使用

不知道用谁的时候就用for循环可以提高内存效率

!!!注意死循环

while(true)

for(;;)

利用循环嵌套输出四行五列的*

println和print的区别是println输出之后会直接换行

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

}

循环嵌套输出正三角形

public record FOR2() {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++) {
            for(int j=1;j<=i;j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 九九乘法表

public class for3 {
    public static void main(String[] args) {
        for(int i=1;i<=9;i++) {
            for(int j=1;j<=i;j++){
                int m=i*j;
                System.out.print(i+"*"+j+"="+m+'\t');
            }
            System.out.println();
        }
    }
}

控制跳转语句break

break只能在swich和循环中使用

控制跳转语句continue

只能在循环中使用,终止本次循环将进行下次循环

控制跳出语句标号

public record FOR2() {
    public static void main(String[] args) {
        outer: for(int i=1;i<=5;i++) { //a只要是合法标识符就可以
            inner:for(int j=1;j<=i;j++) {
                System.out.print("*");
                break outer; //跳出外部循环
            }
            System.out.println();
        }
    }
}

控制跳转语句return是用来返回方法的

return,break,continue的区别是

return是用来返回方法的break是用来跳出循环的continue是终止本次循环继续下次循环

方法是用来提高代码的复用性的完成特定功能的代码块

格式是:

修饰符 返回值类型 方法名(参数类型 参数名1;参数类型 参数名2;...){

        方法体语句;

        return返回值;

}

修饰符目前就用public static

实际参数:实际参与运算的参数

形式参数:就是方法定义上用于接收实际参数的

练习题

import java.util.Scanner;
public class methods_ {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int sum=add(a,b);
        System.out.println(sum);
    }
    public static int add(int a,int b) {
        int sum=a+b;
        return sum;
    }
}

方法的注意事项

一般不推荐单独调用(有返回值方法的单独调用,没有意义)eg:add(10,20)

输出调用,不能对结果进行进一步操作

赋值调用,推荐方案

参数之间用逗号隔开

方法调用时不用再传递数据类型

方法如果有明确的返回值一定要用return带回

练习:键盘录入两个数,返回两个数中的较大值

import java.util.Scanner;
public class methods_max {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int max=MAx(a,b);
        System.out.println(max);
    }
    public static int MAx(int a,int b){
        return a>b?a:b;
    }
}

判断两个整数是否相等

import java.util.Scanner;
public class methods_max {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean m=deng(a,b);
        System.out.println(m);
    }
    public static boolean deng(int a,int b){
        return a==b;
    }
}

方法之星型输出以及录入

import java.util.Scanner;
public class methods_max {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int row=sc.nextInt();
        int column=sc.nextInt();
        print(row,column);
    }
    public static void print(int a,int b){
        for (int i=0;i<a;i++){
            for(int j=1;j<b;j++){
                System.out.print("*");
            }
            System.out.println("*");
        }
    }
}

方法重载概述和基本使用

方法名相同但是参数列表不同与返回值类型无关

分类:参数个数不同;参数类型不同;

二进制表示小数有的时候不太精确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值