基础-运算符2_数据输入
一. 标识符(理解)
什么是标识符
给程序中的变量, 方法, 类 … 起名的!
命名规则(必须遵守)
- 必须由英文字母大小写(a-zA-Z), 数字(0-9), 下划线(_ , shift + -), 美元符($, shift + 4)
- 不能以数字开头
- 不能是Java中的关键字
关键字: Java语言赋予了特殊含义的单词
特点: 1. 全小写, 2. 变颜色
命名规范(建议遵守)
- 大驼峰命名法: 每一个单词的首字母大写, 其余小写(使用场景: 类 … )
- 例如: Student, GoodStudent, BadBoyStudent
- 小驼峰命名法: 如果只有一个单词, 全小写; 如果有多个单词, 第一个单词全小写, 其它单词首字母大写, 其余小写(使用场景: 变量, 方法)
- 例如: age, maxAge, maxGirlAge
二. 关系运算符/比较运算符(重点)
关系运算符/比较运算符: 就是两个数据之间的比较运算, 运算出来的结果都是布尔类型(true/false)
运算符 | 介绍 |
---|---|
> | a>b , 判断a是否大于b |
< | a<b, 判断a是否小于b |
>= | a>=b, 判断a是否是大于等于b |
<= | a<=b, 判断a是否是小于等于b |
== | a==b, 判断a和b是否相等 |
!= | a!=b, 判断a和b是否不想等 |
- 注意事项:
=
是赋值;==
是比较!
三. 逻辑运算符(重点)
逻辑运算符
-
数学中: 判断一个人的年龄是否在(18 ~ 30)之间, 我们可以这样表示:
18 < age < 30
-
但是Java中, 没有这种写法的, 需要将上面的写法拆开
- age > 18 并且 age < 30
并且: 就可以使用逻辑运算符来表示
概述: 逻辑运算符是用来把两个关系表达式连接起来, 组成一个逻辑表达式.
举例: age > 18 并且 age < 30
- age > 18 : 关系运算符所在的表达式(关系表达式)
- age > 30 : 关系运算符所在的表达式(关系表达式)
age > 18 & age < 30
运算符 | 作用 | 描述 |
---|---|---|
&(shift + 7) | 逻辑与(和, 并且), 遇false则false | a&b, a和b都是true结果为true; 只要有一个是false结果就为false. |
|(shift + \) | 逻辑或, 遇true则true | a|b, a和b都是false结果为false; 只要有一个是true结果就是true. |
^(shift + 6) | 逻辑异或, 相同则false, 不同则true | a^b, a和b的结果不同为true, 相同为false |
!(shift + 1) | 逻辑非, 取反 | !a, !true的结果是false; !false的结果是true |
- 重点掌握: 与, 或, 非
短路的逻辑运算符
- 如果&左边是false, 无论右边是什么, 最终的结果都为false
运算符 | 介绍 |
---|---|
&& 双与/短路与 | 如果&&的左边为false, 那么右边不执行 |
|| 双或/短路或 | 如果||的左边为true, 那么右边不执行 |
四. 三元运算符(重点)
1. 概述
格式
数据类型 变量名 = 判断条件 ? 值1 : 值2;
- 判断条件: 结果为boolean类型的表达式
执行流程
- 计算判断条件的结果
- 如果为true, 将值1赋值给等号前面的变量
- 如果为false, 将值2赋值给等号前面的变量
2. 案例1: 两只老虎
需求
- 两只老虎, 它们的体重分别为: 180KG, 200KG.
- 请用三元运算符, 来实现, 判断两只老虎的体重是否相同?
分析
- 定义两个变量, 分别代表两只老虎的体重.
- 使用三元运算符, 判断体重是否相同?
- 如果相同, 得到true
- 如果不相同, 得到false
实现
/*
两只老虎案例
*/
public class Demo05 {
public static void main(String[] args) {
// 定义两个变量, 分别代表两只老虎的体重
// 180 和200 是整数, 所以使用 int类型
// weight: 体重/重量
int weight1 = 180; // 第一只老虎的体重
int weight2 = 200; // 第二只老虎的体重
// 由于最终得到的结果是true/false, 所以需要使用boolean
// is: 是否 equal: 相等
boolean isEqual = (weight1 == weight2) ? true : false;
// 输出结果
System.out.println("两只老虎的体重是否相同: " + isEqual);
}
}
3. 案例2: 两个和尚
需求
- 两个和尚
- 有两个和尚, 他们的身高是 150cm, 210cm, 请用三元运算符, 获取身高最高的是多少?
分析
- 定义两个变量, 分别代表他们的身高
- 使用三元运算符, 判断两个数字谁比较大
- 记录较大的值, 然后打印
实现
/*
两个和尚案例
*/
public class Demo06 {
public static void main(String[] args) {
// 定义两个变量, 代表两个和尚的身高
// 身高是整数, 所以使用int类型
int height1 = 150;
int height2 = 210;
// 比较两个变量的大小, 获取较大值
// 判断1是否比2大, 如果为true, 将height1赋值给前面的变量
// 如果为false, 将height2赋值给前面的变量
int maxHeight = height1 > height2 ? height1 : height2;
// 打印
System.out.println("身高的最大值是: " + maxHeight);
}
}
4. 案例3: 三个和尚
需求
- 一个寺庙里, 有三个和尚, 他们的身高分别为150CM, 210CM, 165CM. 请使用三元运算符获取三个和尚中最高的身高是多少?
分析
- 定义三个变量, 分别代表3个人的身高
- 使用三元运算符, 来获取2个人的较高的身高值, 使用变量记录这个临时的最大值.
- 使用三元运算符, 获取临时最大值和第三个人身高的最大值(实际最大值).
实现
/*
三个和尚案例
*/
public class Demo07 {
public static void main(String[] args) {
// 定义三个变量, 分别代表3个人的身高
// 身高是整数, 使用int类型
int height1 = 150;
int height2 = 210;
int height3 = 165;
// 使用三元运算符, 获取前两个人的最大身高 , 使用临时变量进行存储
int tempHeight = height1 > height2 ? height1 : height2;
// 使用三元运算符, 比较临时身高和第三个人的身高
int maxHeight = tempHeight > height3 ? tempHeight : height3;
// 输出
System.out.println("三个和尚的最高身高为: " + maxHeight);
}
}
五. 数据输入Scanner(会用)
- 记住使用方式
- 像记HelloWorld一样, 把代码背下来!
-
导包
- 必须在类的上面, 导包
// 导包 import java.util.Scanner; // Scanner, S是大写的 public class Demo01 { // ... }
-
创建对象
- 在主方法中, 创建对象
Scanner sc = new Scanner(System.in);
// 导包 import java.util.Scanner; // Scanner, S是大写的 public class Demo01 { public static void main(String[] args) { // 创建对象, 实际上sc就是一个对象名(可以改变), 但是不建议修改 Scanner sc = new Scanner(System.in); } }
-
使用方法, 获取键盘录入的内容
- 在创建对象之后, 使用方法
int num = sc.nextInt();
// 导包 import java.util.Scanner; // Scanner, S是大写的 public class Demo01 { public static void main(String[] args) { // 创建对象, 实际上sc就是一个对象名(可以改变), 但是不建议修改 Scanner sc = new Scanner(System.in); // 使用方法, 获取键盘录入的数字 int num = sc.nextInt(); // num这个数字, 就是通过键盘录入得到的 } }