java基础语法——条件判断与循环语句

我会带着你远行 2024-03-27 09:23 245阅读 0赞

目录

一、流程控制语句

流程控制语句分类

二、顺序结构

顺序结构概述

顺序结构图

三、选择结构

选择结构概述

选择结构(if语句1)

选择执行图1

选择结构(if语句2)

选择执行图2

选择结构(if语句3)

选择执行图3

选择结构(switch语句)

switch语句执行流程图

四、 循环结构

for循环语句图

五、 循环结构(while循环语句)

while循环语句执行流程图

六、 循环结构(do…while循环语句)

do…while循环语句执行流程图

流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

流程控制语句分类

——顺序结构

——选择结构

——循环结构

顺序结构

顺序结构概述

——是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

——总的来说:写在前面的先执行,写在后面的后执行

顺序结构图

c56b5363f612438dac4abdff2775ceaf.png

  1. package com.demo01;
  2. /*
  3. * 顺序结构:从上往下依次进行
  4. */
  5. public class OrderDemo {
  6. public static void main(String[] args) {
  7. System.out.println("开始");
  8. System.out.println("语句A");
  9. System.out.println("语句B");
  10. System.out.println("语句C");
  11. System.out.println("结束");
  12. }
  13. }

#

选择结构

选择结构概述

–也被称为分支结构。

–选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

–Java语言提供了两种选择结构语句

  • if语句
  • switch语句

选择结构(if语句1)

  • if语句有三种格式
  • if语句第一种格式:

–if(关系表达式) {

语句体

}

  • 执行流程

    ——首先判断关系表达式看其结果是true还是false

    ——如果是true就执行语句体

    ——如果是false就不执行语句体

    package com.demo02;

    /*

    • if语句有三种格式
    • if语句格式:
    • if(关系表达式) {
    • 语句体;
    • }
    • ִ执行流程
    • A:首先判断关系表达式是true还是false
    • B:如果是true,就执行语句体
    • C:如果是false,就不执行语句体
      */
      public class IfDemo {
      public static void main(String[] args) {
      System.out.println(“开始”);
      // 定义两个变量
      int a = 10;
      int b = 20;

      if (a == b) {
      System.out.println(“a等于b”);
      }

      int c = 10;
      if (a == c) {
      System.out.println(“a等于c”);
      }

      System.out.println(“结束”);
      }
      }

460739434c4c4e0badefad8be19fefec.png

选择执行图1

8c03ce67b1ea4af698df65de78a7a616.png

选择结构(if语句2)

  • if语句第二种格式:

–if(关系表达式){

语句体1;

}else{

语句体2;

}

  • 执行流程

–首先判断关系表达式看其结果是true还是false

–如果是true就执行语句体1

–如果是false就执行语句体2

选择执行图2

75e3920659044611a9673a449ffc7c57.png

  1. package com.demo02;
  2. import java.util.Scanner;
  3. /*
  4. * if语句格式2
  5. * if(关系表达式) {
  6. * 语句体1;
  7. * }else {
  8. * 语句体2;
  9. * }
  10. *
  11. * ִ执行流程
  12. * A:判断表达式是true还是false
  13. * B:如果是true,就执行语句体1
  14. * C:如果是false,就执行语句体2
  15. */
  16. public class IfDemo2 {
  17. public static void main(String[] args) {
  18. System.out.println("开始");
  19. // 判断给定的数据是奇数还是偶数
  20. Scanner sc = new Scanner(System.in);
  21. //接受数据
  22. System.out.println("请录入一个整数:");
  23. int a = sc.nextInt();
  24. if (a % 2 == 0) {
  25. System.out.println("a是偶数");
  26. } else {
  27. System.out.println("a是奇数");
  28. }
  29. System.out.println("结束");
  30. }
  31. }

0a78d86320eb41a9bec7fd969a7b5279.png

选择结构(if语句3)

  • if语句第三种格式:

–if(关系表达式1) {

语句体1;

}else if (关系表达式2){

语句体2;

}

else {

语句体n+1;

}

  • 执行流程

–首先判断关系表达式1看其结果是true还是false

–如果是true就执行语句体1

–如果是false就继续判断关系表达式2看其结果是true还是false

–如果是true就执行语句体2

–如果是false就继续判断关系表达式…看其结果是true还是false

–…

–如果没有任何关系表达式为true,就执行语句体n+1。

选择执行图3

703d143222ac4ad1b08e8d3c7c5fe26f.png

  1. *
  2. * if语句的3种格式
  3. * 第一种适合做一种判断
  4. * 第二种适合做两种判断
  5. * 第三种适合做多种判断
  6. */
  7. public class IfDemo3 {
  8. public static void main(String[] args) {
  9. while (true) {
  10. // x和y的关系满足如下:
  11. // x>=3 y = 2x + 1;
  12. // -1<=x<3 y = 2x;
  13. // x<-1 y = 2x-1;
  14. //
  15. // 根据给定的x的值,计算y并输出
  16. //
  17. Scanner sc = new Scanner(System.in);
  18. System.out.println("请录入一个数:");
  19. int x = sc.nextInt();
  20. int y = 0;
  21. //根据x的值给y赋值ֵ
  22. if (x >= 3) {
  23. y = 2 * x + 1;
  24. } else if (x >= -1 && x < 3) {
  25. y = 2 * x;
  26. } else if(x >= -10 && x < -1){
  27. y = 2 * x - 1;
  28. }
  29. System.out.println("y的值是"+y);
  30. }
  31. }
  32. }

bf9baa69cda34d629dd64a877a4dcedc.png

练习:键盘录入学生考试成绩,请根据成绩判断该学生属于那个级别

  1. package com.demo02;
  2. import java.util.Scanner;
  3. /*
  4. * 键盘录入学生考试成绩,请根据成绩判断属于哪个级别
  5. * 90-100 优秀
  6. * 80-90 好
  7. * 70-80 良
  8. * 60-70 及格
  9. * 60以下 不及格
  10. *
  11. * 分析:
  12. * A:键盘录入学生考试成绩
  13. * 三步骤
  14. * B:ͨ通过简单分析,我们决定采用if语句格式来实现
  15. *
  16. * 程序一定要考虑周全
  17. * 安全数据
  18. * 边界数据
  19. * 错误数据
  20. */
  21. public class IfTest2 {
  22. public static void main(String[] args) {
  23. while(true) {
  24. // 创建对象
  25. Scanner sc = new Scanner(System.in);
  26. //接收数据
  27. System.out.println("输入考生成绩:");
  28. int score = sc.nextInt();
  29. if (score < 0 || score > 100) {
  30. System.out.println("你的成绩是错误的");
  31. } else if (score >= 90 && score <= 100) {
  32. System.out.println("你的成绩属于优秀");
  33. } else if (score >= 80 && score < 90) {
  34. System.out.println("你的成绩属于好");
  35. } else if (score >= 70 && score < 80) {
  36. System.out.println("你的成绩属于良");
  37. } else if (score >= 60 && score < 70) {
  38. System.out.println("你的成绩属于及格");
  39. } else {
  40. System.out.println("你的成绩不及格");
  41. }
  42. }
  43. }
  44. }

8e58c266a1014f048ef8d47994524fb8.png

选择结构(switch语句)

switch语句格式:

–switch(表达式) {

case 值1

语句体1;

break;

case 值2:

语句体2;

break;

default:

语句体n+1;

break;

}

•格式解释

–switch表示这是switch语句

•表达式的取值:byte,short,int,char

•JDK5以后可以是枚举

•JDK7以后可以是String

–case后面跟的是要和表达式进行比较的值

–语句体部分可以是一条或多条语句

–break表示中断,结束的意思,可以结束switch语句

–default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

•执行流程

–首先计算出表达式的值

–其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

–最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

switch语句执行流程图

