Java中的数据类型可以划分为两种:基本数据类型和引用数据类型:
基本数据类型:
整型(byte、short、int、long)
浮点型(float、double)
字符型(chat)
布尔型(boolean)
引用数据类型:
类(class)
接口(interface)
数组(array)
简单介绍一下Java中常见的八种基本数据类型:
1.八种数据类型的范围
byte :-128 ~ 127
short :-2 ^ 15 ~ 2 ^15 - 1
int : -2 ^ 31 ~ 2 ^ 31-1(约21亿)
long :-2 ^ 64 ~ 2 ^ 63 -1
float : -3.403E38 ~ 3.403E38
double : -1.798E308 ~ 1.798E308
常见四种数据类型间的转换关系:
bit为最小的储存单位,存储0或1
1 byte = 8 bit ---->1个字节
1 short = 16 bit ---->2个字节
1 int = 32 bit ---->4个字节
1 long = 64 bit ---->8个字节
1 float = 32 bit ------->4个字节
1 double = 64 bit ------->8个字节
2.基本数据类型定义时需要注意的事项:
1.定义的变量超过自身范围编译会不通过;计算时会数值溢出计算发生错误
2.long 型变量,必须以“L”或“l”结尾
3.float型变量,必须以“F”或“f”结尾
4.char型变量定义时用’‘号且只能定义一个字符,但char=’\n’,\n为转义字符
5.Java默认整型常量为int型,默认浮点型常量为double型
3.基本数据类型间运算时的运算规则
前提:这里讨论的只有7种基本数据类型变量间的运算,不包含boolean类型的
3.1.自动类型提升
结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
byte、char、short —>int —> long —>float —>double
特别的:当byte、char、short三种类型(或同种类型)的变量做运算时,结果为int型
demo1–同类型间运算:
public static void varTest(){
byte b1=5;
byte b2=5;
byte b3=b1+b2;
System.out.println(b3);
}
编译后会出现问题:
将b3的类型改为int,再次编译就不会报错
public static void varTest(){
byte b1=5;
byte b2=5;
int b3=b1+b2;
System.out.println(b3);
}
demo2–不同类型间进行运算:
public static void varTest1(){
byte b1=5;
char c1='a';
char c2=b1+c1;
short s1=b1+c1;
System.out.println(c2);
System.out.println(s1);
}
编译后报错:
将c2、s1修改为int型后,问题解决
public static void varTest1(){
byte b1=5;
char c1='a';
int c2=b1+c1;
int s1=b1+c1;
System.out.println(c2);
System.out.println(s1);
}
3.2.强制类型转换:
3.2.1 需要使用强转符()
demo:
byte b1=12;
int i1=(int)b1;
3.2.2 注意点:强制类型转换,可能导致精度损失*
String类型变量的使用:
1.String属于引用数据类型,一般称作字符串
2.声明string类型的变量,使用""双引号来定义 String s1=“abc”;
3.String可以和8中基本的数据类型变量做运算,且运算符只能是连接运算: +
4.String进行运算的结果仍为String