java快速入门笔记整理:6、java数据类型:整型、直接量(字面量)、8和16进制表示形式

目录

一、整数类型简单介绍

二、整型代码演示说明

三、直接量(字面量)

直接量、8和16进制表示形式、int最大值和最小值


一、整数类型简单介绍

二、整型代码演示说明

package t05_整型;

/**
 * 整数类型:byte  short  int  long
 */
public class TestZX {
	public static void main(String[] args) {
		
//		testByte();
//		testShort();
//		testInt();
		testLong();
	
	}
	
	/**
	 * long类型
	 * 1)为整数类型,8字节,64位,存储长整数(常用)
	 * 2)范围:-2的63次方  ~  2的63次方 -1
	 * 3)如果要表示long直接量,需要以 L 或 l 结尾
	 */
	private static void testLong() {
		
		//Java 中整数字面量(直接量)默认都是int类型
		//不加 L或 l,说明是int类型,这样超出int范围了。
		//long l = 2147483648; //编译错误,直接量超出 int范围了
		long l = 2147483648L;//以L后缀的是long类型字面量
		
		//获取计算机系统时间, 从1970年到现在的毫秒数
		long now = System.currentTimeMillis();
		System.out.println(now);
		
		//将毫秒数转化为当前年
		long year = now/1000/60/60/24/365 + 1970;
		System.out.println(year);
		
		long max = 0x7fffffffffffffffL;//long时间耗尽的时刻!
		year = max/1000/60/60/24/365 + 1970;
		System.out.println(year);
		
	}

	
	/**
	 * int类型
	 * 1)为整数类型,4字节,32位,存储整数(常用)
	 * 2)范围:-2147483648~2147483647	
	 * 		 即-2的31次方  ~  2的31次方 -1 
	 * 3)Java 中整数字面量(直接量)默认都是int类型。
	 */
	private static void testInt() {
//		int类型
//		它是一个4个字节的整数,也是一个有符号的整数
//		它的取值范围:-2147483648~2147483647
		
		int i = 5;		
//		i= 2147483648;//编译错误,直接量超出int范围了
		
	}

	/**
	 * short类型
	 */
	private static void testShort() {
//		short类型
//		它是一个有符号的2个字节的整数,也就是16位的整数。
//		它的取值范围是 -32768~32767,
//		byte类型的取值范围是: -128到127
//		所以byte类型可以直接赋给short类型,
//		反之则不可以,short类型赋给byte类型,
//		同样需要进行强制类型转换。
	}

	/**
	 * byte类型
	 */
	private static void testByte() {
		byte b=3;
//		b= b*3;//编译错误
		b=(byte) (b*3);
		System.out.println(b);//9
//		java提供的 byte字节类型,它是1个字节的,是一个有符号的,8位的整数,
//		也就是说我们定义的 b这个变量,它可以存放负数。
		
//		我们在 C语言当中,当我们定义一个字节类型,通常表示的是无符号的整数。
//		那么我们要注意,在 java当中这个byte,是表示有符号的整数。
//		byte字节类型是一个有符号的整数,它的范围是: -128到127
//		我们可以给它赋值:b=3; 这个值是在它的取值范围之内的,
//		然后我们让 b=b*3,会出现编译错误,那么为什么呢?
		
//		当我们字节类型变量 b,它在参与运算的时候,java做了自动数据类型的提升,
//		为了保证运算的精度,将这个运算 b*3 的结果,转换成一个int类型了,
//		这时候你赋值给字节类型 b,那么int类型的取值范围 和 byte类型的取值范围 是不一样的,
//		所以会导致编译错误,这时候我们需要进行强制转换:b=(byte) (b*3);
	}
	
	
}

三、直接量(字面量)

直接量、8和16进制表示形式、int最大值和最小值

package t06_直接量;

/**
* 直接量:就是直接写出的数字(常量)
* 1) int i = 5; 中i是变量,而5是直接量(直接写出的数)
* 2) Java 中整数字面量(直接量)默认都是int类型。
* 3) 整数的直接量也经常写16进制的形式
*     0x(数字0, 字母x)为16进制数的标识(x大小写,都可以)
*     8进制以0开头
*/
public class TestLiteral {
	public static void main(String[] args) {
		int i;
		//0x(数字0, 字母x)为16进制数的标识
		i = 0xffffffff;
		System.out.println(i);//-1
		int max = 0x7fffffff;//0111 1111 1111 ......
		int min = 0x80000000;//1000 0000 0000......
		
		System.out.println("int最大值:"+max);//2147483647
		System.out.println("int最小值:"+min);//-2147483648
		
		max = Integer.MAX_VALUE;
		System.out.println("JDK提供int最大值:"+max);//2147483647
		min = Integer.MIN_VALUE;
		System.out.println("JDK提供int最小值:"+min);//-2147483648
		
		max = max+1;
		System.out.println("max+1后的结果:"+max);//-2147483648
		min = min-1;
		System.out.println("min-1后的结果:"+min);//2147483647
		
		int max2 = 0x7fffffff;
		System.out.println(max2);//2147483647
		max2 = max2+8;
		System.out.println(max2);//-2147483641
		
	}
}



原创文章 365 获赞 60 访问量 18万+

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/105757374
今日推荐