【JavaSE】Java基础语法(四)

简介: 【JavaSE】Java基础语法(四)

🍼1. 循环细节


🥢1.1 循环语句-dowhile循环


完整格式


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


执行流程


🍁① 执行初始化语句


🍁② 执行循环体语句


🍁③ 执行条件控制语句


🍁④ 执行条件判断语句,看其结果是true还是false


  如果是false,循环结束
  如果是true,继续执行


🍁⑤ 回到②继续


示例代码


public class DoWhileDemo {
  public static void main(String[] args) {
    //需求:在控制台输出5次"HelloWorld"
    //for循环实现
    for(int i=1; i<=5; i++) {
      System.out.println("HelloWorld");
    }
    System.out.println("--------");
    //do...while循环实现
    int j = 1;
    do {
      System.out.println("HelloWorld");
      j++;
    }while(j<=5);
  }
}


🥢1.2 三种循环的区别


  • 🍁三种循环的区别


  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)


  • do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)


  • 🍁for循环和while的区别


  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了


  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用


  • 🍁死循环(无限循环)的三种格式


1. for(;;){}
2. while(true){}
3. do {} while(true);


🥢1.3 跳转控制语句


  • 跳转控制语句(break)


  • 跳出循环,结束循环


  • 跳转控制语句(continue)


  • 跳过本次循环,继续下次循环


  • 注意: continue只能在循环中进行使用!


🍼2. Random


🥢2.1 Random产生随机数


概述


  • Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能


  • API后续课程详细讲解,现在可以简单理解为Java已经写好的代码


示例代码


import java.util.Random;
/*
   Random : 产生随机数
   1. 导包 : import java.util.Random;
   导包的动作必须出现在类定义的上面
   2. 创建对象 : Random r = new Random();
   上面这个格式里面,r 是变量名,可以变,其他的都不允许变
   3. 获取随机数 : int number = r.nextInt(10); //获取数据的范围:[0,10) 包括0,
   不包括10
   上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许
   需求: 产生随机数1-10之间的
*/
public static void main(String[] args){
   // 2. 创建对象
   Random r = new Random();
   for(int i = 1; i <= 10; i++){
    // 3. 获取随机数
    int num = r.nextInt(10) + 1; // 1-10
    System.out.println(num);
   }
}


🥢2.2 Random练习-猜数字


需求


程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?


当猜错的时候根据不同情况给出相应的提示


🍁A. 如果猜的数字比真实数字大,提示你猜的数据大了
🍁B. 如果猜的数字比真实数字小,提示你猜的数据小了
🍁C. 如果猜的数字与真实数字相等,提示恭喜你猜中了


示例代码:


需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
🍸1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
🍸2. 使用Random产生一个1-100之间的数, 作为要猜的数
🍸3. 键盘录入用户猜的的数据
🍸4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
🍸5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环
包裹
🍸6. 猜对之后, break结束.


import java.util.Scanner;
import java.util.Random;
public class Test {
  public static void main(String[] args){
    // 1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入
    Random r = new Random();
    Scanner sc = new Scanner(System.in);
    // 2. 使用Random产生一个1-100之间的数, 作为要猜的数
    int randomNum = r.nextInt(100) + 1;
    // 5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死
    循环包裹
    while(true){
      // 3. 键盘录入用户猜的的数据
      System.out.println("请输入您猜的数据:");
      int num = sc.nextInt();
      // 4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示
      if(num > randomNum){
        System.out.println("猜大了");
      }else if(num < randomNum){
        System.out.println("猜小了");
      }else{
        // 6. 猜对之后, break结束.
        System.out.println("恭喜,猜中了");
        break;
      }
    }
    System.out.println("感谢您的使用");
  }
}


相关文章
|
10天前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
17 6
|
28天前
|
存储 Java 容器
Java 基础语法
Java是一种面向对象的编程语言,其基础语法包括类和对象、方法、变量、控制流语句、继承和多态以及异常处理。代码需写在类中,`main()`方法是程序入口,变量用于存储数据,控制流语句控制程序执行流程,继承和多态增强代码灵活性,异常处理保证程序稳定性。掌握这些知识可帮助您编写简单的Java程序。
|
2月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
20 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
2月前
|
存储 前端开发 JavaScript
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
【8月更文挑战第8天】10min快速入门java的基础语法
33 2
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
|
1月前
|
安全 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法的深度融合
在Java的演进历程中,Lambda表达式无疑是Java 8引入的一项革命性特性,它极大地简化了函数式编程在Java中的应用,使得代码更加简洁、易于阅读和维护。而这一切的背后,JVM的invokedynamic指令功不可没。本文将深入探讨invokedynamic指令的工作原理及其与Java Lambda语法的紧密联系,带您领略这一技术背后的奥秘。
19 1
|
2月前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
92 0
【aspose-words】Aspose.Words for Java模板语法详细剖析
|
2月前
|
Java API
Java语法Java语法
【8月更文挑战第12天】Java语法
34 3
|
2月前
|
Java 关系型数据库 程序员
11 Java接口(语法、规范、微观&宏观接口)
11 Java接口(语法、规范、微观&宏观接口)
40 6
|
2月前
|
缓存 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法
【8月更文挑战第27天】在Java的演进历程中,invokedynamic指令的引入和Lambda表达式的出现无疑是两大重要里程碑。它们不仅深刻改变了Java的开发模式和性能表现,还极大地推动了Java在函数式编程和动态语言支持方面的进步。本文将从技术角度浅析JVM中的invokedynamic指令及其与Java Lambda语法的紧密联系。
41 0
|
2月前
|
Java
IDEA——JAVA的快捷语法
IDEA——JAVA的快捷语法
33 0
下一篇
无影云桌面