java基本类型

/*
8个原生类型的介绍
4个整型 2个浮点类型 1个char类型 1个boolean类型

整形:
最前面一位是符号位,java中没有无符号类型
byte 1个字节(8个bit位)-128~127
short 2个字节(16个bit位) -32768~32767
int 4个字节(32个bit位) 正好超过20亿 java中默认的类型
long 8个字节(64个bit位)

浮点类型:
float 4个字节(32个bit位)有效位6~7
double 8个字节(64个bit位)有效位15  java中默认的浮点类型

char类型用来定义unicode字符占用两个字节,范围是0~65535。

boolean类型占用一个bit位,0/1,false/true两个值
*/
public class Sample
{
	public static void main(String[] args)
	{
		//16进制 10进制 2进制 8进制表示法
		double d = 0xAEDF;//16进制 0x
		double d2 = 010;//8进制 0
		double d3 = 0b00000001;//2进制表示法
		float f2 = 0x14.0p-3F;//另外一种16进制表示法,p代表指数,指数用10进制数表示,指数的基数是2而不是10。
		System.out.println(d);
		System.out.println(d2);
		System.out.println(d3);
		System.out.println(f2);
		/*
		输出结果:
		44767.0
		8.0
		1.0
		2.5
		*/
		long l = 141L;//由于默认的就是int类型的
		float f = 1.01F;//系统默认为double类型
		
		//无穷大 和报错
		/* 除数不能为0,
        int a = 2;
        int b = 0;
        System.out.println(a/b);//编译通过,但是运行报错,by zero
        */
        /*
        float a = 1.00F;
        float b = 0;//会自动变成浮点数的0.0
        float c = a/b;//正无穷大 如果是一个负数除以0那就是负无穷大
        float d = Float.NEGATIVE_INFINITY;
        System.out.println(c == d);//flase
        */
        //System.out.println(0.0/0.0);//NaN
        //System.out.println(0.0/0.0==0.0/0.0);两个NaN不相等
        //System.out.println(5.0/0==6.0/0);//所有正无穷大相等
        //System.out.println(-5.0/0==6.0/0);//一个负无穷大不等于一个正无穷大
        //System.out.println(-5.0/0==-6.0/0);//所有负无穷大相等
        //System.out.println(0/0);//编译通过,但是运行报错,by zero
		//System.out.println(5%0.0);//NaN 取余数的话不能是0,如果是就是运行报异常
		//System.out.println(0.0*0.0);//0或者0.0相乘结果就会是0或者0.0
		/*
		1.两个整数:除数不能为0,为0运行就报错,编译不会出错。被除数为0的情况下结果也会为0。

		//System.out.println(0/0);//编译通过,运行异常:by zero。
		//System.out.println(0/5);//结果为:0
		//System.out.println(5/0);//编译通过,运行异常:by zero。
		 

		2.两个浮点型:如果两个都是0.0的话结果就会是NaN,非数,除数为0.0的情况下就会是无穷大,被除数为0.0,除数大于等于1.00的数情况下为0.0。

		System.out.println(0.0/0.0);//非数(NaN)
		System.out.println(5.0/0.0);//正无穷大,如果有任何一个数是负数,那么为负无穷大,两个位都是负数那么就是负负得正。
		System.out.println(0.0/5.0);//为0.0,如果有任何一个数是负数,那么就-0.0。两个位都是负数那么就是负负得正。
		  

		3.除数为浮点数,被除数为整数。

		System.out.println(0/5.0);//0.0 负数原理跟上面一样
		System.out.println(0/0.0);//非数
		System.out.println(5/0.0);//无穷大
		4.除数为整数,被除数为浮点数。

		System.out.println(0.0/0);//非数
		System.out.println(0.0/5);//0.0 负数原理同上
		System.out.println(5.0/0);//无穷大,负数原理同上
		5.取模的情况。

		//System.out.println(0%0);//编译通过,运行异常:by zero。
		//System.out.println(-0%5);//0 
		//System.out.println(5%0);//编译通过,运行异常:by zero。
				 
		//System.out.println(0%0.0);//非数(NaN)
		//System.out.println(0%5.0);//0.0
		//System.out.println(5%0.0);//非数(NaN)
				 
		//System.out.println(0.0%0.0);//非数(NaN)
		//System.out.println(0.0%5.0);//0.0
		//System.out.println(5.0%0.0);//非数(NaN)
				 
		//System.out.println(0.0%0);//非数(NaN)
		//System.out.println(0.0%5);//0.0
		//System.out.println(5.0%0);//非数(NaN)
		*/
		if(Double.isNaN(0.0/0))//判断是否为非数值NaN
		{
			System.out.println("\"0.0/0\"非数值!");
		}
		/*
		输出:
			"0.0/0"非数值!
		*/
		System.out.println(1.0/3.0);

		char c = '\uffff';//Unicode字符
		c = '\b';//转义字符
		System.out.println(c);

		//变量
		int a;//声明
		a = 20;//赋值
		int aa,bb;//连续声明
	}
}


你可能感兴趣的:(java基本类型)