`
yangghost
  • 浏览: 13177 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java基础

    博客分类:
  • java
阅读更多
public class Test {
	public static final short STATIC_C = 10;

	public static void main(String[] args) {
		//java整数常量默认为int类型
		//1.直接把一个较小的整数(在byte以及short范围内),系统自动把整数常量当成byte或者short类型处理
		byte a = 100;
		byte aa = 105;
		//自动类型转换
		//                char
		//                ↓↓↓
		//byte -->short-->int-->long-->float-->double
		//自动提升原则(1)byte,short,char自动提升到int类型,提升原则(2)如果表达式中还有最高等级的操作数类型,则提升为最高操作数类型
		//byte aaa = a + aa;//错误.a+aa是int类型.
		//byte aaa = a + 5.0f;//最高类型是float
		//byte aaa = a + 5.0f + 5.0d;//最高类型是double

		//byte b = 300;//错误
		short c = 1000;

		short cc1 = STATIC_C - 5;//整数常量自动转换成short类型
		//short cc2 = c - 5;//错误,5是int类型,c自动提升为表达式最高等级的操作数类型int(就是5啦),所以c-5是int类型
		//short cc2 = c - 5.0f;//错误,5.0f是float类型,c自动提升为表达式最高等级的操作数类型float(就是5.0f啦),所以c-5是float类型
		//short cc2 = c - 5.0;//错误,5.0是double类型,c自动提升为表达式最高等级的操作数类型double(就是5.0啦),所以c-5是dobule类型

		//short d = 33333;//错误
		//2.int范围的整数可以自动转换成long类型
		long e = 9999999;
		//3.超过int范围的整数赋值给long类型必须在整数常量后面加L或者l
		//long f = 999999999999;//错误
		long g = 999999999999L;
		//4.八进制以0开头.十进制.十六进制以0x或者0X开头
		int h = 010;
		int i = 8;
		int j = 0x33;

		System.out.println(h);
		System.out.println(i);
		System.out.println(j);
		//5.字符型四种表示方式:
		//1)单引号
		char k = '囧';
		//2)转义符
		char l = '\"';
		//3)unicode值
		char m = '\u3222';
		//4)16位的无符号整数,范围在0-65535整数自动将该int整数当成char类型处理
		char n = 33333;
		System.out.println(k);
		System.out.println(l);
		System.out.println(m);
		System.out.println(n);

		//6.小数默认为dobule类型,赋值给float必须在小数后面加F或者f
		//float o = 0.2;//错误
		float p = 0.2f;
		//二进制科学计数法表示浮点数,不完全精确
		float q = 5.2334512f;
		float r = 52334512E-7f;
		System.out.println(q);//输出5.2334514
		System.out.println(r);//输出5.2334514
		//特殊浮点值,
		//1)正无穷大,整数除以0会报错,正浮点数除以0才能得到正无穷
		System.out.println(Float.POSITIVE_INFINITY);//Infinity
		System.out.println(Double.POSITIVE_INFINITY);//Infinity
		//System.out.println(5 / 0);//运行报错
		System.out.println(5.0 / 0);//Infinity
		System.out.println(100.0 / 0);//Infinity
		System.out.println(5.0 / 0 == 100.0 / 0);//正无穷都相等

		//2)负无穷大,整数除以0会报错,正浮点数除以0才能得到正无穷
		System.out.println(Float.NEGATIVE_INFINITY);//-Infinity
		System.out.println(Double.NEGATIVE_INFINITY);//-Infinity
		//System.out.println(-5 / 0);//运行报错
		System.out.println(-5.0 / 0);//-Infinity
		System.out.println(-100.0 / 0);//-Infinity
		System.out.println(-5.0 / 0 == -100.0 / 0);//负无穷都相等

		//3)非数,0.0除以0.0或者对负数开根号得到非数,NAN不等于任何数值,也不等于NAN
		System.out.println(Float.NaN);//NaN
		System.out.println(Double.NaN);//NaN
		System.out.println(0.0 / 0.0);//NaN
		System.out.println(0.0 / 0.0 == Float.NaN);//NAN不等于任何数值,也不等于NAN
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics