丨你微笑时好美丶

博客园 首页 联系 订阅 管理

String str="a"   注意这里的a是字符串类型  并且   ""也是一个字符串,只不过是空字符串 

 

数据类型转换:

小数据类型-------------》大数据类型                不会报错   自动类型转换

大数据类型-------------》小数据类型                  可能会损失精度    (强制类型转换)

强制数据类型转换的格式:

      小数据类型   变量名  =    (小数据类型)大数据类型    

在计算机组成原理中,如果一个数是负数,那么其最高位肯定是1,如果是正数,那么最高位是0。   负数在计算机中储存的是补码。

sun公司开发一个函数  Integer.toBinaryString()    来查看一个数据的二进制形式

所以输出结果为

求一个数的补码  :如果为正数,那么补码为原码,如果为负数,那么除符号位外,取反加一。

如何通过一个数的补码,如何求原来的数:思路就是求补码的补码。 

 

数据类型转换需要注意的细节:

    1.凡是byte,short,char数据类型 数据在运算时候都会自动 转换成int类型的数据再运算。

     2.两个不同数据类型的数据再运算的时候,结果取决于大的数据类型。

 

Java中的算术运算符 + - * /  % ++  --

其中 + 有三种作用 (正数  加法    连接符)

连接符的作用:让任何类型的数据都可以与字符串进行拼接。                                       注意:任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据。

其中 /  (整除)   % (取模,取余数)  在Java中做取模运算时,结果取决于被除数,-10%3=-1    10%3=1 

++ 中后自增在jvm中的运行原理: int temp=i;

                                                       i=i+1;

                                                       return temp;

例:int i=0;i=i++;i最后为多少                   答案  0

根据运行原理,i经历了多次变化,初始为0;自增为1;后来返回temp赋给i,使得i变回0。

i=0————————》1————————》0

赋值运算符:= (赋值运算符)   +=   -=      *=     /=      %=

比较运算符: ==    >     <    >=       <=     !=

==(判断是否等于)                 ==用于比较两个基本数据类型的时候,比较的是两个变量所存储的值是否一致。

                                             ==用于比较两个引用数据类型变量的时候,比较的是两个引用类型变量所记录的内存地址是否一致。

逻辑运算符:&(与)    | (或)    ^(异或)       !(非)     &&(短路与\双与)             ||(短路或\双或)

短路与与单与的区别:其运算结果是一样的,但是,使用短路与的时候,如果左边的布尔表达式为false,则不会运算右边的布尔表达式,从而提高了效率。使用单与的时候,即使左边的布尔表达式为false,还是会运算右边的布尔表达式的。    注意:只有左边的布尔表达式为false时,双与的效率才高于单与。

 

位运算符:直接操纵二进制位的。

&   (与)

|    (或)

^   (异或)

~   (取反)

根据此规律,可以对文件进行加密。

交换两个变量的三种方法:

1.定义第三个变量                          temp=a;a=b;  b=temp;                缺点:定义第三方变量

2.相加法                                        a=a+b; b=a-b; a=a-b;                     缺点:两个int类型的数据相加,有可能会出现超出int的表示范围

3.异或                                           a=a^b;b=a^b;a=a^b;                       缺点:逻辑不清晰

移位运算符:

<<(左移)   规律:一个操作数进行左移运算的时候,实际上就是等于操作数乘以 2的n次方,n为左移的位数。

>>(右移)   一个操作数在尽心右移运算时候,如果该操作数是正数,那么左边空缺位使用0补,如果是负数,就用1补。

规律:一个操作数进行右移运算的时候,实际上就是等于操作数除以 2的n次方,n为左移的位数。    3/2(1)=1    3/2(2)=0

>>>(无符号右移)     不论操作数是正数还是负数,左边的空缺位都用0补。

 

三元运算符(三目运算符):   格式:  布尔表达式? 值1:值2;

注意:使用三元运算符的时候,一定要使用其返回的结果,或者是定义一个变量接受其返回的结果。

if 语句

if (){

符合条件执行的语句

}else if(){

符合这个条件执行的语句

}.......else{

都不符合执行的语句

}

posted on 2019-01-20 00:08  丨你微笑时好美丶  阅读(128)  评论(1编辑  收藏  举报