一、三元运算符(三目运算符)
(一)三目运算符的定义和使用
1、元:可以操作的数据或者表达式
2、三元运算符:可以同时操作三个表达式或者数据
3、格式:表达式1 ? 表达式2 : 表达式3
4、说明:
(1)表达式1:必须是布尔类型的值,结果只能是true或者false
(2)表达式2和表达式3根据实际业务逻辑而定
5、执行流程:
(1)执行表达式1
(2)如果表达式1返回true,执行表达式2,之后三目运算符结束
(3)如果表达式1返回false,执行表达式3,之后三目运算符结束
代码示例
package com.offcn.demos;
public class Demo01_TernaryOperator {
public static void main(String[] args) {
//表达式1 ? 表达式2 : 表达式3
//1.判断一个int类型的数是否为偶数
//int num = 11;
//势必会得到偶数或者奇数这两个结果中的一个
//判断最终得到的结果都是字符串类型,不妨就将最后的结果存储在String类型的变量中,方便后续使用
//String result = num % 2 == 0 ? "偶数" : "奇数";
//System.out.println(result);
//-------------------------------------
//有两个int类型的数据,判断数值谁大,最终输出打印较大的值
int a = 3;
int b = 5;
/*int result = a > b ? a : b;
System.out.println(result);*/
System.out.println(a > b ? a : b);
}
}
(二)三目运算符练习
有四个int类型的变量:int a = 10, b = 20, c = 30, d = 40;获取四个数中最大的值
代码示例
package com.offcn.demos;
//有四个int类型的变量:int a = 10, b = 20, c = 30, d = 40;获取四个数中最大的值
public class Demo02_Exercise {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
int d = 40;
/*//1.每两个数一组获取其中较大值
int num1 = a > b ? a : b;
int num2 = c > d ? c : d;
//2.获取较大值中最大的
int max = num1 > num2 ? num1 : num2;
System.out.println("最大值为:" + max);*/
int max = (a > b ? a : b) > (c > d ? c : d) ? (a > b ? a : b) : (c > d ? c : d);
System.out.println(max);
}
}
二、键盘录入
(一)概述
1、键盘录入:在程序运行的过程中,可以让用户录入一些数据,将数据存储到变量中,在后续的步骤对数据做进一步的业务逻辑层面的处理
2、步骤:
(1)导包:import java.util.Scanner;
(2)创建扫描器对象:Scanner sc = new Scanner(System.in);
(3)调用nextInt()方法录入整数:int num = sc.nextInt();
(4)根据需求对数据做后续处理
代码示例
package com.offcn.demos;
//1.导包
import java.util.Scanner;
public class Demo03_Scanner {
public static void main(String[] args) {
//2.创建扫描器对象,连接到键盘,用于扫描键盘录入
Scanner sc = new Scanner(System.in);
//3.调用nextInt()方法,执行扫描器的扫描功能,用于录入键盘输入的内容
//nextInt()只能用于录入整数
int num = sc.nextInt();
//4.根据需求对数据进行后续处理
System.out.println("录入的数据为:" + num);
}
}
(二)练习
键盘录入两个整数,计算两个整数的和
键盘录入三个整数,求出三个数中的最小值
代码示例
package com.offcn.demos;
//1.导包
import java.util.Scanner;
/**
- 键盘录入两个整数,计算两个整数的和
*/
public class Demo04_Exercise1 {
public static void main(String[] args) {
//2.创建扫描器对象
Scanner sc = new Scanner(System.in);
//3.调用方法录入数据
System.out.println("请录入一个整数:");
int num1 = sc.nextInt();
System.out.println("请录入另一个整数:");
int num2 = sc.nextInt();
System.out.println(num1 + num2);
}
}
package com.offcn.demos;
//1.导包
import java.util.Scanner;
/**
- 键盘录入三个整数,求出三个数中的最小值
*/
public class Demo05_Exercise2 {
public static void main(String[] args) {
//2.创建扫描器对象
Scanner sc = new Scanner(System.in);
//3.调用方法录入数据
System.out.println("请录入三个整数:");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
int min1 = num1 < num2 ? num1 : num2;
int result = min1 < num3 ? min1 : num3;
System.out.println(result);
}
}
三、流程控制
1、流程:在程序运行的过程中,代码执行的顺序就是流程
2、流程控制:通过某些代码格式来控制代码执行的顺序
3、流程控制的分类:
(1)顺序结构:代码按照从上到下从左到右的书写顺序执行
(2)分支结构:代码执行到一定程度时