一、数据类型

1、数据类型:节约内存、提高效率
基本数据类型和引用数据类型
1.0、基本数据类型:4类8种
整数类、小数类、布尔类、字符类

		1.1、整数类:4种(byteshortintlong1.1.1byte字节型:8bit=1byte:

		//输出Byte类型的最大值最小值
		System.out.println(Byte.MAX_VALUE);//127
		System.out.println(Byte.MIN_VALUE);//-128
		1.1.2short短整型:16bit=2byte
		//输出Short类型的最大值最小值
		System.out.println(Short.MAX_VALUE);//32767
		System.out.println(Short.MIN_VALUE);//-32768
		1.1.3	int整型:32bit=4byte
		System.out.println(Integer.MAX_VALUE);//2147483647
		System.out.println(Integer.MIN_VALUE);//-2147483648
		1.1.4	long长整型:64bit=8byte;
				注意:整数常量默认类型为int类型,int类型是32位存储的
		System.out.println(Long.MAX_VALUE);
		//MAX:9223372036854775807
		System.out.println(Long.MIN_VALUE);
		//MIN:-9223372036854775808
		1.2、小数类:21.2.1	double双精度浮点型:64bit=8byte
		double d=5.0;
		System.out.println(Double.MAX_VALUE);
		//1.7976931348623157E308
		System.out.println(Double.MIN_VALUE);
		//4.9E-324
		1.2.2	float单精度浮点型:32bit=4byte
		//小数常量类型默认为double型,64bit存储,而float型的变量f是32bit容量,所以放不下。需要制定类型的常量需加标记
		float f = 6.0f;
		System.out.println(Float.MAX_VALUE);
		//3.4028235E38
		System.out.println(Float.MIN_VALUE);
		//1.4E-45
		1.3、布尔类:11.3.1boolean布尔型:8bit=1byte,占1bit
		boolean flag =true;
		boolean flag2=false;
	1.4、字符类:1char c ='中';//单引号引起来的内容,方且只能放一个字符
	1.5、其他进制写法
		int a10=10000;//10进制
		System.out.println(a10);
		int a16=0x10;//16进制
		System.out.println(a16);
		//使用API计算十进制转16进制
		int a10_16=1234;
		System.out.println(Integer.toHexString(a10_16));
		int a8=0123;//八进制
		System.out.println(a8);
		//使用API计算十进制转八进制
		int a10_8=123;
		System.out.println(Integer.toOctalString(a10_8));
		int a2=0b1;//二进制
		System.out.println(a2);
		//使用API计算十进制转二进制
		int a10_2=123;
		System.out.println(Integer.toBinaryString(a10_2));
	1.6、取整问题
//		整数
		System.out.println(9/3);
		System.out.println(9/2);//截尾取整
//		小数
		System.out.println(9.0/2);//保留小数
		System.out.println(8.0/3);//舍入误差 由于二进制和十进制之间转换造成的
	1.7、数据类型转换
		1.7.1、口诀:小转大自动转 大转小强制转
		取值范围大的大小:byte--short--int--long--float--double	
		byte b1 =12;
		short s1 = b1;
		s1=666;
		int i=s1;
		i=888;
		long l=i;
		l=900000000000000000L;
		float f=l;//小转大:取值范围
		f=3.3f;
		double d=f;
		1.7.1.1char的取值范围:0-65535
		char类型底层存放的是数字,系统发现数据类型为char时显示为字符
		char c11=97;//底层是数字
		System.out.println(c11);
		char c12=65;
		System.out.println(c12);
	1.7.2大转小强制转
		1.7.2.1整数之间强转:可能发生溢出	
		byte b1=1;
		byte b2=127;
		byte b3=(byte)(b1+b2);//超范围,强转,强转符号作用域
		System.out.println(b3);//-128——127
		byte b4=(byte)259;
		System.out.println(b4);
		1.7.2.2、小数之间强转
		double pi=3.1415926535897932384626433;
		float pif=(float)pi;//小数强转精度丢失
		System.out.println(pi);
		System.out.println(pif+"小数强转精度丢失");
//		4.7.2.3小数和整数之间的强转
		double d1 = 9.9999;
		int i1=(int)d1;
		System.out.println(d1);
		System.out.println(i1+"截尾取整");
		int i2=10;
		double b22=(double)i2;
		System.out.println(b22+"添加精度");
		1.7.2.3、小数和整数之间的强转
		double d1 = 9.9999;
		int i1=(int)d1;
		System.out.println(d1);//9.9999
		System.out.println(i1+"截尾取整");//9
		int i2=10;
		double b22=(double)i2;
		System.out.println(b22+"添加精度");//10.0添加精度
//		4.7.3	byte、short、char与int转换关系
		int i3=12;
		byte b5=(byte)i3;//大转小 强制转
		System.out.println(b5);//12
		byte b6=12;//常量不超范围可以直接复制给byte、short、char
//		byte b7=129;//超范围
//		byte、short、char的变量在运算时一律提升 为int
		byte b8=1+126;
		byte b9=1;
		byte b10=126;
		byte b12=(byte)(b9+b10);
		System.out.println(b12);//127
		byte b13=(byte)(10+b10);
		System.out.println(b13);//-120
		int i97=97;
		System.out.println((char)i97);//a
		char c97='a';
		System.out.println((int)c97);//97
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值