java 小常识

来源:互联网 发布:个国家域名后缀 编辑:程序博客网 时间:2024/05/20 23:07

有关一些运算符的小知识

                  short  b=2;

                  b=(short)(b+3); // 进行两次运算,第一次是相加,二是将值赋给b

                   b+=3;                        // 进行一次运算,只做赋值运算,会自动转型

关系运算符:>,<,>=,<=,==,!=;

                    数学中:1<2<3       

                            注:计算机中不能这样写

注意:

         1 、有关运算符的结果只有“true”和“false”

         2、比较运算符 “=”不等于“==”

逻辑运算符:!、&、|、^、&&、||

         逻辑表达式的值:true/false

             & 与 、 | 或 、! 非

             && 短路与

             ||  短路非

             ^  异或     ==》相同为false ,不同为true;

&&与…&的区别:

& 无论表达式的左边是true,还是false,右边都要执行

&& 当左边为 false 时,右边就不执行,左边为 true 时,继续执行


||  与  |  的区别:

|   两边都要执行

||  当左边为 true 时 ,右边就不执行


位运算符:&、|、^、~、>>、<<、>>>

>>     右位移运算符,带符号右移;最高位是什么,就补什么 ,0 补0,,1 补 1。

<<     左位移运算符

>>>   无符号右移运算符,无论最高位是什么,右移后都补 0 ;

&       按位与

             6 & 3  =2

                             1 1 0

                          & 0 1 1

                            ----------

                              0 1 0            有假为假,同真为真

|   按位或

             6 | 3=7

                          1 1 0

                      |   0 1 1

                    -----------------

                           1 1 1            有真为真,同假为假

^  按位异或

         5 ^ 6=3

                   1 0 1

               ^  1 1 0

             ---------------

                   0 1 1                      相同为 0 ;不同为 1

                             5^6^5=5   一个数异或同一个数两次,结果还是那个数  

~   按位取反

取反       0 取反等于 1 ,  1 取反等于 0(1取反等于-1,加 1 之后等于 0);  注:取反之后 加 1

知识点:两个整数变量的值进行交换;

                                       方法一:使用第三方变量

                                                 int  a=5;

                                                 int b=7;

                                                 int c=0;

                                                 c=a;

                                                 a=b;

                                                 b=c;

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

                                     方法二:两个数相加

                                                 int  a=5,b=4;

                                                 a=a+b;

                                                 b=a-b;//(a+b)-b

                                                 a=a-b;

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

                       方法三:^  一个数异或同一个数两次,结果还是它

                                          int n=3,m=4;

                                            n=n^m;

                                            m=n^m;  //(n^m)^m

                                            n=n^m;   //n^(n^m)      

                                             System.out.println("n="+n+"m="+m);   


字符串连接符号:+

字符串数据和任何数据使用+都是相连接的意思,最终都变成字符串

例:   System.out.println("6+6"+6+6);

          输出结果为   6+666

知识点:三元运算符

     格式:  x  ? y : z     ==》结果是 true,输出,执行y,否则执行z

                            x,y,z  代表关系表达式  


运算的优先级和转义字符

      赋值运算符  :   从左向右看

转义字符:用在字符串,用来定制字符串输出格式的特殊符号

                            \t   一个退格键

                            \n  换行(Linux,Unix中常用)

                             \r  回车(Windows下面 ,换行 \r\n)