e14dd4b4f4ea47c9a347f60da6854097.png

  1. package com.demo03;
  2. import java.util.Scanner;
  3. /*
  4. * switch语句格式
  5. * switch(表达式) {
  6. * case ֵ1:
  7. * 语句体1;
  8. * break;
  9. * case ֵ2:
  10. * 语句体22;
  11. * break;
  12. * ...
  13. * default:
  14. * 语句体n+1;
  15. * break;
  16. * }
  17. * 格式解释
  18. * 表达式:byte,short,int,char
  19. * JDK5以后可以是枚举
  20. * JDK7以后可以是字符串
  21. * case:就是要和表达式比较的值ֵ
  22. * break:表示中断结束
  23. * default:表示所有语句体的情况都不匹配的时候就执行语句体n+1.和if语句的else相似
  24. * ִ�����̣�
  25. * A:计算出表达式的值ֵ
  26. * B:拿出计算出来的值和case后边的值依次比较,一旦有对应的值,就执该处的语句,在执行过程中,遇到break就结束
  27. * C:如果和所有的case都不匹配,就执行default控制语句,然后结束
  28. * ����
  29. * 根据键盘录入的值1,2,3---7,输出对应的星期一,星期二,星期三---,星期日
  30. */
  31. public class SwitchDemo {
  32. public static void main(String[] args) {
  33. // 创建对象
  34. while(true) {
  35. Scanner sc = new Scanner(System.in);
  36. // 接收数据
  37. System.out.println("请输入数字(1-7):");
  38. int weekday = sc.nextInt();
  39. // switch语句实现
  40. switch (weekday) {
  41. case 1:
  42. System.out.println("星期一");
  43. break;
  44. case 2:
  45. System.out.println("星期二");
  46. break;
  47. case 3:
  48. System.out.println("星期三");
  49. break;
  50. case 4:
  51. System.out.println("星期四");
  52. break;
  53. case 5:
  54. System.out.println("星期五");
  55. break;
  56. case 6:
  57. System.out.println("星期六");
  58. break;
  59. case 7:
  60. System.out.println("星期日");
  61. break;
  62. default:
  63. System.out.println("输入错误");
  64. break;
  65. }
  66. }
  67. }
  68. }

8989df8e5ded4569896730da6decb41e.png

循环结构

——循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句的组成

–初始化语句:

•一条或者多条语句,这些语句完成一些初始化操作。

–判断条件语句:

•这是一个boolean 表达式,这个表达式能决定是否执行循环体。

–循环体语句:

•这个部分是循环体语句,也就是我们要多次做的事情。

–控制条件语句:

•这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

for循环语句格式:

–for(初始化语句;判断条件语句;控制条件语句){

循环体语句;

}

–执行流程

•A:执行初始化语句

•B:执行判断条件语句,看其结果是true还是false

–如果是false,循环结束。

–如果是true,继续执行。

•C:执行循环体语句

•D:执行控制条件语句

•E:回到B继续

for循环语句图

913713d8938c42e99c440e9ade2c968d.png

循环结构(for循环练习)

  1. 在控制台输出10次Hello Word
  2. 获取数据1-5和5-1
  3. 求出1-5之间数据之和
  4. 求出1-100之间偶数和
  5. 在控制台输出所有的”水仙花数”
  6. 统计”水仙花数”共有多少个

练习1:在控制台输出10次Hello Word

  1. package com.demo04;
  2. /*
  3. * for循环语句格式
  4. * for(初始化语句;判断条件语句;控制条件语句) {
  5. * 循环体语句;
  6. * }
  7. *
  8. *
  9. * A:ִ执行初始化语句
  10. * B:ִ执行判断条件语句,看结果是true还是false
  11. * 如果是true,就继续执行
  12. * 如果是false,就结束循环
  13. * C:ִ执行循环体语句
  14. * D:ִ执行控制条件语句
  15. * E:回到B继续
  16. *
  17. * 需求:
  18. * 在控制台输出10次hello word
  19. */
  20. public class ForDemo {
  21. public static void main(String[] args) {
  22. for (int x = 1; x <= 10; x++) {
  23. System.out.println("HelloWorld:"+x);
  24. }
  25. }
  26. }

e596250073184a8aa69f56d2fcb578cc.png

练习2:获取数据1-5和5-1

  1. package com.demo04;
  2. /*
  3. * for循环语句格式
  4. * for(初始化语句;判断条件语句;控制条件语句) {
  5. * 循环体语句;
  6. * }
  7. *
  8. * ִ执行过程
  9. * A:ִ执行初始化语句
  10. * B:ִ执行判断条件语句,看结果是true还是false
  11. * 如果是true,就继续执行
  12. * 如果是false,就结束循环
  13. * C:ִ执行循环体语句
  14. * D:ִ执行控制条件语句
  15. * E:回到B继续
  16. *
  17. * 需求:
  18. * 获取数据1-5和5-1
  19. */
  20. public class ForDemo {
  21. public static void main(String[] args) {
  22. System.out.println("*************");
  23. for (int x = 1; x <= 5; x++) {
  24. System.out.println(x);
  25. }
  26. System.out.println("*************");
  27. for(int i=5;i>=1;i--) {
  28. System.out.println(i);
  29. }
  30. }
  31. }

87243c196665474ea5d05f7879bcf29f.png

