Java的基础语法(三): 运算符

7.运算符

定义: 对常量和变量进行操作的符号

分类: 6大类---算术, 赋值, 比较, 逻辑, 位, 三元

(1).算术运算符

+, -, *, / ,%, ++, --

①. +号在Java中一共有3种作用: 正号, 加法运算, 字符串连接符

②. / 获取商, 整数相除只能达到整数(如果想得到小数,必须把数据变成浮点型)

技巧: 把其中一个数变成小数, 则另一个数在运算时会自动类型提升

③. %获取余数(读法:取模)

栗子:
a % b
当|a|<|b|,结果是 a;
当|a|=|b| or b的倍数,结果是 0;
当|a|>|b|,结果是 余数;

小拓展:
对于一个三位数num,获取它的每一位
个位: num%10
十位: num/10%10
百位: num/10/10%10

结论: %运算的结果的符号只有左边数据有关,与右边无关

应用: 任何一个正整数%2, 结果不是0就是1, 以此可用来作为判断切换条件

④. ++(自加) 和 --(自减)运算

++: 对原有数据进行 +1;

--: 对原有数据进行 -1;

a.单独使用:
放在操作数的前后效果一样;
b.参与运算使用:
放在操作数之前,则该数据先自增/自减,而后在参与运算;
放在操作数之后,则该数据先参与运算,再进行自增/自减;

注意:
数据进行++/--运算时,系统会默认加一个类型强制转换符
栗子:
byte b = 10;
b++;//该句等价于: b = (byte)(b+1);

(2).赋值运算符

基本: =

(左边必须是变量),把右边的数据赋值给左边

拓展: +=, -=, *=, /=, %= 

把左边数据和右边数据作相应的运算后,再赋值给左边

栗子:
a+=4; //相当于 a = a+4;

(3).关系运算符

==, !=, >, >=, <, <=

无论操作简单还是复杂,关系运算符的计算结果都是boolean类型(true / false)

(4).逻辑运算符

&, |, ^, !, &&, ||

①. 基本用法:

a. 一般用于连接boolean类型的表达式或值
b. 表达式:用运算符把常量/变量连接起来符合Java语法的式子
栗子:
算术表达式: a + b
比较比较式: a == b

②. 特点:

逻辑与: &, and, 遇false则false;
逻辑或: |, or, 遇true则true;
逻辑异或: ^, 两边相同为false,两边不同为true;
逻辑非: !, 非false则true,非true则false;

③. && 和 ||

&& 和 & 区别:
最终结果都一样;
&& 具有短路效果, 左边false则右边不执行

|| 和 | 区别:
最终结果都一样;
|| 具有短路效果, 左边true则右边不执行

(5).位运算符

直接操作二进制, 暂且跳过, 日后再补...

(6).三元运算符

格式:  ( 关系表达式 ) ? 表达式1 : 表达式2;

执行流程: 

先判断关系表达式的结果是true还是false:

true: 则赋予表达式1的值

false:则赋予表达式2的值

//求两个整数的最大值
int x = 10;
int y = 20;
int max = (x > y) ? x : y

//求三个整数最大值
int a = 10;
int b = 20;
int c = 30;
int temp = (a > b) ? a : b;
int max = (temp > c) ? temp : c;

 

posted @ 2019-10-20 23:21  Sherlock先生  阅读(317)  评论(0编辑  收藏  举报