Java全栈JavaSE:5.基本运算符
Posted new nm个对象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java全栈JavaSE:5.基本运算符相关的知识,希望对你有一定的参考价值。
声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。
(1)加减乘除运算
package 运算符;
public class demo1 {
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/(double)b); //注意:当结果为小数时,要转化类型
}
}
(2)关系运算符
注意:关系运算符返回的是一个布尔值(true或者false)
package 运算符;
public class demo2 {
public static void main(String[] args) {
int a = 20;
int b = 10;
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);
}
}
运行结果如下:
true
false
false
true
true
false
(3)取余和取模运算符
- 取余:取除法运算后的余数,作为运算的最终结果。
- 取模:取除法运算后的商,作为运算的最终结果。
package 运算符;
public class demo3 {
public static void main(String[] args) {
int a = 10;
int b = 42;
System.out.println(b % a); //取余
System.out.println(b/a); //取模:本质还是除法,当结果为整数是就相当于取模
}
}
运算结果如下:
2
4
(4)自增自减运算
注意:自增自减运算本质上很简单,对一个变量做自增自减时(如:a++,a–)。就相当于a=a+1或a=a-1
。但是有一个需要特别注意的点就是运算符的位置。例如:
int b = a++
:运算过程是a先赋值给b,然后a在自增1。int b = ++a
:运算过程是a先自增1,然后赋值给b。
package 运算符;
public class demo4 {
public static void main(String[] args) {
int a = 5;
int b = a++;
System.out.println(b);
System.out.println(a);
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
int c = 5;
int d = ++a;
System.out.println(d);
System.out.println(c);
}
}
运算结果如下:
5
6
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
7
5
(5)逻辑运算符
- &&:与运算。当参与运算的两个数据都为true时才为true,否则都为false。
- ||:或运算。当参与运算的两个数据都为false时才为false,否则都为true。
- !:非运算。取反
package 运算符;
public class demo5 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println(a && b);
System.out.println(a || b);
System.out.println(!a);
}
}
运算结果如下:
false
true
false
(6)位运算
- &(与):参与计算的两边都为1才为1,否则为0。
0011 1100
0000 1101
&运算结果:
0000 1100
- |(或):参与计算的两边都为0才为0,否则为1。
0011 1100
0000 1101
|运算结果:
0011 1101
- ^:参与计算的两边相同为0,不同为1。
0011 1100
0000 1101
^运算结果:
0011 0001
- ~:对参与运算的数据取反,0则为1,1则为0。
0000 1101
~运算结果:
1111 0010
-
<<
(左移):a<<b
将数据a的位数向左移b位,每左移一位效果与*2
相同。 -
>>
(右移):a>>b
将数据a的位数向右移b位,每右移一位效果与/2
相同。
练习:
package 运算符;
public class demo6 {
public static void main(String[] args) {
/*
分析:
int a = 10; (0000 1010)
int b = 25; (0001 1001)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
a&b = 8 (0000 1000)
a|b = 27 (0001 1011)
a^b = 19 (0001 0011)
~b = -26 (1110 0110)
a<<3 = 80 (0101 0000)
a>>1 = 5 (0000 0101)
*/
int a = 10;
int b = 25;
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="+(~b));
System.out.println("a<<3="+(a<<3));
System.out.println("a>>1="+(a>>1));
}
}
运算结果如下:
a&b=8
a|b=27
a^b=19
~b=-26
a<<3=80
a>>1=5
(7)加等于减等于…
- a+=b:等价于
a=a+b
。 - a-=b:等价于
a=a-b
。 - a*=b:等价于
a=a*b
。 - a/=b:等价于
a=a/b
。
(8)扩展:含字符串的+运算
- 当
+
运算表达式中包含字符串时,会将其他数字也转化为字符串然后拼接起来。但是字符串前后的数字处理方式不一样。
package 运算符;
public class demo7 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("哈哈"+a+b); //字符串后面的数字不会做计算处理,直接当成字符串拼接起来
System.out.println(a+b+"哈哈"); //字符串前面的数字会先做计算处理,然后当成字符串拼接起来
}
}
结果如下:
哈哈1020
30哈哈
(9)三元运算符
x ? y : z
:如果x的值为真,则结果为y,否则结果为z。
package 运算符;
public class demo8 {
public static void main(String[] args) {
boolean x1 = true;
boolean x2 = false;
int y = 100;
int z = 200;
System.out.println(x1?y:z);
System.out.println(x2?y:z);
}
}
运算结果如下:
100
200
以上是关于Java全栈JavaSE:5.基本运算符的主要内容,如果未能解决你的问题,请参考以下文章