练习3:求出1-5之间数据之和

  1. package com.demo04;
  2. /*
  3. * for循环语句格式
  4. * for(初始化语句;判断条件语句;控制条件语句) {
  5. * 循环体语句;
  6. * }
  7. *
  8. * ִ执行过程
  9. * A:ִ执行初始化语句
  10. * B:ִ执行判断条件语句,看结果是true还是false
  11. * 如果是true,就继续执行
  12. * 如果是false,就结束循环
  13. * C:ִ执行循环体语句
  14. * D:ִ执行控制条件语句
  15. * E:回到B继续
  16. *
  17. * 需求:
  18. * 求出1-5之间数据之和
  19. */
  20. public class ForDemo {
  21. public static void main(String[] args) {
  22. int sum = 0;
  23. System.out.println("*************");
  24. for (int x = 1; x <= 5; x++) {
  25. sum = sum + x;
  26. }
  27. System.out.println("1-5之和为:"+ sum);
  28. }
  29. }

1c835cfe087d460ca1422d88887f3f76.png

练习4:求出1-100之间偶数和

  1. package com.demo04;
  2. /*
  3. * for循环语句格式
  4. * for(初始化语句;判断条件语句;控制条件语句) {
  5. * 循环体语句;
  6. * }
  7. *
  8. * ִ执行过程
  9. * A:ִ执行初始化语句
  10. * B:ִ执行判断条件语句,看结果是true还是false
  11. * 如果是true,就继续执行
  12. * 如果是false,就结束循环
  13. * C:ִ执行循环体语句
  14. * D:ִ执行控制条件语句
  15. * E:回到B继续
  16. *
  17. * 需求:
  18. * 求出1-100之间偶数和
  19. */
  20. public class ForDemo {
  21. public static void main(String[] args) {
  22. int sum = 0;
  23. System.out.println("*************");
  24. for (int x = 1; x <= 100; x++) {
  25. if (x%2==0) {
  26. sum = sum + x; }
  27. }
  28. System.out.println("1-100 偶数之和为:"+ sum);
  29. }
  30. }

606bb5af3a36460bb967de99cc41071d.png

练习5:在控制台输出所有的”水仙花数”

  1. package com.demo04;
  2. /*
  3. * 需求:在控制台输出所有的水仙花数
  4. *
  5. * 分析:
  6. * 什么是水仙花数?
  7. * 所谓的水仙花数是指一个三位数,是指各位数字的立方和等于该数本身
  8. * 举例子:153就是一个水仙花数
  9. * 153 = 1*1*1 + 5*5*5 + 3*3*3
  10. *
  11. * A:三位数实际告诉我们水仙花数字的范围:
  12. * 100-999
  13. * B:如何获取一个数据的每一位上的数字呢?
  14. * 举例:我有一个数据153,如何获取个位、十位、百位?
  15. * 个位153%10 = 3;
  16. * 十位153/10%10 = 5;
  17. * 百位153/10/10%10 = 1;
  18. * C:让每个位上的立方和相加,并和该数字比较,如果相等,就是水仙花数,在控制台输出
  19. */
  20. public class ForTest4 {
  21. public static void main(String[] args) {
  22. //ͨ通过循环获取到每一个三位数
  23. for(int x=100; x<=999; x++) {
  24. //获取十位、个位、百位
  25. int ge = x%10;
  26. int shi = x/10%10;
  27. int bai = x/10/10%10;
  28. //让每个位上的立方和相加,并和该数字比较,如果相等,就是水仙花数,在控制台输出
  29. if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
  30. System.out.println(x);
  31. }
  32. }
  33. }
  34. }

cec9c9ad4a9748b2944b8c25749ea14d.png

练习6:统计”水仙花数”共有多少个

  1. package com.demo04;
  2. /*
  3. * 需求:在控制台输出所有的水仙花数
  4. *
  5. * 分析:
  6. * 什么是水仙花数?
  7. * 所谓的水仙花数是指一个三位数,是指各位数字的立方和等于该数本身
  8. * 举例子:153就是一个水仙花数
  9. * 153 = 1*1*1 + 5*5*5 + 3*3*3
  10. *
  11. * A:三位数实际告诉我们水仙花数字的范围:
  12. * 100-999
  13. * B:如何获取一个数据的每一位上的数字呢?
  14. * 举例:我有一个数据153,如何获取个位、十位、百位?
  15. * 个位153%10 = 3;
  16. * 十位153/10%10 = 5;
  17. * 百位153/10/10%10 = 1;
  18. * C:让每个位上的立方和相加,并和该数字比较,如果相等,就是水仙花数,在控制台输出
  19. */
  20. public class ForTest4 {
  21. public static void main(String[] args) {
  22. //ͨ通过循环获取到每一个三位数
  23. int count = 0;
  24. for(int x=100; x<=999; x++) {
  25. //获取十位、个位、百位
  26. int ge = x%10;
  27. int shi = x/10%10;
  28. int bai = x/10/10%10;
  29. //让每个位上的立方和相加,并和该数字比较,如果相等,就是水仙花数,在控制台输出
  30. if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
  31. count++;
  32. }
  33. }
  34. System.out.println(count);
  35. }
  36. }

