首页 > 编程 > Java > 正文

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

2019-11-06 06:28:58
字体:
来源:转载
供稿:网友

转译字符:

转义字符

名称

作用

/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。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表