您的位置:首页 > 编程语言 > Java开发

[Java]转义字符、进制转换、数据类型及其转换、位运算符、位移运算符

2017-03-06 20:25 330 查看
转译字符:

转义字符
名称
作用
\b
Backspace (退格键)
相当于Back Space键
\t
Tab   (Tab键)
相当于按下Table键
\n
Linefeed (换行)
换行
\r
Carriage Return(回车)
接受键盘输入,回到一行开头
\\
Backslash  (反斜杠)
反斜杠
\'
Single Quote (单引号)
单引号
\"
Double Quote (双引号)
双引号
进制:

数据类型:

1.整型

byte      代表一个字节的大小     8bit 2(8)      -128~127   

short     代表两个字节的大小    16bit 2(16)  -2(15)~2(15)-1

int         代表四个字节的大小    32bit 2(32)  -2(31)~2(31)-1

long      代表八个字节的大小    64bit 2(64)  -2(63)~2(63)-1

注:如果一个数值没有采取特殊的处理,那么该整数默认的类型是int。可以使用数值后面添加L或小写L改变默认的整数类型。

2.浮点型


float     代表四个字节的大小  32bit

double 代表八个字节的大小  64bit

注:java程序中所有的小数默认的类型是double类型,所以需要使用特殊的符号改变默认的小数类型。

3.字符型


char   代表两个字节的大小  16bit  2(16)

原理:将字符映射为码表中对应的十进制数据加以存储。

4.布尔型


boolean  占一个字节。只有true与false两个值。

数据类型的转换:

1.自动类型转换(隐式类型转换)

将一个数赋值赋值给更大数值范围的变量,如byte变量的值赋值给short变量、short变量的值赋值给int变量的过程,java内部自动将数值进行了类型提升。

byte b = 1;//  0000 0001

short s = b;
 //  0000 0000 0000 0001

int i = s;
 //  1

long l = i; //  1L

double d = l;    //  1.0

表达式的数据类型会自动提升,如算数表达式、逻辑表达式。

所有的byte型、short型和char的值将被提升到int型。

如果一个操作数是long型,计算结果就是long型;

如果一个操作数是float型,计算结果就是float型;

如果一个操作数是double型,计算结果就是double型。

2.强制类型转换(显式类型转换)
不可以将一个数值赋给范围更小的变量,除非进行类型转换。

byte b = 1;

错误:b = b + 2; // 无法赋值,编译出错

正确:b = (byte)(b + 2);

b + 2 加法运算,2 默认是 int 类型,byte 类型 b 变量储存的值类型自动提升为 int,执行完加法运算后就是 int 类型,将 int 放入 byte 类型必须强制转换,否则编译报错。

强制类型转换可能会损失精度。

int a = 128;

byte b = (byte) a; // -128

位运算符:

& 与运算,参见运算的两位数都为1,&运算符结果才为1,否则就为0。

 00000000 

 00000000 

 00000000 

 00000110 

        6        

 00000000

 00000000 

 00000000 

 00000011 

        3        

 00000000

 00000000 

 00000000 

 00000010 

        & = 2

| 或运算,参与运算的两位都为0,|运算的结果才为0,否则就为1。

 00000000

 00000000

 00000000

 00000110

        6        

 00000000 

 00000000 

 00000000 

 00000011 

        3

 00000000

 00000000

 00000000

 00000111

        | = 7 

^异或运算,只有参加运算的两位不同,^运算的结果才为1,否则就为0。

 00000000 

 00000000 

 00000000

 00000110

        6        

 00000000

 00000000

 00000000 

 00000011 

        3

 00000000

 00000000 

 00000000

 00000101

        ^  =5 

~ 反码

就是取反,二进制只有1和0,取反就是如果为1,取反就是0,如果是0,取反就是1。

 00000000 

 00000000 

 00000000 

 00000110 

        6        

 11111111

 11111111

 11111111

 11111001

     取反 -7

结论:当参与取反的数值是正数时,把对应的值加上负号,再-1;

         当参与取反的数值是负数时,把对应的值加上负号,再-1;

   负数的表现形式就是对应的正数取反,再加1。负数的最高位肯定是1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: