二进制是计算机唯一可识别的文本,01010101,规则是逢二进一
// 0000 0001 十进制1 // 0000 0010 十进制2 // 0000 0011 十进制3 // 0000 0100 十进制4 // 0010 0000 十进制32 // 1000 0000 + 1 十进制127有符号数,首位为符号位,符号位为0时,代表整数,为1时代表负数
当byte的最大取值(127)+1时,则有效的8位空间中,符号位发生变化,将128变为了负数
float 为单精度浮点型 double 为双精度浮点型 , Java中任何一个小数,默认类型是double
·浮点型数值采用科学技术法表示: ·2E3 等价于 2×10 ^ 3 (结果:2000.0) ·3E5 等价于 3×10 ^ 5 (结果:300000.0)
注意:double为浮点数的默认类型,如需float类型赋值,需要在值的后面添加F.
1.对于float来讲,取值范围包含int 的2147483647, float取值3.4E38 ,所以整数可直接赋值给float 2.小数的默认类型是double,所以直接给float赋值小数时,有可能赋值的小数不在float的取值范围,所以在给float赋值小数时,需要给小数进行追加F的操作,显示告知计算机此小数为float
·可直接赋值true / false ·也可赋值一个结果为true / false 的表达式 ·注意:Java中的boolean不能参与算数运算
ASCII码对照表
·Unicode字符集支持ASCII编码(美国标准信息交换码)
Unicode中每个字符都对应一个十进制整数,从而可以使用多种方式赋值。
字符赋值: char c1 =’ A ’ ; (通过’ '描述为 字符赋值) 整数赋值: char c2 = 65 ; (通过十进制数65在字符集中对应的字符赋值) 进制赋值: char c3 = ‘\u0041’ ;(通过十六进制数41在字符集中所对应的字符赋值) ·注意:char类型也支持整数表现形式,但char类型是无符号数,其中所有值均为正数。取值范围:0~65535
·如果需要在程序中输出一个单引号字符,该如何完成?
public class TestChar{ public static void main (String args[]){ char c ='''; //编译错误:未结束的字符文字 } }·为解决这一问题,Java采用了转义字符来表示单引号和一些特殊符号。
转义字符描述\n换行符\t缩进(制表位)\反斜线\ ’单引号\ "双引号注意:char类型是支持\转义 使用\将"将本身具有特殊含义的字符“转换成”普通字符 使用\将“普通字符”转换成“本身具有特殊含义的字符
举个例子
short s = 123 ; int i = s; //自动类型转换 System.out.println(i); //两种类型兼容,目标类型大于原类型 float f =3.5F; double d =f ; System.out.println(d); byte = 10 ; double d2 = b ; System.out.println(d2); float d3 = 100.0F; long l =d3 ; //Error System.out.println(l); //这个会报错,小数是没有办法在毫无损失的情况下转换成整数的注意: 通过在原类型前面,加上(目标类型),达到强制类型转换的目的,但是有可能会失去精度
比如: 小数强转为整数 ,则失去精度,小数点后的值无法保留。
整数长度足够,数据完整 例:
int i = 100; byte b =(byte)i; //b=100整数长度不够,数据截断 例:
int i =10000; byte b =(byte)i; //b=16 (符号位变换,可能变为负数)小数强转成整数,数据截断 例:
double d =2.5; int i =(int) d ; //i =2(小数位舍掉)字符整数互转,数据完整 例:
char c =65; int i = c ; //i = 65boolean的取值为true / false ,不可与其他类型转换
