网站建设是做什么,网站分析的优劣势,网站建设论坛社区,网站建设产品培训文章目录1. 什么是运算符2. 算术运算符隐式类型转换强制类型转换字符串的拼接字符相加自增和自减运算符3.赋值运算符4. 关系运算符5. 逻辑运算符短路与()和短路或(||)6.三目运算符7. 位运算符8. 移位运算1. 什么是运算符 运算符用于执行程序代码运算#xff0c;会针…
文章目录1. 什么是运算符2. 算术运算符隐式类型转换强制类型转换字符串的拼接字符相加自增和自减运算符3.赋值运算符4. 关系运算符5. 逻辑运算符短路与()和短路或(||)6.三目运算符7. 位运算符8. 移位运算1. 什么是运算符 运算符用于执行程序代码运算会针对一个以上操作数项目来进行运算。 作用: 对字面量和变量进行操作的符号 2. 算术运算符 
算术运算符就是数学中的 加减乘除取余 
运算符描述加-减*乘/除(取整)%取余
示例: 
public class Demo3 {public static void main(String[] args) {int a  5;int b  2;System.out.println(ab(ab));System.out.println(a-b(a-b));System.out.println(a*b(a*b));System.out.println(a/b(a/b));System.out.println(a%b(a%b));}
}
/*
输出结果:
ab7
a-b3
a*b10
a/b2
a%b1
*/注意: 
在代码中,如果有小数进行操作,可能会有精度不准确的问题(简单说一下原因是因为计算机是采用二进制的方式存储数据,小数不好表示.如有需要可以观看这篇文章➡计算机中数据的存储规则做除法和取模时右操作数不能为0 
隐式类型转换 
Java中有两个数据类型的转换模式:一种是隐形类型转换,另外一种是强制类型转换 先介绍隐式类型转换 先看以下代码: public static void main(String[] args) {int a  1;double b  2.1;System.out.println(a  b);}上面代码的结果是3.1 这就是隐式类型转换 数字在进行运算时,数据类型不一样是不能进行运算的,需要转成相同的数据类型才能够进行运算 隐形类型转换是 将取值范围小(精度小)的数据类型转成取值范围大(精度大)的数据类型 在进行运算时,取值范围小的数据类型自动变成取值范围大的数据,然后再进行运算 byte char short 类型的数据在进行运算时,都会类型提升为int类型的数值 再进行运算 强制类型转换 强制类型转换是 将取值范围大(精度大)的数据类型转成取值范围小(精度小)的数据类型 语法格式: 目标数据类型 变量名  (目标数据类型) 被强转的数据 示例: public static void main(String[] args) {double a  12.3;// 目标数据类型 变量名  (目标数据类型) 被强转的数据int b  (int) a;}这就是强制类型转换 需要注意的是:在强制类型转换时,数据不能超过目标数据类型的取值范围 
字符串的拼接 
在讲算术运算符时,我是使用了字符串的拼接的 例如: public static void main(String[] args) {int a  5;int b  2;System.out.println(ab(ab));}// 输出结果// ab7当操作中出现字符串时,那么此时这个就不是算术运算符了,而是字符串的拼接,它会将字符串和数据拼接起来,变成一个新的字符串 字符相加 
看以下代码: public static void main(String[] args) {char a  a;char b  b;int ret  a  b;System.out.println(ret);}// 输出结果: 195之前说过byte char short 类型的数据在进行运算时,都会类型提升为int类型的数值 再进行运算 那么字符和字符相加都是变为int类型的数据再相加,那么字符对应的数字就需要用到ASCII码表了 如果想字符对应的ASCII值,可以看看➡ASCII码一览表ASCII码对照表 在 字符与字符 或 字符与数字 进行相加时,字符会变为ASCII码表对应的数字在进行相加 自增和自减运算符 
符号作用将变量的值自增1–将变量的值自减1
这里的自增自减分的符号 可以放在变量名的前面也可以放在后面 
示例: public static void main(String[] args) {int a  10;a;System.out.println(a   a);a;System.out.println(a   a);}//输出结果//a  11//a  12从这里我们可以看到不管在变量前面还是后面 就是将变量的值1 当然在变量前面还是后面还是有区别的 
先看代码: public static void main(String[] args) {int a  10;int ret1  a;System.out.println(ret1    ret1);int b  10;int ret2  b;System.out.println(ret2   ret2);}// 输出结果://ret1  11//ret2  10这就是在变量前面还是后面的区别 在使用这种方式进行赋值时,在前面时会变量的值会先自增1然后再进行赋值,如果在后面则会先赋值然后再自增1 
3.赋值运算符 
赋值运算符就是 “” 就是将一个数据赋值给另一个变量 其中,还有一些复合赋值运算符 
运算符实例ba 等价于 bba-b-a 等价于 bb-a*b*a 等价于 bb*a/b/a 等价于 bb/a%b%a 等价于 bb%a
4. 关系运算符 
关系运算符就比较两边数据的大小 
运算符描述判断内容是否相等!判断内容是否不相等判断大于号左边的值是否大于右边判断小于号左边的值是否小于右边判断大于号左边的值是否大于等于右边判断小于号左边的值是否小于等于右边关系运算符的结果都是boolean类型的 结果要么为true 要么为false 注意: 不要将  写成 了 5. 逻辑运算符 
符号意义作用逻辑与(且)并且 两边都为真,才是真I逻辑或或 两边都是假,才是假^逻辑异或相同为false,不同为true!逻辑非取反
短路与()和短路或(||) 
对于  , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式.对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式. 和 | 两边的表达式都要计算,使用短路与和短路或可以提高效率 
6.三目运算符 语法格式: 关系表达式? 表达式1:表达式2 示例: public static void main(String[] args) {int a  10;int b  20;int c  a  b ? a : b;System.out.println(c);}// 输出结果:20这是使用三目运算符求两个值中的最大值 这里的计算分为三步: 
先计算表达的值如果表达式为true,则取表达式1的值,如果为false,则为表达式2的值然后进行赋值 
7. 位运算符 位运算符主要有四个:  | ~ ^ 除 ~ 是一元运算符外其余都是二元运算符 位运算符都是在二进制的基础上进行运算 
按位与 : 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1. 
8. 移位运算 
移位运算也是在二进制的基础上进行运算 
左移 : 最左侧位不要了, 最右侧补 0.右移 : 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)无符号右移 : 最右侧位不要了, 最左侧补 0. 
二进制的第一位是符号位0代表正数1代表负数 详情可以看一下:➡全面解析数据在内存中的存储 public static void main(String[] args) {int a  10;System.out.println(a  1  (a1));System.out.println(a  1  (a1));System.out.println(a  1  (a1));}// 输出结果://a  1  20//a  1  5//a  1  5左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方. 感谢你的观看!希望这篇文章能帮到你! Java专栏在不断更新中,欢迎订阅! “愿与君共勉,携手共进!”