#一个33岁新手小白在黑马学习程序员的第四天-1

java基础流程控制语句

for循环语句注意事项

循环 { } 中定义的变量,在每一轮循环结束后,都会从内存中释放:

js 复制代码
public class ForDemo2 {
    /*
        注意事项:
            1. 循环 { } 中定义的变量, 在每一轮循环结束后, 都会从内存中释放
            2. 循环 ( ) 中定义的变量, 在整个循环结束后, 都会从内存中释放
            3. 循环语句 ( ) 和  { } 之间不要写分号
     */
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            int a = 10;
            System.out.println("HelloWorld");
        }
    }
}

循环嵌套

循环嵌套: 在循环语句中, 继续出现循环语句: 内循环对于外循环来说,只是一次循环任务,需要执行完毕,外循环才会开启下一轮 所以执行起来就是,外循环执行一次,内循环执行一圈.

js 复制代码
public static void main(String[] args) {
   
        // 外循环: 控制行数
        for (int i = 1; i <= 5; i++) {
            // 内循环: 控制列数
            for (int j = 1; j <= 10; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
      }
js 复制代码
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();
        }

    }

while循环

js 复制代码
while(判断语句){
     整体循环语句
     控制语句
}

执行流程和for循环执行流程一致

  1. 执行初始化语句, 在整个循环期间, 只执行一次
  2. 执行判断条件, 看其返回的结果是true, 还是false false : 循环结束 true : 进入第三步
  3. 执行循环体语句
  4. 执行条件控制语句
  5. 回到2继续
案例:
js 复制代码
 public static void main(String[] args) {
 int i = 1;
        while (i <= 5) {
            System.out.println("HelloWorld");
            i++;
        }
    }
js 复制代码
    public static void main(String[] args) {
        double peakheight = 8848860;
        double paperThickness = 0.1;
        int count = 0;
        int i = 1;
        while (paperThickness < peakheight){
            System.out.println("开始折"+ i + "下");i++ ;
            paperThickness *= 2;
            count++;

        }
        System.out.println("折了多少"+ count +"次就是珠穆朗玛峰高度");
    }
概要:

while和for有什么区别?什么时候用for,什么时候用while?

功能上是完全一样的,for能解决的while也能解决,反之亦然 使用规范:知道循环次数,使用for;不知道循环次数建议使用while

do...while循环

  • 执行流程
  1. 执行初始化语句
  2. 执行循环体语句
  3. 执行条件控制语句
  4. 执行循环条件,看返回结果是true还是false
    1. false : 循环结束
    2. true : 回到2继续

三种循环的区别

  • for循环 和 while(先判断后执行)
  • do。。。while(先执行后判断)

  • 1、for循环和while的执行流程是一模一样的,功能上无区别,for能做得while也能做,反之亦然。
  • 2、使用规范:如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。
  • 3.其他区别:for循环中,控制循环的变量只在循环中使用。while循环中,控制循环的变量在循环后还可以继续使用。

Random生成随机数

Random 和 Scanner 类似,也是 Java 已经写好的类,我们可以使用 Random 产生随机数

js 复制代码
improt java.util.random;  //导包:在JDK中调用随机数生成器

pubiic class Test {
   public static void main (String[]args){
          Random r = new Random(); //调用随机数生成器出来
          
          int num1 = r.nextInt(10); //赋予随机数最大值(随机数最大值不包含数值本身:0~9)
   }
}

案例:

js 复制代码
import java.util.Random;
import java.util.Scanner;

public class Demo006 {
    public static void main(String[] args) {
        System.out.println("这是个猜数字的游戏");
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        int randomNumber = r.nextInt(100) + 1;
        int randomNumer;
        while (true) {
            System.out.println("请输入一个数字:");
            randomNumer = sc.nextInt();
            if (randomNumer > randomNumber) {
                System.out.println("你输入的数字大了");
            } else if (randomNumer < randomNumber) {
                System.out.println("你输入的数字小了");
            } else if (randomNumer == randomNumber) {
                System.out.println("恭喜你猜对了");
                break;
            }
        }
        System.out.println("随机生成的数字为:" + randomNumer);
    }

 }

break和continue

break :终止 循环体内容的执行,也就是说结束当前的整个循环。

continue :跳过 某次循环体内容的执行,继续下一次的执行。

案例

js 复制代码
     /*
        break: 跳出, 结束循环或switch语句
     */
    public static void main(String[] args) {
        for (int i = 7; i <= 12; i++) {
            if (i == 10) {
                break;
            }
            System.out.println(i + "点正在学习");
        }
    }
js 复制代码
 /*
        continue: 跳过某次循环, 继续下一次循环
 */
    public static void main(String[] args) {
        for (int i = 1; i <= 50; i++) {
            if(i == 3 || i == 11){
                continue;

            }
            System.out.println("老师正在给第" + i + "同学发冰棍儿~~~");
        }
    }
}

需要注意的事项

break :只能在循环、switch 当中进行使用

continue : 只能按照自循环中进行使用

相关推荐
一个做软件开发的牛马1 分钟前
Java 继承与多态:从"是什么"到"能做什么"的设计思维
java·后端
不懂的浪漫10 分钟前
05|Netty ByteBuf 源码分析:为什么不用 Java ByteBuffer
java·netty
wapicn9917 分钟前
API接口调试笔记:从注册到第一个数据返回,全流程详解
java·开发语言·python·lua
程序员阿明19 分钟前
flowable集成flowable及其运行示例spring boot后端
java·spring boot·后端
代码不停27 分钟前
Spring IoC&DI
java·后端·spring
KANGBboy32 分钟前
java知识二(数组)
java·开发语言·python
爱笑的源码基地37 分钟前
智慧班牌源码:从后端SpringBoot到前端Vue2的全栈实现
java·大数据·云计算·源码·程序代码·智慧校园源码·智慧班牌源码
XiYang-DING42 分钟前
【Spring】日志
java·数据库·spring
雪度娃娃1 小时前
转向现代C++——优先选用删除函数而非private未定义函数
java·jvm·c++
Kurisu5751 小时前
深度拆解:从 Linux 内核 Namespace 与 Cgroups 洞察容器技术的底层本质
java·linux·运维