Java

1. 生成随机数

import java.util.Random;  
Random ran=new Random(); 
//生成整数  
int xxx=ran.nextInt(<随机范围>);
xxx可能出现的数值是
0  ~  随机范围-1
例如ran.nextInt(10)
可能产生的数值就是0~9

2. do-while循环

语法

  do{
     //条件为真时运行的代码
  }while(<条件>);

3. while和do-while循环的区别

1) while循环:

先判断,后执行
初始条件不满足,一次都不执行

2) do-while循环:

先执行,后判断
初始条件不满足,也会至少执行一次

理解时,理解为:
while循环比do-while循环
多判断一次

while-dowhile.png

4. for循环

1) for循环语法

  for(表达式1;表达式2;表达式3){
      //循环体
  }
  • 表达式1:声明循环变量
  • 表达式2:循环条件
  • 表达式3:变量的更新

for循环运行.png
注意:

  • 表达式1,2,3,均可以省略 表达式2省略默认为true 但是两个 ; 不能省略
  • 表达式1中可以声明多个变量,用,分隔
  • 表达式3中可以多个变量的更新用,分隔
  • for循环适合处理循环次数固定的循环

3 小练习

1) 机票价格按照淡季旺季、
头等舱和经济舱收费、
输入机票原价、月份和1头等舱或2经济舱,
其中旺季(5-10月)
头等舱9折,经济舱85折,
淡季(11月到来年4月)
头等舱7折,经济舱65折,
最终输出机票价格

package day05.am;

import java.util.Scanner;

public class Test3_2Demo {

    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入机票原价");
        double price=scan.nextDouble();
        System.out.println("请输入月份");
        int month=scan.nextInt();
        System.out.println("舱级(1.头等舱 2.经济舱)");
        int level=scan.nextInt();
        //旺季
        if(month>=5 && month<=10) {//头等舱
            if(level==1) {
                price*=0.9;
            }else {//经济舱
                price*=0.85;
            }
        }else {//淡季
            if(level==1) {//头等舱
                price*=0.7;
            }else {
                price*=0.65;
            }
        }
        System.out.println("折后机票价格为:"+price);
    }

}

do-while

1) 使用do-while循环编写
小明第一个月工资4000
以后每个月比上个月多200
计算12个月小明总共能拿到多少工资

package day05;

public class DoWhileTask0 {

    public static void main(String[] args) {
        
        int sum=0;
        int salary=4000;
        int i=1;
        do {
            sum+=salary;
            i++;
            //System.out.println(i+">"+sum);
            salary+=200;
        } while (i<=12);
        System.out.println(sum);
    }

}

2) 使用do-while循环编写
小明第一个月工资4000
以后每个月比上个月多200
当小明总共拿到的工资超过
150000时需要多少个月

package day05;

public class DoWhileTask {

    public static void main(String[] args) {
        
        int sum=0;
        int salary=4000;
        int i=0;
         do {
            sum+=salary;
            salary+=200;
            i++;
            System.out.println(i+">"+sum);

        } while (sum<150000);
        System.out.println(i);
    }

}

for循环联系
1) 用户在循环中输入5个学生的成绩
计算他们的平均分

break

1) 编写一个循环
循环中用户输入
数字如果用户输入的
数字是负数
循环结束

package day05;
import java.util.Scanner;
public class BreakTask1 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num=0;
        for(;;) {
            num = scanner.nextInt();
            if (num<0) {
                break;
            }
        }
        System.out.println("over");
        scanner.close();
    }

}

2) 编写一个循环
循环中用户输入密码(int类型)
如果用户输入的是123456(正确)
循环结束
并输出循环了几次


package day05;
import java.util.Scanner;
public class BreakTask2 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int keyWord=0;
        System.out.println("请输入密码:");
        int i=0;
        for(;;) {
            keyWord = scanner.nextInt();
            i++;
            if (keyWord==123456) {
                break;
            }
            System.out.println("密码错误");
        }
        System.out.println("循环了"+i+"次");
        scanner.close();
    }

}

循环嵌套

1) 使用循环嵌套实现输出
九九乘法表

package day05.pm;

public class NineNineDemo {

    public static void main(String[] args) {

        for(int i=1;i<=9;i++) {

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

    }

}

评论

This is just a placeholder img.