JavaSE(4)-Java的程序逻辑控制及猜数字游戏的实现

目录

顺序结构

分支结构

 if 语句

switch 语句

循环结构

while 循环

break

continue

 for 循环

 do while 循环

 输入输出

输出到控制台

从键盘输入

 猜数字游戏


顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行执行,
如果调整代码的书写顺序, 则执行顺序也发生变化。

分支结构

 if 语句

语法格式1: 如果布尔表达式结果为 true ,执行 if 中的语句,否则不执行。
if(布尔表达式)
{ 
  // 语句
}
语法格式2: 如果布尔表达式结果为 true ,则执行 if 中语句,否则执行 else 中语句。
if(布尔表达式)
{ 
    // 语句1 
}else{
    // 语句2 
}
语法格式3: 表达式 1 成立,执行语句 1 ,否则表达式 2 成立,执行语句 2 ,否则执行语句3
if(布尔表达式1){
   // 语句1
}else if(布尔表达式2){
   // 语句2
}else{
   // 语句3
}

switch 语句

基本语法
switch(表达式){
   case 常量值1:{
     语句1;
     [break;]//依据需求添加
   }
   case 常量值2:{
     语句2;
     [break;]
   }
   ...
  default:{
     内容都不满足时执行语句;
     [break;]
  }
}
执行流程
  • 先计算表达式的值
  • case依次比较,一旦匹配对应,就执行该项下的语句,直到遇到break时结束
  • 当表达式的值没有任何项可以匹配时,执行default
  • 多个case后的常量值不可以重复
  • switch的括号内只能是以下类型的表达式:

基本类型:bytecharshortint,注意不能是long类型

引用类型: String 常量串、枚举类型
  • break 不要遗漏, 否则会失去 "多分支选择" 的效果
  • switch 不能表达复杂的条件
  • switch 虽然支持嵌套, 但是很丑,一般不推荐

循环结构

while 循环

while(布尔表达式)
{ 
  循环语句; 
}
循环条件为 true, 则执行循环语句 ; 否则结束循环。

break

break 的功能是让循环提前结束,break只能跳出一层循环。

continue

continue 的功能是跳过本次循环(而不是结束循环), 立即进入下次循环。

 for 循环

for(表达式①;布尔表达式②;表达式③){
表达式④;
}
  • 表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
  • 表达式2: 循环条件
  • 表达式3: 循环变量的改变方式

 do while 循环

do{
循环语句;
}while(循环条件);
  • 上来就干,先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。
  • do while 循环最后的分号不要忘记
  • 一般 do while 很少用到, 更推荐使用 for while.

 输入输出

输出到控制台

基本语法
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
  • println 输出的内容自带 \n, print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的

格式化字符串JavaSE(4)-Java的程序逻辑控制及猜数字游戏的实现_第1张图片

 这个表格没必要记住, 用到的时候根据需要查一下就行了。

从键盘输入

使用 Scanner 读取字符串/整数/浮点数

import java.util.Scanner; // 需要导入 util 包,类似于C语言的头文件
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();//字符串
System.out.println("请输入你的年龄:");
int age = sc.nextInt();//int
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();//float
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法

使用 Scanner 循环读取 N 个数字,并求取其平均值

Scanner sc = new Scanner(System.in);
int sum = 0;//总数
int num = 0;//输入数字个数
while (sc.hasNextInt()) {
int tmp = sc.nextInt();
sum += tmp;
num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();
//执行输入部分
10
40.0
50.5
^Z//ctrl+Z
//运行结果
sum = 150.5
avg = 30.1
注意事项 : 当循环输入多个数据的时候 , 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl + d)。

 猜数字游戏

系统自动生成一个随机整数 (1-100), 然后由用户输入一个猜测的数字 . 如果输入的数字比该随机数小 , 提示 " 低了", 如果输入的数字比该随机数大 , 提示 " 高了 " , 如果输入的数字和随机数相等 , 则提示 " 猜对了 " ,参考代码如下:
import java.util.Random;
import java.util.Scanner;
//简单的猜数字项目
public class test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        Random rand = new Random();
        int num=0;//猜的数字
        int randNum= rand.nextInt(100)+1;//随机生成的数
        while(true){
            System.out.println("猜数字:>");
            num=scan.nextInt();
            if (num>randNum)
            {
                System.out.println("输入值过大");
            }
            else if (num

 

你可能感兴趣的:(JavaSe,java,开发语言,游戏,后端,算法)