Java03

Java基础笔记003 妈咪妈咪哄

一、今日内容

1. 【掌握】掌握switch语句
2. 【掌握】for循环
3. 【掌握】while循环
4. 【理解】do...while循环
5. 【理解】三种循环之间的区别
6. 【理解】跳转控制语句
7. 【理解】循环的嵌套
8. 【掌握】Random的使用

二、switch语句

1.语法结构–分支/条件语句结构

switch(控制表达式){
    case1:
        代码块;
        break;
    case2:
        代码块;
        break;
		...
    default:
		代码块;
}

2.特点

  • switch条件语句中控制表达式的值只能是是byte,short,int,字符串,char以及enum枚举类型。

  • switch条件语句是值比较的方式

  • 如不是最后一个case,代码中没有加break,可能会发生穿透现象,如下:

switch (4) {
    case 2:
        System.out.println("22222");
    case 4:
        System.out.println("4444");
    case 6:
        System.out.println("6666");
    case 8:
        System.out.println("8888");
    default:
        System.out.println("default");
}

运行结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EOJVh7YO-1634015095274)(assets/image-20211011190725779.png)]

3.例子

​ 输入成绩,输出成绩等级(90-100优、80-89良、60-79好、0-59差)

Scanner sc = new Scanner(System.in);
int grade = sc.nextInt();
switch(grade/10){
    case 10:
    case 9:
        System.out.println("优");
        break;
    case 8:
        System.out.println("良");
        break;
    case 7:
    case 6:
        System.out.println("好");
        break;
    default:
        System.out.println("差");
}

三、for循环

1.语法结构–循环结构

for(1.初始化语句;2.条件判断语句;3.条件控制语句){
    4.循环体语句;
}

2.例子

​ 水仙花数:一个三位数,各项拆开后的立方之和等于原数。输出所有三位的水仙花数,并输出总个数。

//记录水仙花数总个数
int count = 0;
//循环查询所有水仙花数
for(int i = 100; i<=999; i++){
    int a = i/100;
    int b = i%100/10;
    int c = i%10;
    //判断当前数字是否为水仙花数
    if ((a*a*a + b*b*b +c*c*c) ==i) {
        System.out.print(i+"\t");
        count++;
    }
}
System.out.println("100~999之间水仙花数共"+count+"个");

四、while循环

1.语法结构

初始化语句;
while(条件判断语句){
    循环体语句;
    条件控制语句;
}

2.例子

​ 求0-100之间偶数和。

int sum = 0;
int a = 0;
while(a <= 100){
    if(a % 2 == 0){
        sum += a;
    }
    a++;
}
System.out.println("sum="+sum);		//2550

五、do…while循环

1.语法结构

初始化语句;
do{
    循环体语句;
	条件控制语句;
}while(条件判断语句)

2.例子

​ 计算5的阶乘。

int sum = 1;
int n = 5; 
do{
    sum2*=n;
    n--;
}while(n>=1);	
System.out.println("5的阶乘结果:"+sum2);		//120

3.三种循环的区别

  • 语法结构不同
  • 语句执行顺序不同
  • 适用场景不同
  • for和while可循环0到无数次(死循环),而do…while最少循环1次

4.循环嵌套

  • 循环嵌套就是使用循环语句嵌套循环语句,达到要求的效果,解决复杂问题。
  • 例子:输出三角形
int n = 6;							//行数
for(int i=1; i<=n; i++){
    for(int j=1;j<=n-i;j++){		//打印每行空格
        System.out.print(" ");
    }
    for(int k=1;k<=i;k++){			//打印每行三角形左半部分
        System.out.print("*");
    }
    for(int z=1;z<i;z++){			//打印三角形右半部分
        System.out.print("*");
    }
    System.out.println();			//换下一行
}
//控制台打印结果:
     *
    ***
   *****
  *******
 *********
***********

六、跳转控制语句

1.continue

  • 用在循环语句中时作用,推出本次循环,执行下次循环
  • 用在嵌套循环中时,可以通过标记循环方法来决定哪一层循环跳转到下一次循环,如:
int q = 5;
a:while(q>1){					//标记该层while循环为a
    q--;
    for(int i=1;i<=4;i++){
        if(i == 3){
            continue a;			//控制a表示的循环
        }
        System.out.println("for----for"+i);
    }
    System.out.println("---");			//所以该句永远执行不到
}

2.break

  • 用在switch语句中,作用是终止某个case,并跳出switch结构
  • 用在循环中就是跳出并结束循环,当然也可以标记循环来决定跳出结束哪一层的循环

3.return

  • 方法级
  • 作用是,结束执行所在方法

七、Random工具类

1.该类用来生成伪随机数的流。

//需要导包:
//inport java.util.Random;

Random r = new Random();
int number = r.nextInt(10);//随机生成整数,范围0-9

2.常用方法

方法作用
nextDouble()返回下一个伪随机数,从这个随机数发生器的序列中 0.01.0之间的 float0.0分布。
nextInt();返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
nextInt(int bound)返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。

3.使用

  • 可以用来生成验证码
  • 为需要随机数的游戏提供随机数,如:
//猜数字游戏
//生成一个1-100的随机数
Random r = new Random();
int number = r.nextInt(100)+1;

Scanner sc = new Scanner(System.in);
//记录猜次数
int count = 0;

//多次猜数,猜对为止
while(true){
    int guess = sc.nextInt();
    count++;
    if (guess == number) {
        System.out.println("猜对了!");
        break;
    }else if (guess > number) {
        System.out.println("猜大了!");
    }else{
        System.out.println("猜小了!");
    }
}
System.out.println("共猜了"+count+"次");

java基础笔记002

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值