java数据类型及类型转换
java数据类型及类型转换
划分数据类型,是为了给数据分配所需的内存。在声明变量时要使用数据类型。
数据类型分为基本数据类型和复合数据类型(引用类型)。而基本数据类型分为数值类型和boolean类型。引用类型有数组,接口和类。(数值类型有整数类型,浮点类型,字符类型)
基本数据类型(数值类型)
整数类型:
byte(字节型)short(短整型)int(整型)long(长整型)
浮点类型:
float(单精度浮点型)double(双精度浮点型)
注:float类型的数值后有一个后缀F。如(3.14F).没有后缀F的浮点数值默认为double类型。也可以在浮点数值后面添加后缀D。
字符类型:
char类型用于表示单个字符,通常用来表示字符常量。(占两个字节)
基本数据类型(boolean类型)
有两个值:true和false,用来判定逻辑条件。boolean只占一位。
代码注解:
package com.IT.operator.base;
public class Demon02 {
public static void main(String[] args) {
//八大基本数据类型
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 30l;//long类型要在数字后面加个l便于区分。
//小数:浮点数
float num5 = 50.1F;//float类型后面加个F便于区分。
double num6 = 3.1425926;
//字符类型
char name = 'A';
//字符串,String不是关键字
//布尔值
boolean flag = true;
//boolean flag = false;
}
}
补充:java整数拓展:进制问题,二进制0b开头,十进制,八进制0开头,十六进制0x开头。在浮点数中,最好完全避免使用浮点数进行比较。字符拓展:字符强制转换。布尔值扩展:判定真假if()。
代码注解:
package com.IT.operator.base;
public class Demon4 {
public static void main(String[] args) {
int i = 128;
double b = i;
System.out.println(i);
System.out.println(b);
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
}
}
类型转换:
字符由低到高为byte,short,char-->int-->long-->float-->double
注:不同类型的数据先转换为同一类型,然后再进行计算。
强制转换:
(类型)变量名 高-->低
自动转换:
低-->高
int num1 = 10;
float num7 = (float)num1;
double num8 = num1;//由低到高的自动转换
System.out.println((int)23.5); //23,有可能存在精度问题
数值转换时的注意点:
1.不能对boolean值进行转换
2.不能把对象类型转为不相干的类型
3.高级转为低级时强制转换
4.转换的时候可能出现溢出或者精度问题4
详见视频:狂神说java