不能用运算符求和JAVA_Java 运算符

算术运算符

+  - *  /  %   ++   --

关系运算符

>  >= 

== 是关系运算符   = 是赋值运算符

逻辑运算符

&  且   | 或者   ! 取反    &&  短路与   || 短路或

短路: 只要有一个成功或失败,就跳出

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classOperatorTest03{2 public static voidmain(String[] args){3 //对于逻辑与&运算符来说,只要有一边是false,结果就是false。4 //只有两边同时为true,结果才是true。

5 System.out.println(true & true); //true

6 System.out.println(true & false); //false

7 System.out.println(false & false); //false

8

9 System.out.println(100 > 90 & 100 > 101); //false

10 System.out.println((100 > 90) & (100 > 101)); //false

11

12 int a = 100;13 int b = 101;14 int c = 90;15 System.out.println(a < b & a > c); //true16

17 //对于逻辑或呢?18 //只要有一边是true,结果就是true。

19 System.out.println(a < b | c > b); //true

20 System.out.println(true | false); //true

21

22 System.out.println(true | true); //true

23 System.out.println(false | false); //false

24

25 System.out.println(!false); //true

26 System.out.println(!true); //false27

28 //注意:这里需要加一个小括号。

29 System.out.println(!(a > b)); //true

30

31 /*

32 关于短路与 &&,短路或 ||33 其中重点学习短路与,短路或照葫芦画瓢。34

35 短路与&& 和 逻辑与 &有什么区别?36 首先这两个运算符的运算结果没有任何区别,完全相同。37 只不过“短路与&&”会发生短路现象。38

39 什么是短路现象呢?40 右边表达式不执行,这种现象叫做短路现象。41

42 什么时候使用&&,什么时候使用& ?43 从效率方面来说,&&比&的效率高一些。44 因为逻辑与&不管第一个表达式结果是什么,第二个表达式一定会执行。45

46 以后的开发中,短路与&&和逻辑与还是需要同时并存的。47 大部分情况下都建议使用短路与&&48 只有当既需要左边表达式执行,又需要右边表达式执行的时候,才会49 选择逻辑与&。50 */

51

52 System.out.println(true & true); //true

53 System.out.println(true & false); //false

54 System.out.println(false & false); //false

55

56 System.out.println(true && true); //true

57 System.out.println(true && false); //false

58 System.out.println(false && false); //false59

60 //接下来需要理解一下什么是短路现象,什么时候会发生“短路”。

61 int x = 10;62 int y = 11;63 //逻辑与&什么时候结果为true(两边都是true,结果才是true)64 //左边的 x>y 表达式结果已经是false了,其实整个表达式的结65 //果已经确定是false了,按道理来说右边的表达式不应该执行。

66 System.out.println(x > y & x > y++);67

68 //通过这个测试得出:x > y++ 这个表达式执行了。

69 System.out.println(y); //1270

71 //测试短路与&&

72 int m = 10;73 int n = 11;74 //使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不执行75 //这种现象被称为短路。

76 System.out.println(m > n && m > n++);77 System.out.println(n); //1178

79 //问题:什么时候发生短路或现象?80 //|| 短路或81 //“或”的时候只要有一边是true,结果就是true。82 //所以,当左边的表达式结果是true的时候,右边的表达式不需要执行,此时会短路。

83

84 }85 }

View Code

赋值运算符

基本运算符  和  扩展运算符

=   +=   -=  *=  /=   %=   使用扩展赋值运算符的时候,永远都不会改变运算结果类型。

条件运算符

语法格式:布尔表达式 ? 表达式1 : 表达式2

boolean sex = true;

// 前面的变量的c的类型不能随意编写。

// 最终的计算结果是字符型,所以变量也需要使用char类型。

char c = sex ? '男' : '女';

字符串连接符

+

从左到右,除非有小括号

当 + 运算符两边都是数字类型的时候,求和。

当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 /*

2 + 运算符:3 1、+ 运算符在java语言中有两个作用。4 作用1:求和5 作用2:字符串拼接6

7 2、什么时候求和?什么时候进行字符串的拼接呢?8 当 + 运算符两边都是数字类型的时候,求和。9 当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作。10

11 3、一定要记住:字符串拼接完之后的结果还是一个字符串。12 */

13 public classOperatorTest06{14

15 public static voidmain(String[] args){16

17 //定义一个年龄的变量。

18 int nianLing = 35;19

20 //+ 在这里会进行字符串的拼接操作。

21 System.out.println("年龄=" + nianLing); //"年龄=35"

22

23 int a = 100;24 int b = 200;25 //这里的 + 两边都是数字,所以加法运算

26 int c = a +b;27 System.out.println(c); //30028

29 //注意:当一个表达式当中有多个加号的时候30 //遵循“自左向右”的顺序依次执行。(除非额外添加了小括号,小括号的优先级高)31 //第一个+先运算,由于第一个+左右两边都是数字,所以会进行求和。32 //求和之后结果是300,代码就变成了:System.out.println(300 + "110");33 //那么这个时候,由于+的右边是字符串"110",所以此时的+会进行字符串拼接。

34 System.out.println(a + b + "110"); //最后一定是一个字符串:"300110"35

36 //先执行小括号当中的程序:b + "110",这里的+会进行字符串的拼接,37 //拼接之后的结果是:"200110",这个结果是一个字符串类型。38 //代码就变成了:System.out.println(a + "200110");39 //这个时候的+还是进行字符串的拼接。最终结果是:"100200110"

40 System.out.println(a + (b + "110"));41

42 //在控制台上输出"100+200=300"

43 System.out.println("100+200=300"); //不是这个意思。44

45 //以下有效的运算符加号一共有4个,这4个加号都是字符串拼接操作。

46 System.out.println(a + "+" + b + "=" +c);47

48 //分析这个结果是多少?49 //以下表达式中没有小括号,所以遵循自左向右的顺序依次执行。50 //第1,2,3,4个加号都是进行字符串拼接,拼接之后的结果是:"100+200=100"51 //前4个加号运行之后是一个字符串"100+200=100"52 //然后这个字符串再和最后一个b变量进行字符串的拼接:"100+200=100200"

53 System.out.println(a + "+" + b + "=" + a +b);54

55 //和上面程序不一样的地方是:最后一个加号先执行,并且会先进行求和运算。

56 System.out.println(a + "+" + b + "=" + (a +b));57

58 //在java语言中怎么定义字符串类型的变量呢?59 //int是整数型 i 是变量名 10是字面量60 //int i = 10;61 //String是字符串类型,并且String类型不属于基本数据类型范畴,属于引用类型。62 //name是变量名,只要是合法的标识符就行。63 //"jack" 是一个字符串型字面量。

64 String name = "李四"; //String类型是字符串类型,其中S是大写,不是:string65

66 //错误:类型不兼容。67 //String name = 100;68

69 //会进行字符串的拼接70 //System.out.println("登录成功欢迎" + name + "回来");71

72

73 //口诀:加一个双引号"",然后双引号之间加两个加号:"++",然后两个加号中间加变量名:"+name+"

74 System.out.println("登录成功欢迎"+name+"回来");75

76 System.out.println(a + "+" + b + "=" +c);77

78 }79 }

View Code

你可能感兴趣的:(不能用运算符求和JAVA)