1、基本数据类型(4类8种)
整型:byte 1(字节)
short 2
int 4
long 8
浮点型:float 4
double 8
字符型:char 2
布尔型:boolean 1
2、基本数据类型的转换
(1)基本数据类型的转换规则
- 范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int); (自动类型转换)
- 范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)。(强制类型转换)
- 范围从小到大依次排列为:byte -> short -> int -> long -> float -> double
(2)练习:short s1 = 1; s1 = s1 + 1与short s1 = 1; s1 += 1;
short s1 = 1; s1 = s1 + 1不能正常运行,因为s1是short类型,与1相加的结果是int型,因为它自动进行了类型转换变为int型,要想正常运行需要进行强制类型转换s1 =(short)(s1 + 1)
short s1 = 1; s1 += 1可以正常運行,因为+= 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
(3)Byte a=1,b=1,Byte c=a+b
低于int的3种数字类型byte、short和char进行算术运算后,结果会自动提升成int类型,也就是说a+b的结果变成了int类型。byte c=(byte)(a+b)就可以了
3、调用数据类型对应类的静态方法
直接调用类里面的方法,来确定每种数据类型的位数(bit)、最大值、最小值。因为是静态方法,因此,可以直接用类名进行调用。
在API文档中的java.lang.Short可以找到Short的以下静态方法:
public class Data {
//静态方法可以直接用类名调用
public static void main(String[] args) {
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);
System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);
}
}
4、引用数据类型(类,如:String类、接口类型、数组类型、枚举类型、注解类型)
(1)Scanner类:
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
System.out.println(a);
}
}
(2)Random类:
import java.util.Random;
public class RandomNum {
public static void main(String[] args) {
Random ran=new Random();
int i=ran.nextInt(100);
double j=ran.nextDouble();
System.out.println(i +" "+" "+ j);
}
}
(3)字符串类型(String类):
String
类代表字符串。 Java程序中的所有字符串文字(例如"abc"
)都被实现为此类的实例。
public class Test {
public void str(){
Integer num=123;
String strNum=String.valueOf(num);
System.out.println("转化后的字符串为:"+strNum);
}
public static void main(String [] args){
Test test=new Test();
test.str();
}
}
如上的程序为直接类名调用方法String类中的静态方法,将int型的数据转化为字符串类型的数据。