循环+方法




一、循环

1.1循环结构(重复的做一件事)

1.1.1while语句

while(布尔表达式){
  语句块;
}

1.如果布尔表达式为真,则执行循环

2.循环有三个条件:循环初始条件、循环判断条件、循环改变条件。如果缺少循环改变条件,那么将陷入死循环(判断条件永远为真)

3.例题:求5!的和

public static void main(String[] args) {
        int j=1;
        int sum=0;
        while(j<=5) {
            //求5!
            int ret = 1;
            int i = 1;
            while (i <=j) {
                ret *= i;
                i++;
            }
            sum+=ret;
            j++;
        }
        System.out.println(sum);
    }

4.while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

5.while 后面不要多写 分号, 否则可能导致循环不能正确执行

1.1.2 break

1break表示结束所有的循环

2.例题:找到1-100中第一个3的倍数

public static void main7(String[] args) {
        int i=1;
        while(i<=100){
            if(i%3==0){
                System.out.println(i);
                break;
            }
            i++;
        }
    }

1.2.3 continue

1.continue表示结束本次循环

2.例题:找出1-100中3的倍数

public static void main(String[] args) {
        int i=1;
        while(i<=100){
            if(i%3!=0){
                i++;
                continue;
            }else{
                System.out.println(i);
            }
            i++;
        }
    }

1.2.4 for循环

1.基本语法:(表达式2一定是布尔表达式)

for(表达式1;表达式2;表达式3){ 
循环体; 
}

2.执行顺序:第一次执行:表达式1,表达式2,语句块,表达式3;第二次:表达式2,语句块,表达式3......表达式1(循环条件初始化)只有第一次执行

3.例题:求5!的和

public static void main(String[] args) {
        int sum=0;
        for(int j=1;j<=5;j++){
            int ret=1;
            for(int i=1;i<=j;i++){
                ret*=i;
            }
            sum+=ret;
        }
        System.out.println(sum);
    }

1.2.5 do while 循环

1.基本语法

do{ 
循环语句; 
}while(循环条件);

2,先执行语句,在判定循环(所以最少执行一次),如

public static void main(String[] args) {
        int i=0;
        do{
            System.out.println("aa");
        }while(i!=0);
    }



二、输入输出

1.1输出到控制台(三种)

1.print打印完不换行

2.println打印完换行(打印数字不加引号)

3.printf(“%d\n",10),格式化输出

1.2从键盘输入

1.使用Scanner读取字符串/整数/浮点数(导包:import java.util.Scanner)

2.例题:

public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的姓名:");
        String name=sc.nextLine();
        System.out.println("请输入你的年龄:");
        int age=sc.nextInt();
        System.out.println("请输入你的工资:");
        float salary=sc.nextFloat();
        System.out.println("整合信息如下:");
        System.out.println("姓名:"+name+"\n"+"年龄"+age+"\n"+"工资"+salary);

    }

 3.next:遇到空格就会结束程序的运行:nextLint:遇到空格不会结束程序的运行

4.若想先读一个整数,再读一个字符串,那么在控制台输入整数之后就会结束程序的运行。所以用nextLine ()输入字符串的时候,那它的前面不能用nextInt()输入一个整数

5.使用Scanner循环读取n个整数,使用sc.hasNextInt(),想结束循环用Ctrl+d(面试时,若在网页/OJ上,后台会帮忙结束循环):

public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextInt()) {
            int a=sc.nextInt();
            System.out.println(a);
        }
    }

6.猜数字游戏(1-100之间)

import java.util.Random;
import java.util.Scanner;
public class Game {
    public static void main(String[] args) {
        Random random=new Random();//生成一个随机数,如果加了参数,就会生成伪随机数
        int randNum=random.nextInt(100)+1;//生成[1,101)之间的随机数
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数字[1-100]:");
        while(sc.hasNextInt()){
            int num=sc.nextInt();
            if(num>randNum){
                System.out.println("大了!");
            }else if(num==randNum){
                System.out.println("找到了!");
                break;//非常重要,否则循环不会结束
            }else{
                System.out.println("小了!");
            }

        }


    }
}

伪随机数:第一次运行时生成一个随机数,后面再次运行时随机数不会改变

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值