一、基本数据类型
Java数据类型大体分为两种类型——基本数据类型和引用数据类型
基本数据类型分为数值型、字符型(char[2],存放单个字符)和布尔型(boolean[1],存放ture,false),其中数值型又分为整数类型(byte[1],short[2],int[4],long[8])和浮点类型(float[4],double[8]);
引用数据类型分为类(class)、接口(interface)和数组([ ])。
1.整型
类型 | 占用存储空间 | 范围(二进制) |
---|---|---|
byte[字节] | 1字节 | ~ |
short[短整型] | 2字节 | ~ |
int[整型] | 4字节 | ~ |
long[长整型] | 8字节 | ~ |
a)Java各整数类型有固定的范围和字段长度,不受具体OS的影响,以保证Java程序的可移植性;
b)Java整型常量默认为int型,声明long型常量须后加 'l' 或 'L';
c)Java程序中变量常声明为int型,除非不足以表示大数,才使用long;
2.浮点型
类型 | 占用存储空间 | |
---|---|---|
单精度float | 4字节 | -3.403E38 ~ 3.403E38 |
双精度double | 8字节 | -1.798E308 ~ 1.798E308 |
说明:
浮点数在机器中存储方式是:浮点数 = 符号位 + 指数位 + 尾数位;
尾数部分可能丢失,造成精度损失(小数都是近似值)。
a)与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响;
b)Java的浮点型常量默认为double型,声明float变量需要在后面加 “F” 或 “f”;
c)浮点型常量有两种表示形式:
十进制数形式:如 5.12 512.0f .512
科学计数法形式:如 5.12e2 [ ] 5.12E-2 [ ]
d)通常情况下,应该使用double型,因为它比float型更精确;
e)浮点数有使用陷阱(重要):如 2.7与8.1/3 ,如果需要判断是否相等,应该是以两个数的差值的绝对值在某个精度内判断。
3.字符型
字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字)。
如果是数字的话,字符型存放编码上该数字对应的字符。
a)字符常量是用单引号(' ')括起来的单个字符,例如:char1 c1 = 'a'; char c2 = '中'; ;
b)Java允许使用转义字符 "\" 来将其后面的字符转变为特殊字符型常量,例如:char c4 = '\n'; \n表示换行符;
c)在Java中,给char赋值一个整数,输出对应编码的字符;
d)char类型是可以运算的,相当于一个整数。
public class lx0006{
public static void main(String[] args){
char c1 = 97;
System.out.println(c1); //输出编码中97对应的字符
char c2 = 'a';
System.out.println((int)c2); //输出a对应的编码
char c3 = '依';
System.out.println((int)c3); //输出依对应的编码20381
char c4 = 20381;
System.out.println(c4);
System.out.println('a' + 10); //将a对应的编码与10相加
}
}
4.布尔型
a)布尔类型也叫boolean类型,boolean类型数据只允许取值true和false,无null;
b)boolean类型占一个字节;
c)boolean类型适用于逻辑运算,一般用于流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
public class lx0007{
public static void main(String[] args){
boolean isPass = true;
if(isPass){
System.out.println("考试通过,恭喜!");
} else {
System.out.println("考试未通过,下次努力...");
}
}
}
二、类型转换
三、Java API文档
API 是Java提供的基本编程接口(Java提供的类还有相关的方法),中文在线文档:https://www.matools.com
四、常用编码
ASCll:一个字节表示,共表示128个字符,实际上一个字节可以表示256个字符,只使用了128个;
Unicode:固定大小的编码,使用两个字节表示字符,字母和汉字都统一占用两个字节,浪费空间;
UTF-8:大小可变的编码,字母使用一个字节,汉字使用三个字节;
GBK:可以表示汉字,而且范围广,字母使用一个字节,汉字使用两个字节;
GB2312:可以表示汉字,使用程度没有GBK高;
BIG5:表示繁体中文(比如:台湾、香港)。
代码自己手动敲一遍理解更深哦!