Java运算符

简介: Java运算符

算术运算符
+- * /%

public class TestDemo1{
public static void main(String[] args){

System.out.println(5/2);
System.out.println((double)(5/2));
System.out.println(5.0/2);
System.out.println((double)5/2);

}
}
//运行结果是:
//2
//2.0(java的小数不会后面保留很多位)
//2.5
//2.5
复制代码
public static void main(String[] args) {

    int a = 10;
    int b = 0;
    System.out.println(a/b);
    System.out.println("thank");
}

复制代码
程序直接报错 (抛出),并且在除0的位置代码直接就结束了

Exception in thread "main" java.lang.ArithmeticException: / by zero at test.main(test.java:5) //算术异常 出现在第五行 所以除数绝对不能是0

注意啦 zhuyila

%表示取余数,或者取模

%既可以对int,也可以对小数进行运算

public class TestDemo1{
public static void main(String[] args){

System.out.println(10%3);
System.out.println(-10%3);
System.out.println(10%-3);
System.out.println(-10%-3);
System.out.println(11.5%2.0);

}
}
//运行结果为:
//1
//-1
//1
//-1
//1.5(取模数都输小数)
复制代码
复合运算符
+= -= *= /= %=

自增运算符
++ --

public class TestDemo1{
public static void main(String[] args){

int a = 10;
int b = ++a;//b=11,a=11
System.out.println(b);
int c = a++;//c=11,a=12
System.out.println(c);

}
}
复制代码
image-20220329182238275

关系运算符
== != < > <= >= 关系运算符的运算结果只会是 true false (boolean类型)

public class TestDemo1{
public static void main(String[] args){

int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a <= b);
System.out.println(a >= b);

}
}
//false
//true
//true
//false
//true
//false
复制代码
逻辑运算符
&& || !

逻辑运算符的运算结果也只会是 true false (boolean类型)

逻辑与&&

规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

逻辑或 ||

规则: 两个操作数都为 false, 结果为 false, 否则结果为 true

逻辑非 !(只能作用于boolean类型的数据上)

规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true

&& 与 || 遵守短路求值原则

System.out.println(10 > 20 && 10 / 0 == 0); // 一旦左边为假,右边就不会被执行了,直接打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 一旦左边为真,右边就不会被执行了,直接打印 true

复制代码
&按位与

|按位或

^按位异或

以上3个都是对二进制进行操作的

image-20220329201947019

&:都是1才为1

image-20220329202025931

|:有1就是1

image-20220329202058879

^:异为1,同为0

~:按位取反

image-20220329202332236

移位运算
、>>右移

在不考虑负数的情况下,右移相当于除法(左边补符号位)

左移<<相当于乘法

image-20220329203156575

image-20220329203210143

,>>>无符号右移(不管原本是正数还是负数,直接在左边补0就行了)

三目运算符
a?b:c

其实就是if else的简化版 欢迎点赞收藏关注,感谢大家的支持!

目录
相关文章
|
2月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/&gt;/&lt;等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
19 2
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
1月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 8
|
1月前
|
Java 测试技术
day14:Java零基础-条件运算符
【7月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
26 3
|
1月前
|
Java 测试技术 开发者
day15:Java零基础-赋值运算符
【7月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 1
|
2月前
|
Java
哇塞!Java 基本语法的运算符,你真的懂了吗?算术运算符篇
【6月更文挑战第14天】Java中的算术运算符是编程基础,包括加法`+`(用于数字相加和字符串拼接)、减法`-`、乘法`*`、除法`/`(需防除数为零)和取余`%`。它们在计算位移、周期性问题等场景中广泛应用。理解并熟练掌握这些运算符,能提升编程效率和代码质量。现在就开始实践,发掘它们的更多可能性吧!
23 3
|
2月前
|
Java 程序员 API
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
[笔记] 疯狂JAVA讲义(第3版)第3章 数据类型和运算符
|
2月前
|
算法 Java
炸裂!Java 基本语法的运算符世界,等你来探索!算术运算符特辑
【6月更文挑战第14天】Java中的算术运算符是基础关键,如加法&quot;+&quot;用于数字相加和字符串拼接,减法&quot;-&quot;求差,乘法&quot;*&quot;相乘,除法&quot;/&quot;注意整数除法会舍去小数,浮点数则保留,取模&quot;%&quot;)返回除法余数。熟练掌握这些运算符能提升编程效率,构建复杂逻辑。继续探索Java运算符世界,创造更多精彩程序!
18 1
|
2月前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
28 0
|
2月前
|
Java
Java中的左移运算符及其在实现加法效果上的应用
Java中的左移运算符及其在实现加法效果上的应用
17 0