一、整数类型
介绍:Java的整数类型就是用于存放整数值的。例:213,4,32,423等等
事例:
byte n1 = 10;
short n2 = 10;
int n3 = 10;//4 个字节
long n4 = 10;
整数的类型:byte,short,int,long
使用细节:
1.Java每个整数的类型有固定的范围和字段长度,不受操作系统的影响,这样可以保证Java程序的可移植性。
2.Java的整型常量默认是int,如果用long需要在后加l或L。
3.Java程序中变量类型一般用int,除非不足以表示大数才使用long。
4.bit:计算机中占用最小内存的点位。
byte:计算机中基本的存储单元。//1 byte = 8 bit
练习:
public class Test12 {
public static void main(String[] args) {
//Java 的整型常量(具体值)默认为 int 型
// 声明 long 型常量须后加‘l’或‘L’
int i = 4;//4 个字节
//int a = 14L;//对不对?不对
long a = 14L;//对,或者 long b = 14L
System.out.println("输出i和a:"+i+","+a);
}
}
二、浮点类型
介绍: Java的浮点类型可以表示一个小数。 例如:123.5, 2.5, 0.432 等等
浮点型的类型: 单精度浮点数——float 双精度浮点数——double
备注:
(1)浮点数的存放说明:浮点数=符号位+指数位+尾数位
(2)尾数可能会丢失造成精度损失
使用细节:
1.Java浮点类型有固定范围和字段长度,不受操作系统的影响。(float 4字节, double 8字节)
2.Java的浮点型常量默认为double类型,声明为float类型需要在后加F/f。
3.浮点数常量有两种表现形式:
十进制数:5.21, 6.43,512.0f,.345(必须有小数点)
科学计数法:3.14e3(3.14*10的3次方),3.14e-3(3.14*10的-2次方)
4.通常使用double类型,它比float类型更精准。
5.浮点数使用的陷阱:2.7和8.1/3比较
double i=2.7;
double n = 8.1/3;
if(Math.abs(i-n)<0.0001){
System.out.printf("i和n相等!!!");
}
事例:
public class Test13 {
public static void main(String[] args) {
//Java 的浮点型常量(具体值)默认为 double 型,声明 float 型常量,须后加‘f’或‘F' //float num1 = 1.1; //对不对?错误
float num2 = 1.1F; //对的
double num3 = 1.1; //对
double num4 = 1.1f; //对
// 十进制数形式:如:5.12 512.0f .512 (必须有小数点)
double num5 = .123; //等价 0.123
System.out.println(num5);
//科学计数法形式:如:5.12e2 [5.12 * 10 的 2 次方 ] 5.12E-2 []
System.out.println(5.12e2);//512.0
System.out.println(5.12E-2);//0.0512
//通常情况下,应该使用 double 型,因为它比 float 型更精确。
//[举例说明]double num9 = 2.1234567851;float num10 = 2.1234567851F
double num9 = 2.1234567851;
float num10 = 2.1234567851F;
System.out.println(num9);
System.out.println(num10);
//浮点数使用陷阱: 2.7 和 8.1 / 3 比较
//看看一段代码
double num11 = 2.7;
double num12 = 2.7; //8.1 / 3; //2.7
System.out.println(num11);//2.7
System.out.println(num12);//接近 2.7 的一个小数,而不是 2.7
//得到一个重要的使用点: 当我们对运算结果是小数的进行相等判断是,要小心
//应该是以两个数的差值的绝对值,在某个精度范围类判断
if (num11 == num12) {
System.out.println("num11 == num12 相等");
}
}
}
三、字符类型
介绍:字符类型可以表示单个字符,字符类型——char,char是两个字节(可以存放汉字),多个字符我们用字符串——String
实例:
char a = 'a';
char b = '\t';
char c = '李';
char d = 99;
使用细节:
1.字符常量用单引号('')括起来的单个字符
例:char a = 'a' ; char b = 'b'; char c = '李';
2.Java允许使用转义字符'\'来将其后面的字符转变成特殊字符变量。
例:cahr d = '\n'; // '\n'表示换行符
3.char的本质是一个整数,在输出时,是unicode码对应的字符。
4.可以直接给char赋一个整数,然后输出时,会按照对应的unicode字符输出[97->a]
5.char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。
实例:
public class Test14 {
public static void main(String[] args) {
//在 java 中,char 的本质是一个整数,在默认输出时,是 unicode 码对应的字符
// 要输出对应的数字,可以(int)字符
char c1 = 97;
System.out.println(c1); // a
char c2 = 'a'; //输出'a' 对应的 数字
System.out.println((int) c2);
char c3 = '韩';
System.out.println((int) c3);//38889
char c4 = 38889;
System.out.println(c4);//韩
// char 类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码. System.out.println('a' + 10);//107
// 课堂小测试
char c5 = 'b' + 1;//98+1==> 99
System.out.println((int) c5); //99
System.out.println(c5); //99->对应的字符->编码表 ASCII(规定好的)=>c
}
}
四、布尔类型:boolean
介绍:
1.布尔类型也叫boolean类型,boolean类型,boolean类型数据只允许取值ture和flase,无null。
2.boolean类型占1字节。
3.boolean类型适用于逻辑运算,一般用于程序流程控制:
if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
事例:
public class Test15 {
public static void main(String[] args) {
//演示判断成绩是否正确
//定义一个布尔变量
boolean b = true;
if (b == true) {
System.out.println("考试通过,恭喜!");
} else {
System.out.println("考试没有通过,需要再一次补考");
}
}
}