天天看点

"黑马程序员"运算符的概述

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

       今天复习了一下有关运算符方面的知识,其实运算符学起来并不是很难,知识知识会比较细一些,有时候会记混,或者有些知识会想不起来,今天就总结一下运算符的相关知识,正好大家也一起复习一下 。

       首先学习算数运算符,算数运算符包括+,-,*,/,%,++,--;我们操作的时候“+”有三种表示:正号,加法,字符串连接符; 模以“ %”是指两数相除,得到余数; 自增自减“++,--”有一些规则单独使用时:在操作数的前后,效果一致,参与操作使用:在操作数前,先++或者--,再参与操作。在操作数后,先参与操作,再++或者--。

       然后是赋值运算符,赋值运算符包括=,+=,-=,*=,/=,%=;“=”是指把右边赋值给左边;“+=,-=,*=,/=,%=”是指把左边和右边操作后赋值给左边。这里需要注意一下,赋值的左边不能是常量,很多人会出现这种错误。

       比较运算符包括==,!=,>,>=,<,<=;比较运算符的结果肯定是boolean布尔类型,千万不要把“==”写成“=”一定要注意一下,后期操作的时候很多人会这样写,请一定压迫记住。

       逻辑运算符包括 &, |,^,!,&&,||;“&”是指与,操作时有false则false;“|”是指或,操作时有true则true;“^”是指异或,操作时相同为false,不同为true;“!”是指非,操作时非false则true,非true则false,偶数次!不改变以前的真假;“&&”是指双与,操作时和“&”的结果一样,但是具有短路效果,左边有false,右边不执行;“||”是指双或,操作时和“|”的结果一样,但是具有短路效果。左边有true,右边不执行。

"黑马程序员"运算符的概述
"黑马程序员"运算符的概述

       位运算符包括&,|,^,~,<<,>>,>>>;是需要我们理解的,必须把所有的数据转换为二进制来进行操作。“^”对同一个数据异或同一个数两次,被异或的数本身不变。举例: 数据交换,假设a,b是已经知道的int类型的变量。

       方式1

       int temp = a;

       a = b;

       b = temp;

       方式2

       左边a,b,a

       右边a^b

       a = a ^ b;

       b = a ^ b;

       a = a ^ b;

       左移“<<”就是把数据向左移动,后边补0,其实相当于乘以2的移动位数次幂;右移“>>”就是把数据向右移动,左边补是最高位的值,其实相当于除以2的移动位数次幂;无符号右移“>>>”就是把数据向右移动,左边补0,其实相当于除以2的移动位数次幂。

"黑马程序员"运算符的概述

       三元运算符格式:比较表达式?值1:值2;执行流程:如果比较表达式是true,结果是值1;如果比较表达式是false,结果是值2;案例:

       A:比较两个数是否相同

       int a = 10;

       int b = 20;

       boolean c = (a == b)?true:false;

       System.out.println(c);

       B:获取两个数中的最大值

       int a = 10;

       int b = 20;

       int c = (a>b)?a:b;

       System.out.println(c);

       C:获取三个数据中的最大值

       int a = 10;

       int b = 20;

       int c = 30;

       int temp = (a>b)?a:b;

       int max = (temp>c)?temp:c;

       System.out.println(max);

       if (a>b){

             if(a>c){

                     System.out.println(a);

       }else{

                    System.out.println(c);

       }

       }else{

       if (b>c){

                     System.out.println(b);

       }else{

                     System.out.println(c);

       }

}

       D:做C题目的时候,还可以练习三元运算符的嵌套:       int max = (a>b)?(a>c?a:c):(b>c?b:c);

       运算符需要大家用心去掌握,不要忘记一些特殊的知识,这样在后期的草错中,我们才会避免那些不必要的错误,减轻负担。