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…

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北极,南极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值