Java中的数据类型_java里面的数据类型
4.数据类型
4.1 java中的数据类型分为两大类:
基本数据类型和引用类型。
基本数据类型:
数值型 byte[1],short[2],int[4],long[8]
浮点型 float[4],double[8]
字符型 char[2]存放单个字符
布尔型 boolean[1]存放true,false
引用类型:
类(class)
接口(interface)
数组([ ])
4.2整数类型
4.2.1整数介绍:
Java 的整数类型就是用于存放整数值的。
例如:
byte n1 = 10;
short n2 = 10;
int n3 = 10;
long n4 = 10;
4.2.2整数的类型
类型 | 占用存储空间 | 范围 |
byte[字节] | 1字节 | -128~127 |
short[短整型] | 2字节 | -32768~32767 |
int[整型] | 4字节 | -2147483648~2147483647 |
long[长整型] | 8字节 | 2^63~2^63-1 |
4.2.3整形的使用细节
1.Java中各类整数类型有固定的范围和字节长度,不受操作系统的影响,以保证Java程序的可移植性。
2.java的整型常量默认为int型。声明long型,需要加'l'或'L'。
3.bit:计算机中最小的存储单位。byte:计算机的存储单元,1byte=8bit。
4.在进行整数运算时,要特别注意数据类型的范围,避免溢出情况的发生。
4.3浮点类型
4.3.1浮点类型的介绍
Java的浮点型可以表示一个小数,比如5.4,3.1。
4.3.2浮点型的分类
类型 | 占用存储空间 | 范围 |
单精度flotat | 4字节 | -3.403E38~3.403E38 |
双精度double | 8字节 | -1.798E308~1.798E308 |
4.3.3浮点形的使用细节
1.与整数类型相似,Java浮点类型也有固定的范围和字段长度,不受操作系统的影响。
2.Java的浮点型常量默认为double型。声明float型,需要加'f'或'F'。
3.浮点型常量的表示方法:
十进制形式:5.46(必须要有小数点)
科学计数法形式3.12E3(3.12*10的3次方)。
4.通常情况下,使用double类型,比float型更准确。
4.4字符类型
4.4.1基本介绍
字符类型可以表示单个字符,字符类型是 char,char 是两个字节(可以存放汉字),多个字符我们用字符串 String.
4.4.2 字符类型使用细节
1.字符常量是用单引号' '括起来的单个字符。例如char c1 = 'b',char c2 = '王',char c = '9';
2.java中还允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。例如 char c3 = '\n';
3.在Java中,char的本质是一个整数,在输出时,是Unicode码对应的字符。
4.可以直接给char赋给一个整数,然后输出时,会按照对应的unicode码对应的字符。
4.char类型是可以进行运算的,相当于一个整数。
4.5布尔类型
4.5.1介绍
1.布尔类型也叫boolean类型,boolean类型数据只允许取值true和false,无null。
2.bollean类型只占一个字节。
3.bollean类型适用于逻辑运算,一般用于程序流程控制。
4.6基本数据类型转换
4.6.1自动类型转换
当Java程序进行赋值时,精度小的类型自动转换为精度大的数据类型。
4.6.2自动类型转换注意和细节
1.有多种类型进行混合运算时,系统首先将所有数据转换成容量大的数据类型,在进行计算。
例如:float n2 = n1 + 1.3;//结果类型为double
2.当把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会进行自动类型转换。
例如:int n5 = 1.1;//错误
3.(byte,short)和char之间不会进行自动类型转换。
4.byte,short和char之间可以进行运算,在计算时首先转换为int类型。
5.boolean不参与转换。
6.自动类型转换原则:表达式结果的类型自动提升为操作数中最大的类型。
4.6.3强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成精度降低或溢出,格外要注意。例如:int i = (int)1.5;
4.6.4强制类型转换细节说明
1.当进行数据从大到小的过程,就需要使用强制类型转换。
2.强转符号只针对于最近的操作数有效,往往使用小括号提升优先级。例如:int x = (int) 3.7 + 6 * 3.0;只会将3.7转换为3。
3.char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
例如:
char c1 = 100;
int m = 100;
char c2 = m;//错误
char c3 = (char) m;//ok
4,7基本数据类型和String类型的转换
public class test{
public static void main(String[] args{
//将数值转换为字符串
int n1 = 10;
float n2 = 1.1F;
double n3 = 2.5;
boolean n4 = true;
String s1 = n1 + "";
String s2 = n2 + "";
String s3 = n3 + "";
String s4 = n4 + "";
System.out.println(s1 + " " + s2 + " " + s3 + " " + s4);
}
}
class test1{
public static void main(String[] args){
//字符串转基本数据类型
//使用基本数据类型对应的包装类
String n1 = "123";
int num = Integer.parseInt(n1);
double num1 = Double.parseDouble(n1);
Float num2 = Float.parseFloat(n1);
System.out.println(num);
System.out.println(num1);
System.out.println(num2);
}
}