赞
踩
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
主要有以下几种:
算术运算符是对数值类型的变量进行运算的,主要有
运算符 | 作用 |
---|---|
+ | 加法运算,可以用于字符串的拼接。 |
- | 减法运算 |
* | 乘法运算。 |
/ | 除法运算,当两个整数相除,有小数时,结果为整数。 |
% | 取余运算 此公式能用于大部分取余 a % b = a - (a / b) * b |
++ | 自增(前) :先运算后取值 自增 (后):先取值后运算 |
- - | 自减(前) :先运算后取值 自减(后):先取值后运算 |
详解 / % ++ - -
// 除法运算
int num1= 8;
int num2 = 3;
System.out.println(num1/num2);// 输出 2
// 取出运算
System.out.println(num1%num2);//输出 2 a % b = a - (a / b) * b 使用手算为 2
// 不使用代码计算 -8 % 3 = ?
// ++ 运算 --运算方式同++运算类似 int num1 = 1; // ++在前 ++num1; System.out.println(num1);//输出为2 // ++在后 num1++; System.out.println(num1);//输出为2 // 个人理解为 当 ++此条语句在单独使用时可 理解为 i = i + 1。 //当++单独非语句时使用时 int num1 = 1; int num2 = 0; // ++ 在前 num2 = ++num1; // 在非单独使用时 有任意运算符时 均按照 ++在前先自增后赋值 ++在后先赋值后自增 /* 将上述语句拆开 num1 = num1 + 1; num2 = num1; 个人理解 : 程序在执行时,先执行等号右边 再按照右边 从左往右依次执行 */ System.out.println(num1);//2 System.out.println(num2);//2 int num1 = 1; int num2 = 0; // ++ 在后 num2 = num1++; /* 将上述语句拆开 num2 = num1; num1 = num1 + 1; */ System.out.println(num1);//2 System.out.println(num2);//1
赋值运算符就是将某个运算后的值,赋给指定的变量。
基本赋值运算符 = int a = 10; 指将某个数据赋值给一个变量
复合赋值运算符 += , -= , *= , /= , %= 用法一致 举例 +=
复合运算符是赋值运算符的简写 如
int a = 1;
a += 5;//等价为a = a + 5; 个人理解为 直接将 a+ 左移到等号右边
System.out.pringln(a); //输出6
关系运算符用于比较两个数据, 返回的结果只能是 true 或 false
System. out .print1n(3 > 2); //true
System. out.print1n(3 < 2); //false
System. out .print1n(2 == 2); //true
System. out.print1n(2 != 2); //false
System. out .print1n(3 >= 3); //true
System. out .print1n(3 <= 5); //true
用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean
a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false
a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false
a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
!a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true
a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false
详解&&与&: && 和 & 他们的结果相同,不过是执行过程不一致而已。可以认为是 && 对 & 进行进行了优化 使 &&更加节省时间,
& 的所有表达式都要执行 ,而 && 从左到右执行,执行到false时,返回false,不在去执行后续表达式。
关系式1 && 关系式2 && 关系式3 理解: 关系式1为false 关系式2,关系式3就不在执行。 个人理解 :为false就短路 后续不在执行,故称为短路与。
关系式1 & 关系式2 & 关系式3 理解: 关系式1为false时,关系式2还是会执行 关系式3也会执行。
详解|| 与 | : || 和 | 的执行结果也是一致 ,执行过程不一致,|| 对 | 进行了优化 使 || 节省时间
| 的所有表达式都要执行 ,而 || 从左到右执行,执行到true时,就返回true,不在去执行后续表达式。
关系式1 || 关系式2 || 关系式3 理解: 关系式1为true 关系式2,关系式3就不在执行。 个人理解 :为false就短路 后续不在执行,故称为短路或。
关系式 | 关系式2 | 关系式3 理解: 关系式1为true时,关系式2还是会执行 关系式3也会执行。
自行思考 && 与& 当表达式1 为 true 时的过程,|| 与 | 当表达式1 为 false 时的过程。
java 中有 7 个位运算 &、| 、^ 、 ~ 、 >> 、 << 和 >>> ,此运算符在Java中不常用,了解即可
按位与& 两位全为1,结果为1,否则为0
按位或| 两位有一个为1,结果为1,否则为0
按位异或^ : 两位一个为0,- 个为1,结果为1,否则为0
按位取反~ : 0->1 ,1->0
算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位
算术左移<<:符号位不变,低位补0
>>>逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0 .
特别说明: 没有<<<符号
格式 :条件表达式 ? 表达式 1: 表达式 2;
System.out.println(3>2?3:2);//3
System.out.println(2>3?2:3);//3
System.out.println(10<5?10:5);//返回什么? 根据上述规则判断
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。