C4认证T2——Java数据类型

一、Java基本数据类型 Java的基本数据类型有三类八种,分别: 字符型:char 数值型:byte,short,int,long,double,float 布尔型:boolean

一个字节是八位(八位二进制数),数值型的基本数据类型所占的字节数为: byte:一个字节 short:两个字节 int:四个字节 float:4个字节 long:八个字节 double:八个字节 每个数值型数据类型能表达的数据大小为:2^(二进制位数) 而能表达的范围则为为:-2^(二进制位数-1)~ 2^(二进制位数-1)-1 当数据超过该类型的数据大小范围后,编译器就会报错 例如:

需要注意的是: 字符型占用两个字节 布尔型占用一个字节

二、封装类型 每一个基本数据类型都有对应的封装类型 byte——Byte short——Short int——Integer float——FLoat double——Double long——Long boolean——Boolean char——Character 注意的是,String本身就是封装类型,没有基本类型 封装类型是基本类型的包装器,它的变量值为实例对象,并给实例对象提供方法

封装类型的使用: .MAX_VALUE 得到该封装类对应的基本数据类型的最大值 .MIN_VALUE 得到该封装类对应的基本数据类型的最小值 .SIZE 得到该封装类对应的基本数据类型的二进制位的位数 这三个方法刚好可以验证前面所说

System.out.println(Byte.MAX_VALUE);
		System.out.println(Byte.MIN_VALUE);
		System.out.println(Byte.SIZE);
		//输出分别为127 -128 8

以Integer为例:

//将封装类型中的数值取出来
		Integer integer=new Integer(555);
		int a=integer.intValue();
		System.out.println("取出其中的值:"+a);
		//将整形转换为字符串型
		int m=12345;
		String s=Integer.toString(m);
		String s2=Integer.toBinaryString(m);
		System.out.println("整形转换为字符串型:"+s);
		System.out.println("整形转换为二进制字符串型:"+s2);
		//将字符串型转换为整型
		String ss="345";
		int b=Integer.parseInt(ss);
		System.out.println("字符型转换为整型:"+b);

输出为: 三、枚举类型Enum 常见的方法: values():遍历enum中的值 ordinal():返回此枚举常数的序数 name():返回此枚举常量的名称 compareTo():将此枚举与指定的对象进行比较

public class test3 {
          
   
	enum m{
          
   
		n1,
		n2,
		n3,
		n4;
	}
	public static void main(String[] args) {
          
   
		//遍历enum类中的值
		m[] s=m.values();
		for(m ms:s) {
          
   
			System.out.println(ms);
		}
		// ordinal(),返回此枚举常数的序数(其枚举声明中的位置,其中初始常数的序数为零)。 
		System.out.println(m.n1.ordinal());
		//name()返回此枚举常量的名称,与其枚举声明中声明的完全相同。 
		System.out.println(m.n1.name());
		//compareTo(E o) 将此枚举与指定的对象进行比较
		System.out.println(m.n1.compareTo(m.n2));
		System.out.println(m.n1.compareTo(m.n3));
		System.out.println(m.n3.compareTo(m.n1));	
	}
}

输出为: 在compareTo()方法中,返回的值为前一个枚举常数的序数减去后一个枚举常数的序数,方法源码如下 小练习1

int a = 1; 
		String b = "2"; 
		String c = "3"; 
		System.out.println(a + b + c);

如上代码输出的结果为:123 原因:输出语句中的 “+”,表示的是字符串的连接,自动将结果转换成了字符串

小练习2

float f1 = 9.9f; 
float f2 = 0.1f; 
System.out.println(f1 - f2);

输出为

9.799999

原因:计算机程序在执行的过程中转换为二进制, 9.9为1001.111 0011 0011 0011 … …, 0.1为0.00011 00011 00011 … … 算出的答案为9.799999…

经验分享 程序员 微信小程序 职场和发展