《疯狂JAVA讲义》之十——Java基本数据类型之一

看例子。
package com.huateng.mjq.chapter3;
/**
 * Java PrimitiveType excise 
 * @author Administrator
 *
 */
public class PrimitiveType_1 
{
	/* 运行结果如下:
	 -128
	2147483647
	-2147483648
	999999999999999
	*分析:a,b将小于等于127(byte所能表示的整形数组范围:-128---127)赋值正常,是因为系统会自动将在byte表示范围内的整数作byte类型的值来处理。
	*c 将一个128(int型)赋值给byte类型的变量,需要进行强制转型,强转过程请自行分析(整型128二进制表示为0000....00010000000,一共32位,
	*但是byte只有8位,所以这里需要进行截断处理,只剩下低8位——10000000,这个值符号位是1,即负数,负数使用补码表示,而补码-0所表示的数就是-128)
	*e:在进行运算时,整型所能表示的最大值赋给long型时做了自动类型转换
	*f:右侧表达式的计算结果为整型,但是计算结果的值超出了整型所能表示的最大范围,所以产生了溢出,请自行分析
	*g:右侧数值超出整型范围,编译不能通过
	*h:右侧数值后加上L,表示该数值类型为long型
	*
	*
	*
	*
	*/

	public static void main(String [] args)
	{
		test1();
	}
	public static void test1()
	{
		byte a = 56;
		byte b = 127;
		byte c =(byte) 128;
		long d = 99999;
		long e = Integer.MAX_VALUE;
		long f = Integer.MAX_VALUE+1;
		//long g = 999999999999999;
		long h = 999999999999999L;
		System.out.println(c);
		System.out.println(e);
		System.out.println(f);
		System.out.println(h);
	}
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_2 {
	/*运行结果如下;
		 true
		NaN
		false
		true
		-Infinity
		Exception in thread "main" java.lang.ArithmeticException: / by zero
			at com.huateng.mjq.chapter3.PrimitiveType_2.test2(PrimitiveType_2.java:19)
			at com.huateng.mjq.chapter3.PrimitiveType_2.main(PrimitiveType_2.java:6)
		*结果分析:
		*正无穷大都相等,负无穷大都相等
		*除法运算中如果除数和被除数有一个是浮点数,则允许除数为0,所得结果为正负无穷大;但是0.0/0.0结果为非数,非数和任何值都不相等(包括它自身)
		*0/0运行抛出异常
		*
		*
		*
		*/

	public static void main(String [] args)
	{
		test2();
	}
	public static void test2()
	{
		float af = 5.23456789f;
		double a = 0.0;
		double c = Double.NEGATIVE_INFINITY;
		float d = Float.NEGATIVE_INFINITY;
		System.out.println(c==d);
		System.out.println(a/a);
		System.out.println(a/a == Float.NaN);
		System.out.println(6.0/0 == 55/0.0);
		System.out.println(-8/a);
		System.out.println(0/0);
	}
	
	
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_3 {
	/*
	 * 运行结果:
	 * 13445543
	0.123
	分析:允许在数字中随意使用_进行数字分隔;允许小于1的小数省略小数点右边的0
	*/
	public static void main(String [] args)
	{
		test3();
	}
	public static void test3()
	{
		int a = 1_3_4455_43;
		float b = .12_3f;
		System.out.println(a);
		System.out.println(b);
	}
	
	
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_4 {
	/*
	 * 运行结果:
	 * 6.0
	9.0
	分析:类型自动转换*/
	public static void main(String [] args)
	{
		test4();
	}
	public static void test4()
	{
		int a = 6;
		float f = a;
		System.out.println(f);
		byte b =9;
		//char c = b;
		double d = b;
		System.out.println(d);
	}
}

package com.huateng.mjq.chapter3;

public class PrimitiveType_5 {
	/*
	 * 运行结果:
	 * a
	
		香
		39321
		30127
		b
		结果分析:char类型变量允许赋予四种值:'a','\t','\u1234',整数,而其值可以直接转换为整型参与运算
		
		*/

	public static void main(String [] args)
	{
		test5();
	}
	public static void test5()
	{
		char aChar = 'a';
		char entereChar = '\t';
		char ch = '\u9999';
		char feng = '疯';
		int chValue = ch;
		int fengIntValue = feng;
		char c = 98;
		System.out.println(aChar);
		System.out.println(entereChar);
		System.out.println(ch);
		System.out.println(chValue);
		System.out.println(fengIntValue);
		System.out.println(c);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值