整理一些数据的类型的相关问题
一、整型数据,在java中有三种表示形式。分别是十进制,八进制和十六进制。
而整型数据的三种表示形式分别对应着纯数字格式,0+纯数字格式,0x+纯数字格式。
整型数据根据它所占用内存大小的不同,可分为byte,short,int,long四种类型。各有不同取值范围。
但是要注意,整型所能表述的范围为long所能表述最大的范围。即64位内存空间所能表述的整数值的最大范围,
有一点需要注意,如果要给某数值型变量赋值,需要考量该数值型变量的取值范围,超出范围就会出错。例如给一个变量num赋值2147483650时,因为超出了int(内存空间32位的数值)的最大赋值空间,所以其赋值语句应该写为,long num = 2!47483650L,即在数值末尾添加了L或者l。这个L代表的是长整型,也就是内存空间64位的数值。
二、浮点类型。
浮点类型有单精度类型和双精度类型。
分别为float和double.float内存空间32位即4字节空间,双精度内存空间则是64位,代表8字节。
而一般情况下,浮点类型的数值被默认为double双精度类型在函数中调用,而如果想说明要使用单精度类型数值的时候,必须在要赋予的数值的后边,加上f或者大写的F。
三、字符类型
1.char型。
字符类型char用于存储单个字符,占用16位(两个字节)内存空间。在定义字符型变量时,以单引号表示。如果用了双引号,那必然会变成一串字符串,而不是字符。
另外说一下若想得到一个0-65536中的数,unicode(万国码,统一码)这个编码集可存储的字码集中所对应的字符,必须使用char型显式转换。
例:
char p = 'd';
int i =45213;
System.out.println((int)p);
System.out.println((char)i);
输出结果为:
100
?
2.转义字符。
转义字符,顾名思义,就是将一个头部带斜杠后边跟着字符的特殊字符串赋予特殊含义。如\n表示换行。\r回车。\b退格。\f换页。\\反斜杠字符。
三、布尔类型
boolean类型只有两个返回值,true和false。布尔值不能与整数类型进行转换。
四、标识符和关键字
1.标识符
标识符可理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的序列。
例如public class ab{}就是一个用ab来标识一个类名,以ab表示一个可以运行的类文件的公开声明ab类的。
标识符的定义是由开头必须是字母,加下划线,或者加符号$或者数字组成。
另,标识符严格区分大小写。
2.关键字
关键字是已经在java中被赋予了特定意义的单词,不能当作标识符来使用。
五、声明常量
final 数据类型 常量名称=值
例如final double PI=3.1231f;声明double型常量PI并赋值。
六、赋值运算符
1.=作用在于将右边数值赋予左边。顺序不能反。
2.自增自减运算符。
b=++a和b=--a都是先a的值先变,然后赋给b。
b=a--和b=a++都是先将a的值赋给b,再将a的值变后重新赋给a。这时,a变了,而b还没变。
3.比较运算符。
>=,<=,==,!=,>.<
4.逻辑运算符。
逻辑与&;逻辑或||逻辑非!
注意&&为短路运算符,&为非短路运算符。
而短路运算符运行效率远比非短路运算符效率高。因为判断布尔值的次数相对较少。
5.三元运算符
条件式?值1:值2
boolean b= 20<45?true:false;
若条件式的运算结果返回为真,那么boolean型变量取值1,否则取值2。
6.类型转换
隐式类型转换不会损失精度。而显示类型转换不一定。
评论