一.算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。
操作符 | 描述 | |
+ | 加法 - 相加运算符两侧的值 | |
- | 减法 - 左操作数减去右操作数 | |
* | 乘法 - 相乘操作符两侧的值 | |
/ | 除法 - 左操作数除以右操作数 | |
% | 取模 - 右操作数除左操作数的余数 | |
+ + | 自增 - 操作数的值增加1 | |
- - | 自减 - 操作数的值减少1 |
下面列出了所有的算术运算符:
public class Test {
public static void main(String[] args) {
int a=20;
int b=40;
System.out.println("a+b="+(a+b));
System.out.println("a-b="+(a-b));
System.out.println("a*b="+(a*b));
System.out.println("b/a="+(b/a));
System.out.println("b%a="+(b%a));
System.out.println("a++="+(++a));//先加后用
System.out.println("b--="+(b--));//先用后减
System.out.println("b="+b);
}
}
运行结果:
a+b=60
a-b=-20
a*b=800
b/a=2
b%a=0
a++=21
b--=40
b=39
二.关系运算符
操作符 描述
== 检查如果两个操作数的值是否相等,如果相等则条件为真。
=! 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。
> = 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
三.逻辑运算符
逻辑运算符共有三种:
1.“非”(“!”):
非运算(!)表示否定,取反,如:!true等于false、!false等于true、!2等于false、!0等于true。
2.“和”(“&&”):
和运算(&&)前后两个条件都为真时,才返回true,否则返回false。
3.“或”(“||”):
或运算(||)前后两个条件有一个为真是,返回true,都为假时,返回false。
public class Test {
public static void main(String[] args) {
int a = 5;
int b = 8;
int c = 5;
System.out.println("a>b ?" + !(a > b));
System.out.println("a>b && a<b ?" + ((a > b) && (a < b)));
System.out.println("a>b || a<b ?" + ((a >= b) || (a == b)));
System.out.println("a>b || a=c ?" + ((a < b) || (a == c)));
}
}
运行结果:
a>b ?true
a>b && a<b ?false
a>b || a<b ?false
a>b || a=c ?true
四.位运算符
位运算符主要针对二进制,它包括了:
1.“与”("&"):
与运算(&)两个操作数的位都为 1,结果才为 1,否则结果为 0。
2.“非”("~"):
非运算(~)的操作数的位如果为 0,结果是 1,如果为 1,结果是 0。
3.“或”("|"):
或运算(|)两个操作数的位只要有一个为 1,那么结果就是 1,否则就为 0。
4.“异或”("^"):
异或运算(^)的两个操作数的位相同时结果为 0,不同时结果为 1。
public class Test {
public static void main(String[] args) {
int a=10;//0000 0000 0000 0000 0000 0000 0000 1010
int b=20;//0000 0000 0000 0000 0000 0000 0001 0100
int x=30;//0000 0000 0000 0000 0000 0000 0001 1110
int y=40;//0000 0000 0000 0000 0000 0000 0010 1000
System.out.println("~a ="+(~a));
System.out.println("a & b ="+(a&b));
System.out.println("a | b ="+(a|b));
System.out.println("x ^ y ="+(x^y));
}
}
运行结果:
~a =-11
a & b =0
a | b =30
x ^ y =54
五.移位运算符
1.左移位运算符(<<)
将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补 0)。
2.“有符号”右移位运算符(>>)
将运算符左边的运算对象向右移动运算符右侧指定的位数。
“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
3.“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。
public class Test {
public static void main(String[] args) {
//-8:1111 1111 1111 1111 1111 1111 1111 1000
System.out.println("-8>>3 ="+(-8>>3));
System.out.println("-8<<3 ="+(-8<<3));
System.out.println("-8>>>3 ="+(-8>>>3));
}
}
运行结果:
-8>>3 =-1
-8<<3 =-64
-8>>>3 =536870911
六.赋值运算符
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
%= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
七.条件运算符
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
variable x = (expression) ? value if true : value if false
public class Test {
public static void main(String[] args) {
int a=20;
int b=40;
System.out.println((a>b)?"a>b":"a<=b");
}
}
运行结果:
a<=b
八.instanceof运算符
使用格式如下:
( Object reference variable ) instanceOf (class/interface type)
public class Test {
public static void main(String[] args) {
String a="It's a string.";
System.out.println((a instanceof String));
}
}
运行结果:
true
运算符优先级:
后缀 | () [] . (点操作符) | 左到右 |
一元 | + + - !〜 | 从右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | >> = << = | 左到右 |
相等 | == != | 左到右 |
按位与 | & | 左到右 |
按位异或 | ^ | 左到右 |
按位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | | | | 左到右 |
条件 | ?: | 从右到左 |
赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 从右到左 |
逗号 | , | 左到右 |
参见:http://www.w3cschool.cc/java/java-operators.html
相关推荐
通过实际案例学习和练习这些运算符,可以加深对Java运算的理解,提高编程技能。例如,你可以创建一个简单的Java小程序,用这些运算符处理数组元素,实现各种计算和判断,从而巩固知识。 在"Operations"这个压缩包中...
Java 运算精度问题与解决方案 在 Java 中,对于浮点数的运算存在精度问题,这是由于浮点数的计算是非精确计算的。这种问题在财务应用中非常重要,因为它可能导致严重的财务错误。 问题描述 在 Java 中,浮点数的...
本压缩包“Java运算,Java实例运算,面向基础.zip”包含的“java_sunjing-master”项目可能是一个关于Java运算和实例的教程或者代码示例,旨在帮助初学者理解和掌握Java运算的基础知识。 在Java中,运算符大致可以...
这个"Java运算基础.zip"文件很可能包含了关于Java运算符的详细解释和实例,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及特殊运算符如三元运算符等。 1. **算术运算符**:在Java中,基本的...
以下是一些Java运算开销的基本情况: 1. **本地变量赋值**:这是最基础的操作,例如`int i = n;`,其开销几乎可以忽略不计。无论数据类型,本地变量赋值都是快速且无痛的。 2. **实例变量赋值**:`this.i = n;`与...
输入一个四则运算表达式,本程序可计算出结果。另外还支持三角函数,对数运算,支持简单命令,如查看帮助和退出。输入help可查看详细情况。
从本章起,我们就正在进入Java基础知识的学习。就像人与人之间交流使用的语言需要遵循一定的语法规则一样,Java语言也离不开特定语法的支持,如基本语法、数据类型、变量、常量、运算符与表达式、类型转换和输入输出...
该程序是基于GUI设计的一款小型四则运算器,java爱好者参考参考!!
基于java的简单运算器程序 欢迎下载
java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java ...
【简易标准运算器(Java课程设计)】是一个Java编程项目,旨在通过设计和实现一个简易的标准运算器,提升学生对Java语言的理解和实践能力。这个课程设计的主要目标是巩固Java基础知识,增强编程技能,熟悉JDK、...
BeanShell java 表达式运算框架,及其方便快捷(附jar包,工具类,测试类)
java 货币运算问题,在java中货币运算时,如果不注意控制小数点问题,就会出现意想不到的结果,运算结果得到一些没有用到的小数点。
1. Java高频面试题(一)– Java运算执行流程分析 public static void main(String[] args) { int i=1; i=i++; int j=i++; int k=i+++i*i++; System.out.println(i=+i); System.out.println(j=+j); System....
在Java编程语言中,复数运算器是一种程序,它允许用户执行涉及复数的数学运算。复数是数学中的一个概念,表示为a + bi的形式,其中a是实部,b是虚部,i是虚数单位,满足i² = -1。这个“java复数运算器”项目提供了...
### JAVA位运算详解 在Java编程中,位运算是一门精细的艺术,涉及到对整数类型的二进制位进行直接操作。这些操作不仅能够优化代码执行效率,还常用于实现特定的算法需求。本文将深入探讨Java中的位运算,包括位...
java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 ...
加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版
Java位运算操作 左位移 右位移 与或非的操作
一个java类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 编写一个包含主方法main的公共类...