651d607d82244158bd03695515e97ac6.png

循环结构(while循环语句)

while循环语句格式:

–基本格式

while(判断条件语句) {

循环体语句;

}

–改版格式

初始化语句;

while(判断条件语句) {

循环体语句;

控制条件语句; }

while循环语句执行流程图

daa1d45c118d424e9fc28956164ee939.png

  1. package com.demo05;
  2. /*
  3. * while循环语句的基本格式
  4. * while(判断条件语句) {
  5. * 循环体语句;
  6. * }
  7. * 扩展格式
  8. * 初始化语句;
  9. * while(判断条件语句) {
  10. * 循环体语句;
  11. * 控制条件语句
  12. * }
  13. *
  14. * 回顾for循环语句格式
  15. * for(初始化语句;判断条件语句;控制条件语句) {
  16. * 循环体语句;
  17. * }
  18. */
  19. public class WhileDemo {
  20. public static void main(String[] args) {
  21. //输出10次hello World
  22. /*
  23. * for(int x=1; x<=10; x++) { System.out.println("HellloWorld"); }
  24. */
  25. //while循环实现
  26. int x=1;
  27. while(x<=10) {
  28. System.out.println("HellloWorld");
  29. x++;
  30. }
  31. System.out.println(x);
  32. }
  33. }

" class="reference-link">0eff2e242d6b405aad5b9832cfb729d6.png

循环结构(do…while循环语句)

do…while循环语句格式:

–基本格式

