java中的基本数据类型
什么是数据类型
java是一门强类型的语言,所有的数据都有其制定的类型。
java中基本数据类型的分类
基本数据类型:数值型
整数型
字节型: byte
短整形:short
整形:int
长整型:long
小数型
单精度:float
双精度:double
逻辑型
boolean
字符型
char
基本数据类型知识点
- 基本数据类型所占空间及范围
符号 所占空间 范围
byte 1字节 -128-127
short 2字节 -32768-32767
int 4字节 +-21亿左右
long 8字节 非常大
float 4字节 精确度:小数点后 7-8位
double 8字节 精确度:小数点后 15-16位
boolean 1位(分配1字节) true/false
char 2字节 0-65535
- 基本数据类型之间的转换
整数
public class Demo02{
public static void main(String[] args){
//1:声明一个byte类型的变量
byte num = 120;
System.out.println("byte类型的变量num的值是:num="+num);
//2:声明一个short类型的变量
short sh = 10000;
System.out.println("shrot类型的变量sh = "+sh);
//3:声明一个int类型的变量
int in = 123456789;
System.out.println("int类型的变量in = "+in);
//4:声明一个long类型的变量
long l = 12345678900L;
System.out.println("long类型的变量l = "+l);
}
}
tips:
所有的整数默认的数据类型是int,当把超过int范围的字面值
赋值给long类型变量时,需要在字面值后加"l"或者"L"
注意当给byte和shot赋值时,只要数值不超过byte和short的取值范围,就可以正常赋值。
对于某些特别大的整数值,long类型也是无能为力的,后期通过BigDecimal、BigInteger去存储。
小数
public class Demo02{
public static void main(String[] args){
// 正常赋值小数
double d = 12.1;
//d = .5;
d = 0.000314;
System.out.println("d的值是:"+d);
//通过科学计数法给d重新赋值
d = 3.14E-4;
System.out.println("d的值是:"+d);
}
}
tips:
计算机存储小数是一个近似值。
小数:
双精度: 符号 精确程度 空间
double 小数点后15-16位 8字节
单精度 float 小数点后7-8位 4字节
java中的小数默认类型是double,当把一个double类型的字面值
赋值给float变量存放的时候,要在字面值后加"F""f"
System.out.println(10/0.0); 正无穷
System.out.println(-10/0.0);负无穷
System.out.println(-0.0/-0.0==0.0/0.0);NaN
逻辑类型
public class Demo03{
public static void main(String[] args){
//声明一个boolean类型的变量
boolean flag = true;
System.out.println(flag);
//声明一个int类型的变量存放3和5的累加和
byte b = 3;
short s = 5;
int num = b+s+flag;
}
}
tips:
java规范 编写代码过程中要遵守的
jvm规范 虚拟机规范 hotspot boolean类型存储还是1和0
逻辑型 (布尔型) 符号 所占空间 范围
boolean 1位(实际存储的是1个字节) true/false
字符型:
boolean 类型的变量不能参与四则运算
适用场景:
逻辑判定,流程控制中有大用
字符型
public class Demo04{
public static void main(String[] args){
//声明一个char类型的变量
char ch = 97;//将字符A赋值给了char类型变量ch存放
System.out.println(ch+1);
// java采用的是unicode u十进制的数
ch = '\u0011';
System.out.println("---"+ch+"---");
//输出'
ch = '\'';
System.out.println("---"+ch+"---");
//使用转义字符
ch = '\t';
System.out.println("---"+ch+"---");
System.out.println("abcdefgh\tigklmn");
System.out.println("abcdefghigklmn");
System.out.print("\n"); }
}
tips:
字符型: 符号 空间 范围
char 2 0-65535
注意事项:
1:给char类型变量赋值时一定要注意是单引号引起来的单个字符。
2: '' 字符 "" 字符串 java中的字符串的类型是String
3: java采用unicode 可以使用中文
4:char类型是可以直接赋值整数的 包含0的正整数
5:char类型是可以参与四则运算的
6: 使用\ u + 十六进制数即可 (不常用)
7: 转义字符,
转变含义,在java中有些符号已经有了自己的用法, 通过转义字符,转变其含义。 \+要转义的字符
类型转换
自动类型转换
- 示例代码:
public class Demo06{
public static void main(String[] args){
//声明一个byte类型的变量
byte b = 12;
// 声明一个int类型的变量存放byte类型的数据
int num = b; //把变量b中的值赋值给int类型的变量num存放
//声明一个boolean类型的变量
boolean f = true;
//num = f;
//声明一个char类型
char ch = 'a';
num = ch;
system.out.println(num);
}
}
- tips:
boolean类型是不可以进行类型转换的
自动转换: 小变大 大类型 变量名 = 小类型的值; char
|
byte->short->int->long->float->double
强制类型转换
- 代码示例:
- tips:
强制转换:(强转有风险,转换需谨慎)
大变小 小类型 变量名 = (小类型)大类型的变量;
如果大类型的变量的值超过了小类型的范围,结果有问题。