java基本的数据类型**
3.基本数据类型**
3.1.Java中的基本数据类型有⼏种,如何表⽰,取值范围以及注意事项?
数据类型—为了定义变量,限定变量的存储空间的⼤⼩。
Java中的数据类型
1.基本数据类型【原⽣数据类型】
2.复合数据类型【引⽤数据类型】
Java中的基本数据类型有⼏种?
4⼤类8种
1.整数类型(4)
(1)字节型 byte 1个字节8位2进制 -2的7次⽅~2的7次⽅-1
(2)短整型 short 2个字节 -2的15次⽅~2的15次⽅-1
(3)整型 int 4个字节 -2的31次⽅~2的31次⽅-1
(4)长整型 long 8个字节 -2的63次⽅~2的63次⽅-1
2.浮点类型(2)
(1)单精度浮点型 float 4个字节 8位的有效数字
(2)双精度浮点型 double 8个字节 16位的有效数字
3.字符类型(1)
(1).字符型 char 2个字节 0~65535
4.布尔类型(1)
(1).布尔型 boolean 1个字节 true/false
数据类型—为了定义变量,限定变量的存储空间的⼤⼩。
变量的组成
1.数据类型
2.名称
3.初始值
4.作⽤域
创建java变量
1.先定义,后赋值。
定义格式:数据类型 名称;
例如: int num;
赋值[=]格式: 名称=数据值;
例如: num=123;
2.定义+赋值
定义+赋值格式: 数据类型 名称 = 数据值;
例如: int num = 123;
例如:字节型:
public class ZhengShuType{
public static void main(String args[]){
//字节型 byte  1个字节8位2进制  -2的7次⽅~2的7次⽅-1
//1.先定义,后赋值。
byte bytenum1;
bytenum1 =100;
System.out.println("bytenum1=="+bytenum1);
//2.定义+赋值
byte bytenum2=127;
System.out.println("bytenum2=="+bytenum2);
//当我们赋值给字节型变量的具体数据值超过字节型取值访问时就会报错}
}
例如:短整型
public class ZhengShuType{
public static void main(String args[]){
//短整型 short  2个字节 -2的15次⽅~2的15次⽅-1
//1.先定义,后赋值。
short shortnum1;
shortnum1 =200;
System.out.println("shortnum1=="+shortnum1);
//2.定义+赋值
short shortnum2=2000;
System.out.println("shortnum2=="+shortnum2);
/
/当我们赋值给短整型变量的具体数据值超过短整型取值访问时就会报错
}
}
例如 整型:`
public class ZhengShuType{
public static void main(String args[]){
//3.整型  int    4个字节  -2的31次⽅~2的31次⽅-1
//1.先定义,后赋值。
int intnum1;
intnum1 =20000;
System.out.println("intnum1=="+intnum1);
/
/2.定义+赋值
int intnum2=2000000000;
System.out.println("intnum2=="+intnum2);
//当我们赋值给整型变量的具体数据值超过整型取值访问时就会报错
}
}
例如长整型:
public class ZhengShuType{
public static void main(String args[]){
//4.长整型  long    8个字节  -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);
}
}
例如 单精度浮点型:
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”作为后缀
}
}
例如 双精度浮点型:
public class XiaoShuType{
java变量的数据类型分为两种public static void main(String args[]){
//双精度浮点型 double  8个字节  16位的有效数字
/
/1.先定义,后赋值。
double doublenum1;
//doublenum1 = 200;
doublenum1=200.199;
System.out.println("doublenum1=="+doublenum1);
//2.定义+赋值
double doublenum2=200.199D;
System.out.println("doublenum2=="+doublenum2);
//双精度浮点型数据在赋值的时候可以添加“D”/“d”作为后缀,也可以省略
//在程序中出现了没有变量保存的⼩数数据值时,程序就认为这个数据值就是double }
}
例如 字符类型和转义符
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");
}
}
3.2.Java中基本数据类型之间的转换以及注意事项?
1.boolean类型是不参与基本数据类型主键的转换。
2.基本数据类型的精度排序【由低到⾼顺序】
byte< short < char< int < long < float< double
3.将数据类型精度低的转换成数据类型精度⾼的----隐式数据类型转换【⾃动数据类型转换】      隐式数据类型转换【⾃动数据类型转换】不需要修改程序,直接赋值即可完成。
可以直接赋予具体的数据值,也可以将变量赋值。
例如:int—>doubole [隐式数据类型转换【⾃动数据类型转换】]
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);
}
}
4.将数据类型精度⾼的转换成数据类型精度低的–显式数据类型转换【强制数据类型转换】      显式数据类型转换【强制数据类型转换】需要修改程序。
格式:低精度数据类型 变量名称 = (精度低数据类型)精度⾼的数据值【变量】;
例如:double—>int[隐式数据类型转换【⾃动数据类型转换】]
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);
}
}
5.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);
}
}
6.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);
}
}