Java中的数据类型,分为引用类型和基本数据类型。以下是基本类型8种
1. 8种基本数据类型
整型: byte, short, int, long
浮点型: float, double
字符型: char
Boolean型: boolean
2. 整数类型
整数类型有byte,short,int,long都是有符号(补码)整数(即能表示负数)。
整数字面量(127和-128就是字面量)默认是int类型,如果不超出声明类型的范围,则可以给小类型直接赋值(不需要强记,在编写程序过程中会逐渐理解)。
//byte b = 128; 超赋值范围
byte b = 127;
byte c = -128;
使用整数类型(byte,short,int)要注意取值范围,(-128~127)之间的整数字面量可以直接赋值给byte类型,Java会自动处理符号位,比如-8在计算机中用1111 1111 1111 1111 1111 1111 1111 1000表示,如果使用byte b=-8语句,则Java自动截掉前面的24位
注意: 输出byte,short的二进制形式时候,Java会自动类型转换,字符扩展符号位。也就是说,将输出32个1,而不是16个1。
3. 浮点数类型
用于表示小数的数据类型。浮点数原理:也就是二进制科学计数法。
1、10进制浮点数科学计数法: 219345 = 2.19345*(10^5)
2、2进制浮点数科学计数法: 10111 = 1.0111*(2^100)
以2.19345*(10^5)为例介绍如下概念:
尾数: .19345
指数: 5
基数: 10
float类型共32位(与int相同),其中1位为符号位,指数8位,尾数23位。需要强调的是float的精度是23位(即能精确表达23位的数,超过就被截叏了)。小数是以尾数长度来表示精确度的,比如pi=3.14,它的精度是2位,pi=3.1415,它的精度就为4位。
/**
* 浮点数特点
*/
public class FloatDemo {
public static void main(String[] args) {
int a = 0x7fffffff; // int类型最大值
int b = 0x7ffffff0; // 比a大15
float fa = a; // 将int类型赋值给flast类型
float fb = b; // 将int类型赋值给flast类型
System.out.println(fa);
System.out.println(fb);
System.out.println(a == b); // false int类型的值相比 a > b
System.out.println(fa == fb); // true 相同的数,float类型相比,尽然相同
}
}
4. 字符类型char
字符类型是经常用到的,比较有趣,要掌握。字符类型是一个16位无符号整数,是一个2进制数,这个数值是一个字符的unicode编码值。
unicode编码,是全球范围内的编码方法,编制了英文,中,日,韩,阿拉伯,希伯来等等共8万多个字符(unicode编码在设计的时候就旨在能表示世界上所有文字)。 Java char 的范围0~65535不能表示全部unicode,但是可以表示unicode只能够最常用的部分,足够用的了。
/**
* 字符类型演示
*/
public class CharDemo2 {
public static void main(String[] args) {
char c = 65;
System.out.println(c); // A
System.out.println((int) c); // 65
c = 20013;
System.out.println(c); // 尽可能按照人们的习惯输出
System.out.println((int) c);// 20013
}
}
5. boolean布尔类型
表达: 真(true)/假(false)。
一般用于判断语句块中:
public class Demo5 {
public static void main(String[] args) {
boolean kaihui = false;
if(kaihui == true) {
System.out.println(“下班回家”);
} else {
System.out.println(“加班开会”);
}
}
}