Java基础语法(流程控制语句)
1 键盘输入
Scanner 类是属于引用数据类型,我们先了解下引用数据类型。
- 引用数据类型的使用:
与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。
数据类型 变量名 = new 数据类型();
每种引用数据类型都有其功能,我们可以调用该类型实例的功能。
变量名.方法名(); - Scanner 类
Scanner 类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。
Scanner 使用步骤:
导包:import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:
int i = sc.nextInt(); 用来接收控制台录入的数字
String s = sc.next(); 用来接收控制台录入的字符串
了解完Scanner类,我们编写代码来使用下它:ScannerDemo.java
import java.util.Scanner;
/**
* @author zc
* @date 2021/10/13 14:52
* 键盘输入类 Scanner 测试,需要导包 java.util.Scanner
* 导包的快捷键:
* eclipse: ctrl + shift + o 或 ctrl+ 1
* idea: alt + enter
*/
public class ScannerDemo {
public static void main(String[] args) {
//
// 1、创建一个接收键盘输出类的对象
Scanner sc = new Scanner(System.in);
// 2、提示接收键盘输入的数据
System.out.println("请输入一个整数:");
// 3、控制台上键盘输入整数类型的数据,并接收数据
int i1 = sc.nextInt();
// 4、提示接收键盘输入的数据
System.out.println("请输入一个不含空格的字符串:");
// 5、控制台上键盘输入字符串类型的数据,并接收数据
// next():字符串中不包含空格使用;nextLine():字符串中包含空格使用
String str = sc.next();
// 6、提示接收键盘输入的数据
System.out.println("请输入一个小数:");
// 7、nextDouble():接收浮点型数据
double d1 = sc.nextDouble();
System.out.println(i1+"---"+str+"---"+d1);
}
}
2 随机数类 Math、Random
随机数:
- 真随机:物理现象产生的随机数;
- 伪随机:计算某一个算法生成随机数。
方式1:
Math 类中的一个静态方法 ===> random() ,返回值为 double,值为正号,大于等于 0.0 ,小于 1.0 。
调用方法生成随机数:
// 生成随机数在区间 [0.0~1.0)
double d = Math.random();
// Math.random()*10 在区间[0.0,10.0),从double强制转换为int整型后在区间[0~9],再 +1 后生成整数在区间 [1~10]
int num = (int)(Math.random()*10) + 1;
总结:
// 生成整数区间 [0, N-1]
int num = (int)(Math.random()*N);
// 生成整数在某区间 [min, max]
int min = 4;
int max = 9;
// 生成整数在某区间 [4, 9]
int n = (int)((Math.random()*(max-min+1))+min;
System.out.println(n);
方式2:
用来产生随机数的类 Random,它属于引用数据类型。这个 Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式。
- 方法简介
public int nextInt(int maxValue):产生 [0,maxValue) 范围的随机正整数,包含0,不包含maxValue,要负整数的话就 *(-1);
public double nextDouble():产生 [0,1) 范围的随机小数,包含 0.0,不包含 1.0。 - 引用数据类型的使用方式,在学习键盘录入 Scanner 时,我们已经学习过,在这里Random 使用方式:
import 导包:所属包 java.util.Random;
创建实例格式:Random 变量名 = new Random();
接下来,通过一段代码,一起学习下Random类的使用,RandomDemo.java
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
// 创建Random类的实例
Random r = new Random();
// 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量
int i = r.nextInt(100);
//得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量
double d = r.nextDouble();
// 介于区间(-10,0]
int index = rand.nextInt(10)*(-1);
System.out.println(i);
System.out.println(d);
System.out.println(index);
}
}
3 顺序结构
顺序结构是程序执行时的默认结构,程序执行的流程从上到下,从左到右执行:
public static void main(String[] args) {
// 从左到右,运算符优先级先算加法,找不到变量 m,此应为第二步
int n = m + 8;
// 先声明,此应为第一步
int m = 10;
// 第三步输出 n
System.out.println(n);
}
// 上面的上下顺序执行编译报错,改:
public static void main(String[] args) {
int m = 10;
int n = m + 8;
System.out.println(n);
}
4 选择结构
4.1 if 语句
if 语句是指如果满足某种条件,就进行某种处理。例如:小明妈妈跟小明说“如果你考试得了100 分,星期天就带你去游乐场玩”。这句话可以通过下面的一段伪代码来描述:
如果小明考试得了100分
妈妈星期天带小明去游乐场
在上面的伪代码中,“如果”相当于 Java 中的关键字 if,“小明考试得了100分” 是判断条件,需要用 () 括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在 {} 中。修改后的伪代码如下:
if (小明考试得了100分) {
妈妈星期天带小明去游乐场;
}
上面的例子就描述了 if 语句的用法,在 Java 中,if 语句的具体语法格式如下:
if (条件语句){
执行语句;
......
}
上述格式中,“条件语句”是一个判断语句,结果是布尔值。if 语句的执行流程如下图所示:
- 如果“条件语句”返回 true,则执行 {} 里的语句;
- 如果“条件语句”返回 false, 则不执行 {} 里的语句;
接下来通过一段代码,学习一下 if 语句的具体用法,IfDemo01.java:
public class IfDemo01 {
public static void main(String[] args)