33-运算符
算数运算符
介绍
算数运算符是对数值类型的变量进行运算的,在java程序中使用的非常多
算数运算符的使用
-
+,-,*,/,%,++,–
-
自增:++
作为独立语句使用:前++和后++都完全等价于i = i+1;
作为表达式使用:
前++ : ++i 先自增,后赋值
后++ : i++ 先赋值,后自增 -
–,+,-,* 是一个道理
算数运算符的练习
关系运算符
介绍
关系运算符的结果都是boolean类型,也就是要么是ture要么是fslse;
关系表达式经常在if结构的条件中或循环结构的条件中
关系运算关系符一览
案例演示
细节说明
- 关系运算符的结果都是boolean型,也就是要么是ture要么是fslse;
- 关系运算符组成的表达式,我们称为关系表达式。a>b
- 比较运算符 “==”不能误写"="
逻辑运算符
介绍
用与连接多个条件(多个关系表达式),最终的结果也是一个boolean值
逻辑运算符一览
- 短路与&&,短路或||,取反!
- 逻辑与&,逻辑或|,^异或
&&和&的使用与区别
案例
区别
- &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false ,效率高
- &逻辑与: 不管第一个条件是否为false ,第二个条件都要判断,效率低
- 开发中,我们使用的基本是短路与&&,效率高
eg:
||和|的使用与区别
案例:
区别:
- || 短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为false ,效率高
- | 逻辑或: 不管第一个条件是否为true,第二个条件都要判断,效率低
- 开发中,我们基本使用||
!取反
eg:
^异或
a ^ b : 叫逻辑异或,当a和b不同时,则结果为true,否则为false
eg:
逻辑运算符练习
赋值运算符
介绍
赋值运算符就是将某个运算后的值,赋给指定的变量
赋值运算符的分类
- 基本赋值运算符 : =
eg: int a = 10; - 复合赋值运算符:+=,-=,*=,/=,%=等
eg:a + b; <==> a = a + b;
a -= b; <==>a = a - b;
案例演示
赋值运算符的特点
- 运算顺序从左往右 int num = a + b + c;
- 赋值运算符的左边只能是变量,右边可以是变量,表达式,常量值
int num = 20; int num2 = 78 * 34;
int num3 = a; - 复合赋值运算符等价于下面的效果
a += 3 ; <=> a = a + 3; - 复合赋值运算符会进行类型转换
byte b = 2 ; b += 3 ; b ++;
三元运算符
基本语法
条件表达式 ? 表达式1 : 表达式2 ;
- 如果条件表达式为true,运算后的结果是表达式1;
- 如果条件表达式为false,运算后的结果是表达式2;
eg:
三元运算符细节
-
表达式1和表达式2要为可以赋值给接受变量的类型(或可以自动类型转换)
-
三元运算符可以转换成if-else语句
三元运算符练习
实现三个数的最大值
public class TernaryOperatorExercise {
//编写一个main方法
public static void main(String[] args){
//案例:实现三个数的最大值
int n1 = 55;
int n2 = 33;
int n3 = 123;
//思路
//1.先得到 n1 和n2中最大数,保存到 max1
//2.然后再求出 max1和n3中的最大数,保存到 max2
int max1 = n1 > n2 ?n1 : n2;
int max2 = max1 > n3 ? max1 : n3;
System.out.println("最大数=" + max2);
}
}
运算符优先级
- 运算符有不同优先级,所谓优先级就是表达式运算中的运算顺序。如下表,上一行运算符总优先于下一行
- 只有单目运算符和赋值运算符是从右向左运算的
- 梳理:
(),{}等
单目运算符
算数运算符
位移运算符
比较运算符
逻辑运算符
三元运算符
赋值运算符
标识符的命名和规范
标识符概念
- java对各种变量,方法和类等命名时使用的字符序列称标识符
- 凡是自己可以起名字的地方都叫标识符
标识符的命名规则(必须遵守)
- 由26个大小写字母,0-9,_或$组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
练习:
标识符的命名规范
- 包名:多个单词组成的所有字母都小写:aaa.bbb.ccc
例:com.hsp.crm - 类名,接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz[大驼峰]
比如:TankShotGame - 变量名,方法名:多单词构成时,第一个单词首字母小写:xxxYyyZzz[小驼峰,简称驼峰法]
比如:tankShotGame - 常量名:所有字母都大写。多单词时每个单词之间用_连接 : XXX_YYY_ZZZ
比如:定义一个所得税:TAX_RATE - 后面我们学习到类,包,接口,等时,我们的命名规范要这样遵循,更加详细看老师文档
关键字
定义
被java语言赋予了特殊含义,用作专门用途的字符串(单词)
特点
关键字中所有字母都为小写
保留字
java保留字:现有java版本尚未使用,但以后版本可能会作为关键字使用,之间命名标识符时要避免使用这些保留字
byValue,cast,future ,generic , inner , operator , outer , rest , var , goto , const
键盘输入
介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取,需要一个扫描器(对象),就是Scanner
步骤
- 导入该类的所在包,java,util.*
- 创建该类对象(声明变量)
- 调用里面的功能
eg:
接下来的二进制会在下一篇文章写
本章练习
注意:这里一个a %b的公式 a % b = a - (int)a / b * b
最后
附上韩顺平老师这节内容的章节总结原视频有助于知识梳理
进度103/910 ,学习永无止境!!!