之前我们在学习的过程中,用到了变量之间的计算。接下来,我们来学习一下java中运算符相关的知识。
一:算数运算符
这玩意没什么难度,在其他语言中也是有的。
Java的算数运算符有:+ - * / % ++ --
下面,我们在代码中依次尝试一下:
1:+
加号在java中除了是算数运算符之外,他还是字符串的链接符,功能和javascript中的加号是一样的。
public static void main(String[] args) { double result; int a = 10; int b = 20; // + 输出:30 result = a + b; // + 作为链接符使用 String res = a + " + " + b + " = " + (a + b); System.out.println(res); System.out.println(result); }
2:-
这个没什么可说的
public static void main(String[] args) { double result; int a = 10; int b = 20; // - 输出:-10 result = a - b; System.out.println(result); }
3:*
这个没什么可说的
public static void main(String[] args) { double result; int a = 10; int b = 20; // * 输出:200 result = a * b; System.out.println(result); }
4:/
这个需要注意一下,我在代码中定义的a和b的数据类型都是int整形。
整形除以整形得到的也只能是整形。这个要注意。
public static void main(String[] args) { double result; int a = 10; int b = 20; // 输出:0 整形除以整形得到的也只能是整形 result = a / b; System.out.println(result); }
5:%
这个没啥说的
public static void main(String[] args) { double result; int a = 10; int b = 25; // 输出 5 result = b % a; System.out.println(result); }
6:++
(1):单独使用
public static void main(String[] args) { int a = 10; a++; // 输出 11 System.out.println(a); }
这么用没有什么特别需要注意的。
(2):参与运算
++在前:
int b = 10; int c = ++b; // 输出 11 System.out.println(c); // 输出 11 System.out.println(b);
++在后
int b = 10; int c = b++; // 输出 10 System.out.println(c); // 输出 11 System.out.println(b);
++在前是先运算后赋值,++在后是先赋值后运算
++中自带强制类型转换。
7:--
--运算符使用方式请参照++运算符使用方式。
二:赋值运算符
赋值运算符说白了就是 = ,除了等号,赋值运算符还有 +=、-=、/=、*=、%=
赋值运算符自带强制类型转换。
用法就比较简单了,没什么太需要注意的位置。我们在代码中测试一下:
public static void main(String[] args) { double result; int i = 10; i += 10; System.out.println(i); // 20 i -= 10; System.out.println(i); // 10 i /= 10; System.out.println(i); // 1 i *= 10; System.out.println(i); // 10 i %= 10; System.out.println(i); // 0 }
三:关系运算符
关系运算符都有:>、<、<=、>=、!=、==
这里没有什么特别需要注意的地方,我们来在代码中测试一下。
public static void main(String[] args) { double result; int i = 10; i += 10; System.out.println(i); // 20 i -= 10; System.out.println(i); // 10 i /= 10; System.out.println(i); // 1 i *= 10; System.out.println(i); // 10 i %= 10; System.out.println(i); // 0 }
四:逻辑运算符
逻辑运算符有以下几个:!(非) &(单与)|(单或)^(异或)&&(双与)||(双或)
这个没有为什么,记住结论就可以了
1:!(非)
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(!false); // true System.out.println(!true); // false System.out.println(!!false); // false System.out.println(!!!false); // true }
2:&(单与)
两边都是true,结果为true。有一个false,结果就是false。
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(true & true); // true System.out.println(true & false); // false System.out.println(false & false); // false System.out.println(false & true); // false }
3:|(单或)
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(true | true); // true System.out.println(true | false); // true System.out.println(false | false); // false System.out.println(false | true); // true }
两边只要有一个是true,结果为true。两个都是false,结果就是false。
4:^(异或)
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(true ^ true); // false System.out.println(true ^ false); // true System.out.println(false ^ false); // false System.out.println(false ^ true); // true }
两边相同为false,两边不同为true
5:&&(双与)
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(true && true); // true System.out.println(true && false); // false System.out.println(false && false); // false System.out.println(false && true); // false }
使用结果如单&是一致的
6:||(双或)
/** * @name 主方法 * @param args */ public static void main(String[] args) { System.out.println(true || true); // true System.out.println(true || false); // true System.out.println(false || false); // false System.out.println(false || true); // true }
使用结果如单|是一致的
那么现在就有一个小问题,单与双与,单或双或的区别是什么呢?
&&:如果左边为false,右边就不再执行了,结果就为false
&:如果左边为false,右边依然会执行,结果就为false
II:如果左边为true,右边就不再执行了,结果就为true
I:如果左边为true,右边依然会执行,结果就为true
从执行效率来讲,我们更推荐使用双与(&&)双或(||)运算符
这里先看到这,有好的建议,请在下方输入你的评论。