数据类型

一、基本数据类型
1、数值型
(1)、整数类型(byte、short、int、long)----分别是1、2、4、8字节
表示范围,以byte为例:
1字节即8位,表示数有正数和负数,表示数的范围为负的2的8次方到正的2的8次方-1,即-128----127,因为0在中间,因此为正的2的8次方-1。其余类型以此类推
(2)、浮点类型(float、double)----分别是4、8字节
2、字符型(char)----2字节
3、布尔型(boolean)----1位
二、引用数据类型(所有引用类型都是4个字节)
1、接口
2、类
3、数组
三、若long也无法表示时,java中有一个类bigDecimal,可以实现很长的数
四、默认值
1、8种基本数据类型
(1)、整型(byte、short、int、long)默认值为0
(2)、浮点型(float、double)默认值为0.0
(3)、字节型(char)默认值为\u0000,即0
(4)、布尔型(boolean)默认值为false
2、其它类型
默认值为null

	/**
	 * 整数类型(整数常量默认为int类型)
	 */
	public static void main(String[] args) {
		//1、byte占1字节,表示范围-128~127,即2的8次方个正数和负数,0在其范围内,因此正整数表示范围为128-1=127,其它类型以此类推
		byte a = 100;
//		byte b = 138;//报错,超出表示范围
		//2、short占2字节,表示-32768~32767
		short c = 100;
		//3、int占4字节
		int d = 10;//10进制表示
		int e = 010;//8进制表示,前面加0表示后面数为8进制,输出为10进制,值为8
		int f = 0xf;//16进制表示,前面加0x表示后面数为16进制,输出为10进制,值为15
//		int g = 0b00000000000000000000000000000011;//jdk1.7新特性,二进制表示,值为3,因为int类型为4字节,因此使用32位2进制表示
//		int h = 1_2345_4566;//jdk1.7新特性,整数类型可以使用下划线分割,便于阅读,值不变,适用于其它进制表示
		//4、long占8字节
		long h = 100L;//L大小写均可,建议大写,增加程序可读性(小写l与1类似,容易误读)
		//5、若数据长度使用long无法表示时,使用java中bigInteger(可以表示大整数)类表示,使用较少,此处不举例
	}

 

	/**
	 * 字符型和布尔型
	 */
	public static void main(String[] args) {
		//1、char占2字节,表示unicode字符集,可以表示65536个字符
		char a = 'A';//char类型可以表示
		char b = '好';
		char c = '\'';//注意转义字符需要加反斜杠,\t制表符,功能相当于table键
		int d = 3 + a;//每一个字符对应一个整数,因此可以当整数使用,可以查询ACSII码查询数字与字符的对应关系
		//2、boolean占一位(1字节=8位),只有两个值
		boolean e = false;
		//示例,当e值为true时输出"hello world"
		if(e){//建议写法
			System.out.println("hello world");
		}
		if(e==true){//不建议写法,容易写错,如写成e=true则表示将true赋值给变量e,此时无论e为何值,永远输出“hello world”
			System.out.println("hello world");
		}
	}

 

	/**
	 * 浮点型(浮点数常量默认为double类型)
	 */
	public static void main(String[] args) {		
		//1、float占4字节
		float a = 6.25F;//f大小写均可
//		float b = 6.25;//报错,浮点数常量默认为double类型,8字节赋给4字节损失精度
		//2、double占8字节
		double c = 6.25;
		double d = 314e-2;//浮点数第二种表示方法,科学计数法,输出3.14
		double f = 0.0314e2;//输出3.14
		//3、浮点数存在舍入误差,如果要无误差则使用bigDecimal(可以表示大小数)
		float g = 0.1f;
		double h = 1/10;
		System.out.println(g==h);//结果为false,因为在内存中表示有舍入误差
	}


 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值