- 运算符
- 一、赋值运算符
- 二、算术运算符
- 注:在进行除法运算时,0不能最为除数。列如:“int a=5/0;”,系统会抛出异常ArithmeticException .
- 三、自增与自减运算符
- 自增
- 自减
- 案例演示
- 四、比较运算符
- 五、逻辑运算符
- 使用逻辑运算符进行逻辑运算
- 六、位运算符(对数据的二进制进行运算)
- 按位与运算
- 按位或运算符
- 按位取反运算符
- 按位异或运算符
- 七、移位 *** 作(按数据的二进制进行运算)
- 注意:移位可以实现整数除以或者乘以 2ⁿ的效果。左移是乘,右移是除
- 八、三元运算符
- 九、运算符的优先级
=:功能是将右方 *** 作数所含的值赋给左方的 *** 作数。
例如:
int a=100;
例题:使用赋值运算符同时为两个变量赋值。
public static void main(String[] args) {
int a,b,c;
a=15;
c=b=a+4;
System.out.println("c的值为"+c);
System.out.println("b的值为"+b);
}
注意:在java中可以把赋值运算符连在一起使用。如:
x=y=z=5;
二、算术运算符
java中的算术运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),它们都是二元运算符。
java中算术运算符的功能及使用方式如下表所示:
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 12.45f+15 | 27.45 |
- | 减 | 4.56-0.16 | 4.4 |
* | 乘 | 5L*12.45f | 62.25 |
/ | 除 | 7/2 | 3 |
% | 去余数 | 12%10 | 2 |
例如:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个数进行运算");
double num1=sc.nextDouble();
double num2=sc.nextDouble();
System.out.println("两数之和为:"+(num1+num2));
System.out.println("两数只差为:"+(num1-num2));
System.out.println("两数的积为:"+(num1*num2));
System.out.println("两数的商为:"+(num1/num2));
System.out.println("两数的余数为:"+(num1%num2));
}
运行结果:
请输入两个数进行运算
25
5
两数之和为:30.0
两数只差为:20.0
两数的积为:125.0
两数的商为:5.0
两数的余数为:0.0
三、自增与自减运算符
自增自减是单目运算符。
自增++a:表示在使用a之前,先让a的值加1.
a++:表示在使用a只后,使a的值加1.
例如:
//假设a=4
b=++a;//先将a的值加1,然后赋值给b。此时a=5,b=5.
b=a++;//先将a的值赋给b,然后a再加1.此时a=5,b=4.
自减
–a:表示在使用a之前,先让a的值减1.
a–:表示在使用a只后,使a的值减1.
例如:
//假设a=4
b=--a;//先将a的值减1,然后赋值给b。此时a=3,b=3.
b=a--;//先将a的值赋给b,然后a再减1.此时a=3,b=4.
案例演示
A:案例演示
请分别计算出a,b,c的值?
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
a=9
b=10
c=8
B:案例演示
请分别计算出x,y的值?
int x = 4;
int y = (x++) + (++x) + (x*10);
x=6 , y=70
四、比较运算符
比较运算符属于二元运算符。用于程序中的变量之间、变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean类型,运算结果为true或false。
比较运算符共有六个,如下表所示:
运算符 | 作用 | 举例 | *** 作数据 | 结果 |
---|---|---|---|---|
> | 比较左方是否大于右方 | ‘a’>‘b’ | 整型、浮点型、字符型 | false |
< | 比较左方是否小于右方 | 156<456 | 整型、浮点型、字符型 | true |
== | 比较左方是否等于右方 | ‘c’==‘c’ | 基本数据类型、引用类型 | true |
>= | 比较左方是否大于等于右方 | 479>=426 | 整型、浮点型、字符型 | true |
<= | 比较左方是否小于等于右方 | 12.45<=45.5 | 整型、浮点型、字符型 | true |
!= | 比较左方是否不等于右方 | ‘y’!=‘t’ | 基本数据类型、引用类型 | true |
例如:
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个数进行比较");
double num1=sc.nextDouble();
double num2=sc.nextDouble();
System.out.println("num1>num2:"+(num1>num2));
System.out.println("num1+(num1<num2));
System.out.println("num1>=num2:"+(num1>=num2));
System.out.println("num1<=num2:"+(num1<=num2));
System.out.println("num1==num2:"+(num1==num2));
System.out.println("num1!=num2:"+(num1!#=num2));
}
五、逻辑运算符
返回值类型为布尔型的表达式。
逻辑运算符包括&(&&)逻辑与、|(||)逻辑或、!逻辑非。逻辑运算符的 *** 作单元必须是boolean型数据。在逻辑运算符中,除了“!”是一元运算符,其他都是二元运算符。
逻辑与
&&:从左到右,又叫短路与,左边不成立右边不执行。cong
&:从左到右,左边不成立,右边执行。
逻辑非
||:从左到右,又叫短路或,左边成立,右边不执行
|:从左到右,左边成立,右边执行。
逻辑非:
!:从右到左
使用逻辑运算符进行逻辑运算表达式1 | 表达式2 | 表达式1&&表达式2 | 表达式1||表达式t2 | !表达式1 |
---|---|---|---|---|
true | true | true | true | false |
true | false | false | true | false |
false | false | false | false | true |
false | true | false | true | true |
例如:使用不同的比较运算符判断两个整数之间的关系
需求:在项目中创建类,在主方法中创建3个整数,分别记录男生人数、女生人数和总人数,使用逻辑运算符来判断“男生人数大于女生人数并且总人数大于30人"和”男生人数大于女生人数或者总人数大于30人“这两种情况是否存在。
public static void main(String[] args) {
int boys=15;
int girls=17;
int total=boys+girls;
boolean result1=(boys>girls)&&(total>30);
boolean result2=(boys>girls)||(total>30);
System.out.println("男生人数大于女生人数并且总人数大于30人"+result1);
System.out.println("男生人数大于女生人数或者总人数大于30人"+result2);
}
运行结果:
男生人数大于女生人数并且总人数大于30人false
男生人数大于女生人数或者总人数大于30人true
六、位运算符(对数据的二进制进行运算)
按位与运算
按位与运算符为’&‘,为双目运算符。
运算法则:
a | 0 | 0 | 1 | 1 |
---|---|---|---|---|
b | 0 | 1 | 0 | 1 |
结果 | 0 | 0 | 0 | 1 |
按位与运算符为’|‘,为双目运算符。
运算法则:
a | 0 | 0 | 1 | 1 |
---|---|---|---|---|
b | 0 | 1 | 0 | 1 |
结果 | 0 | 1 | 0 | 1 |
运算符为’~',为单目运算符。
运算规则:
0修改为1,1修改为0.
按位异或运算符运算符是’^‘,为双目运算符。
运算规则:
a | 0 | 1 | 0 | 1 |
---|---|---|---|---|
b | 0 | 0 | 1 | 1 |
结果 | 1 | 0 | 0 | 1 |
<<:左移 就是将运算符左边的操作数的二进制数据,按照运算符右边操作数指定的位数向左移动,右边移空的部分补0.
>>:右移 如果最高位是0,右移空的位就填入0,如果最高位是1,右移空的位就填入1.
>>>:无符号右移 无论最高位是0还是1,左侧移空的位置就补0.
注意:移位可以实现整数除以或者乘以 2ⁿ的效果。左移是乘,右移是除例如:
y<<2与y*4的结果相同。
八、三元运算符三与运算符的使用格式为:
条件式?值1:值2;
运算规则:若条件式的值为true,则表达式取值1,否则取值2。
例如:
boolean b=20>50?true:false;
结果返回为假,取false
三元运算符等价于if……else语句,例如:
boolean b;
if(20>50){
a=true;
}else{
a=false;
}
九、运算符的优先级
java中的表达式就是使用运算符连接起来的符合java规则的式子。运算符的优先级决定了表达式中运算的执行顺序。
优先级从高到低:
增量和减量
算术运算
比较运算
逻辑运算
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)