1.Java中的数据类型
数据类型:为了定义变量,限定变量的存储空间的大小。
种类:①基本数据类型【原生数据类型】
②复合数据类型【引用数据类型】
2.Java中的基本数据类型(4大类8种)
Java中的默认类型:整数类型是int,浮点类型是double。
3.创建Java变量的两种方式
①先定义,后赋值。
例如:
int num;
num=123;
②定义+赋值。
例如:
int num = 123;
4.超出数据类型的取值范围会报错问题
①字节型 byte (1个字节8位) 取值范围:-2的7次方~2的7次方-1
//1.先定义,后赋值。
byte bytenum1;
bytenum1 = 100;
System.out.println("bytenum1=="+bytenum1);
//2.定义+赋值
byte bytenum2=127;
System.out.println("bytenum2=="+bytenum2);
//当我们赋值给字节型变量的具体数据值超过字节型取值访问时就会报错
②短整型 short (2个字节16位) 取值范围: -2的15次方~2的15次方-1
//1.先定义,后赋值。
short shortnum1;
shortnum1 = 200;
System.out.println("shortnum1=="+shortnum1);
//2.定义+赋值
short shortnum2=2000;
System.out.println("shortnum2=="+shortnum2);
//当我们赋值给短整型变量的具体数据值超过短整型取值访问时就会报错
③整型 int (4个字节32位) 取值范围: -2的31次方~2的31次方-1
//1.先定义,后赋值。
int intnum1;
intnum1 = 20000;
System.out.println("intnum1=="+intnum1);
//2.定义+赋值
int intnum2=2000000000;
System.out.println("intnum2=="+intnum2);
//当我们赋值给整型变量的具体数据值超过整型取值访问时就会报错
④长整型 long (8个字节64位)取值范围: -2的63次方~2的63次方-1
//1.先定义,后赋值。
long longnum1;
longnum1= 30000;
System.out.println("longnum1=="+longnum1);
//2.定义+赋值
long longnum2=3000000000000000000L;
System.out.println("longnum2=="+longnum2);
//当我们赋值给长整型变量的具体数据值超过长整型取值访问时就会报错
//我们在给长整型变量赋值的时候,要给数据值添加“L”、“l”作为后缀
//在程序中出现了没有变量保存的整数数据值时,程序就认为这个数据值就是int
int num1=123;
int num2=num1+200;
System.out.println("num2=="+num2);
}
}
⑤单精度浮点型 float (4个字节 8位的有效数字)
注意:赋值的时候需要添加“F”、“f”作为后缀
public class XiaoShuType{
public static void main(String args[]){
//单精度浮点型 float 4个字节 8位的有效数字
//1.先定义,后赋值。
float floatnum1;
//floatnum1 = 100;
floatnum1 = 100.199F;
System.out.println("floatnum1=="+floatnum1);
//2.定义+赋值
float floatnum2=100.199f;
System.out.println("floatnum2=="+floatnum2);
//赋值的时候需要添加“F”、“f”作为后缀
⑥双精度浮点型 double (8个字节 16位的有效数字)
注意:(1)在赋值的时候可以添加“D”/“d”作为后缀,也可以省略
(2)出现了没有变量保存的小数数据值时,默认就是double
⑦字符型 char (2个字节 0–65535)
public class CharType{
public static void main(String args[]){
//字符型 char 2个字节 0--65535
//单个字符 A
//字符型数据在赋值的时候需要单引号包围
//字符型是可以保存汉字
char charvalue='好';
System.out.println("charvalue=="+charvalue);
//转义字符
// 斜杠 \ 转义 \\
System.out.println("f:\\test\\my.txt");
// 双引号 " 转义 \"
// 单引号 ' 转义 \'
System.out.println("张三说:\"你好\"");
// 制表符 【Tab键】 转义 \t
System.out.println("hello\tworld");
// 换行 转义 \n
System.out.println("hello\nworld");
}
}
5.Java中基本数据类型之间的转换以及注意事项
①boolean类型是不参与基本数据类型主键的转换。
②基本数据类型的精度排序【由低到高顺序】
byte short char int long float double
③隐式数据类型转换【自动数据类型转换】
内容:将数据类型精度低的转换成数据类型精度高的
方法: 直接赋予具体的数据值,也可以将变量赋值。
例如:int—>double
public class DataTypeSwitch1{
public static void main(String args[]){
//int--->doubole [隐式数据类型转换【自动数据类型转换】]
//直接赋予具体的数据值
double doublevalue = 100;
System.out.println("doublevalue=="+doublevalue);
//可以将变量赋值
int intnum=300;
double doublevalue2=intnum;
System.out.println("doublevalue2=="+doublevalue2);
}
}
④显式数据类型转换【强制数据类型转换】
需要修改程序
格式:低精度数据类型 变量名称 = (精度低数据类型)精度高的数据值【变量】;
public class DataTypeSwitch2{
public static void main(String args[]){
//double--->int[显式数据类型转换【强制数据类型转换】]
//格式:低精度数据类型 变量名称 = (精度低数据类型)精度高的数据值【变量】;
//将小数转换成整数不会“四舍五入”,而是直接舍弃小数部分
int intnum1=(int)12.8;
System.out.println("intnum1=="+intnum1);
double doublevalue=12.8d;
int value=(int)doublevalue;
System.out.println("value="+value);
}
}
⑤char与int的转换
其中char的取值范围就是整数
(1)char---->int [[隐式数据类型转换【自动数据类型转换】]]
(2)int---->char[[显式数据类型转换【强制数据类型转换】]]
public class CharAndInt{
public static void main(String args[]){
//char的取值范围就是整数
//1.char---->int [[隐式数据类型转换【自动数据类型转换】]]
char chatvalue1='好';
int intvalue1=chatvalue1; //隐式数据类型转换
System.out.println("intvalue1="+intvalue1);//intvalue1=22909
//2.int---->char[[显式数据类型转换【强制数据类型转换】]]
int intvalue2=22909;
char charvalue2=(char)intvalue2;//显式数据类型转换
System.out.println("charvalue2="+charvalue2);
}
}
⑥int转换成byte
当整数超过取值范围以后,会从最小值向前推进计算。
public class IntToByte{
public static void main(String args[]){
byte bytevalue=(byte)300;
System.out.println("bytevalue="+bytevalue);
//byte bytevalue1=127;
//byte bytevalue2=(byte)(bytevalue1+1);
//System.out.println("bytevalue2="+bytevalue2);
}
}