do {

循环体语句;

}while((判断条件语句);

–改版格式

初始化语句;

do {

循环体语句;

控制条件语句;}

while((判断条件语句);

do…while循环语句执行流程图

d8ff0557d13a40348c31708fca3a9c5d.png

  1. package com.demo06;
  2. /*
  3. * do...while循环基本格式
  4. * do {
  5. * 循环体语句;
  6. * }while(判断条件语句);
  7. * 扩展格式
  8. * 初始化语句;
  9. * do {
  10. * 循环体语句;
  11. * 控制条件语句;
  12. * }while(判断条件语句);
  13. * ִ执行流程
  14. * A:ִ执行初始化语句
  15. * B:ִ执行循环体语句
  16. * C:ִ执行控制条件语句;
  17. * D:ִ执行判断条件语句
  18. * 如果是true,回到B继续
  19. * 如果是false,就结束
  20. *
  21. *
  22. */
  23. public class DoWhileDemo {
  24. public static void main(String[] args) {
  25. int x=1;
  26. System.out.println("************************");
  27. do {
  28. System.out.println("HelloWorld");
  29. x++;
  30. }while(x<=10);
  31. }
  32. }

64bbffa8da3d48a79b4a0c7004d8d7d2.png 循环结构(三种循环的区别)

虽然可以完成同样的功能,但是还是有小区别:

do…while**循环至少会执行一次循环体**。

–for循环和while循环只有在条件成立的时候才会去执行循环体

for循环语句和while循环语句的小区别:

–使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for**循环结束,该变量就从内存中消失,能够提高内存的使用效率**。(for 变量定义在括号里边,while 变量定义在括号外边)

跳转控制语句

  • 我想让循环在某一步的时候结束或者跳过某些数据不要,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue来实现控制语句的中断和跳转。
  • break 中断
  • continue 继续
  • break的使用场景:

–在选择结构switch语句中

–在循环语句中

–离开使用场景的存在是没有意义的

  • break的作用:

–跳出单层循环

  1. package com.demo07;
  2. public class BreakDemo {
  3. public static void main(String[] args) {
  4. //break;
  5. for(int x=1; x<=10; x++) {
  6. if(x == 3) {
  7. break;
  8. }
  9. System.out.println("HelloWorld");
  10. }
  11. }
  12. }
  • continue的使用场景:

–在循环语句中

–离开使用场景的存在是没有意义的

  • continue的作用:

–单层循环对比break,然后总结两个的区别

•break 退出当前循环

•continue 退出本次循环

  1. package com.demo07;
  2. public class ContinueDemo {
  3. public static void main(String[] args) {
  4. //continue;
  5. for(int x=1; x<=10; x++) {
  6. if(x == 3) {
  7. //break;
  8. continue;
  9. }
  10. System.out.println("HelloWorld");
  11. }
  12. }
  13. }

" class="reference-link">e898c69950404c78a1ee3f2b07270233.png

退出当前循环,往后走

随机数

  • 作用:———– 用于产生一个随机数
  • 使用步骤(和Scanner类似)

–导包

•import java.util.Random;

–创建对象

•Random r = new Random()

–获取随机数

•int number = r.nextInt(10);

•产生的数据在0到10之间,包括0,不包括10。

•如何获取一个1-100之间的随机数呢?

  1. import java.util.Random;
  2. /**
  3. *
  4. * @author 无限嚣张(菜菜)
  5. * 使用步骤(和Scanner类似)
  6. * –导包
  7. *
  8. * •import java.util.Random;
  9. *
  10. * –创建对象
  11. *
  12. * •Random r = new Random()
  13. *
  14. * –获取随机数
  15. *
  16. * •int number = r.nextInt(10);
  17. */
  18. public class SuiJiShu {
  19. public static void main(String[] args) {
  20. for(int x=1;x<=10;x++) {
  21. // TODO Auto-generated method stub
  22. // 创建对象
  23. Random Sc = new Random();
  24. //接收数据
  25. int i = Sc.nextInt(10);
  26. System.out.println(i);}
  27. //如何获取1-100
  28. //int i = Sc.nextInt(100)+1;
  29. }
  30. }

a804d5ed359e46728168267adbdd7991.png

随机数练习:猜数字小游戏 (拒绝赌博,热爱家庭)

  1. import java.util.Random;
  2. import java.util.Scanner;
  3. /**
  4. *
  5. * @author 无限嚣张(菜菜)
  6. * 使用步骤(和Scanner类似)
  7. * –导包
  8. *
  9. * •import java.util.Random;
  10. *
  11. * –创建对象
  12. *
  13. * •Random r = new Random()
  14. *
  15. * –获取随机数
  16. *
  17. * •int number = r.nextInt(10);
  18. * 猜数字小游戏案例
  19. * 系统产生一个1-100之间的随机数
  20. * 分析:
  21. * A:系统产生一个1-100之间的随机数
  22. * random r = new Random();
  23. * int number = r.nextInt(100)+1;
  24. * B:键盘录入我们要猜的数据
  25. * C:比较这两个数据,用if语句实现
  26. * 大了:提示大了
  27. * 笑了:提示小了
  28. * 猜中:提示恭喜你猜中了
  29. * D:多次猜数据,而我们不知道猜多少次怎么办呢?
  30. * while(true) 循环体语句
  31. */
  32. public class SuiJiShu {
  33. public static void main(String[] args) {
  34. // TODO Auto-generated method stub
  35. // 创建对象
  36. while(true) {
  37. Random Sc = new Random();
  38. //接收数据
  39. int i = Sc.nextInt(10);
  40. System.out.println("随机数为:");
  41. System.out.println(i);
  42. //创建键盘录入数据
  43. Scanner sc = new Scanner(System.in);
  44. //接受数据
  45. System.out.println("请输入您要猜的数字:");
  46. int j = sc.nextInt();
  47. if(i>j) {
  48. System.out.println("猜小了");
  49. }
  50. else if(i<j) {
  51. System.out.println("猜大了");
  52. }
  53. else {
  54. System.out.println("恭喜您猜中了");
  55. break;
  56. }
  57. }
  58. //如何获取1-100
  59. //int i = Sc.nextInt(100)+1;
  60. }
  61. }

7c478523a51b4f9b862f00255bea288a.png

发表评论

表情:
评论列表 (有 0 条评论,245人围观)

还没有评论,来说两句吧...

相关阅读

    相关 判断语句循环语句

    java程序流程控制语句 程序的流程控制分为以下几种方式: 1. 顺序结构 2. 判断结构 3. 选择结构 4. 循环结构 一般情况下,程序是从上往下依次顺序