java语言运算符

       运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符赋值运算符关系运算符逻辑运算符位运算符和其他运算符。

1.算术运算符

单目:+(取正)-(取负) ++(自增) - -(自减)
双目:+、 -、 *、 /、 %(取余)
三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个 运算符包括一个 关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个 表达式或者是值或者是对象

2.关系运算符

等于符号 :==,不等于符号 :!= ,大于符号 :>, 小于符号 :<,大于等于符号 :>= ,小于等于符号 :<= 。

3.位运算符

运算符 与(&)、非(~)、或(|)、异或(^)
&:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.如:1010&1101,转为二进制:1111110010&10001001101,比较结果为:1000000转为十进制: 64。所以1010&1101=64;
| :当两边 操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110

4.逻辑运算符

 
       与(&&)、非(!)、或(||)

5.赋值运算符


= 、+=、 -= 、*=、 /= 、%=、 &= 、^= 、|=、 <<= 、>>=

6.instanceof


       该运算符双目运算符,左面的操作元是一个对象,右面是一个类或接口。当左面的对象是右面的类(或右边类的子孙类)创建的对象、或者是右边接口的实现类(或实现类的子孙类)的对象时,该运算符运算结果是true,否则是false。

运算符综述

Java 的 表达式就是用 运算符连接起来的符合Java 规则的式子.运算符的 优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。

7.位移

<< 带符号左移、 >>带符号右移 、>>> 无号右移

运算符优先级

优先级从高到低排列如下:[ ]  、 ( ) 、++、 -- 、! 、~ 、instanceof、 * 、/ 、% 、+、 - 、<< 、>>、 >>> 、<、>、<=、>=、== 、!= 、&^& 、&、 ||、 ?  : 、= 。

Java编程语言中,运算符和表达式是构建程序逻辑的基础。运算符用于执行特定的操作,例如赋值、比较、算术运算等,而表达式是由变量、常量、运算符和方法调用组成的代码片段,可以产生一个值。 ### Java运算符的分类 Java中的运算符主要可以分为以下几类: 1. **算术运算符**:包括加(+)、减(-)、乘(*)、除(/)和取模(%)。这些运算符用于执行基本的数学运算。 2. **关系运算符**:包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。这些运算符用于比较两个值。 3. **逻辑运算符**:包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。这些运算符用于组合或反转布尔表达式。 4. **位运算符**:包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)和无符号右移(>>>)。这些运算符用于对整数类型的变量进行位级别的操作。 5. **赋值运算符**:包括简单赋值(=)以及复合赋值运算符(+=、-=、*=、/=、%=等)。 6. **条件运算符**:也称为三元运算符(? :),用于根据条件选择两个值中的一个。 7. **类型比较运算符**:包括`instanceof`,用于检查对象是否属于某个类或其子类。 ### 表达式 表达式是由变量、常量、运算符和方法调用组成的代码片段。表达式的结果可以是一个值,也可以是一个对象引用。例如,`a + b` 是一个算术表达式,而 `x > y` 是一个关系表达式。 ### 练习题示例 为了帮助更好地理解和掌握Java中的运算符和表达式,以下是一些练习题示例: #### 1. 算术运算符练习 编写一个Java程序,计算两个整数的和、差、积、商和余数,并输出结果。 ```java public class ArithmeticOperations { public static void main(String[] args) { int a = 10; int b = 3; System.out.println("Sum: " + (a + b)); System.out.println("Difference: " + (a - b)); System.out.println("Product: " + (a * b)); System.out.println("Quotient: " + (a / b)); System.out.println("Remainder: " + (a % b)); } } ``` #### 2. 关系运算符练习 编写一个Java程序,比较两个字符串是否相等,并输出结果。 ```java public class StringComparison { public static void main(String[] args) { String str1 = "Hello"; String str2 = "World"; System.out.println("Are the strings equal? " + str1.equals(str2)); } } ``` #### 3. 逻辑运算符练习 编写一个Java程序,判断一个数字是否在指定范围内(例如1到100之间)。 ```java public class NumberInRange { public static void main(String[] args) { int number = 50; boolean inRange = (number >= 1) && (number <= 100); System.out.println("Is the number in range? " + inRange); } } ``` #### 4. 位运算符练习 编写一个Java程序,对两个整数进行按位与、按位或和按位异或操作,并输出结果。 ```java public class BitwiseOperations { public static void main(String[] args) { int a = 5; // binary: 0101 int b = 3; // binary: 0011 System.out.println("Bitwise AND: " + (a & b)); // binary: 0001 -> 1 System.out.println("Bitwise OR: " + (a | b)); // binary: 0111 -> 7 System.out.println("Bitwise XOR: " + (a ^ b)); // binary: 0110 -> 6 } } ``` #### 5. 条件运算符练习 编写一个Java程序,使用三元运算符判断一个数字是正数还是负数。 ```java public class TernaryOperator { public static void main(String[] args) { int number = -5; String result = (number >= 0) ? "Positive" : "Negative"; System.out.println("The number is " + result); } } ``` ### 学习资料推荐 1. **官方文档**:Oracle提供的Java官方文档是学习Java语言的最佳资源之一,其中详细介绍了各种运算符和表达式的用法。 2. **在线教程**:网站如W3Schools、GeeksforGeeks和TutorialsPoint提供了丰富的Java教程,涵盖了从基础到高级的主题。 3. **书籍**:《Effective Java》、《Java: A Beginner's Guide》和《Head First Java》等书籍是学习Java编程的好选择。 4. **在线课程**:平台如Coursera、Udemy和edX提供了许多关于Java编程的课程,适合不同水平的学习者。 通过这些练习题和学习资料,可以更深入地理解Java中的运算符和表达式,从而提高编程技能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值