Java基础知识体系-基础语法-03

//数据类型的演示
public class DataTypeDemo {
	
	public static void main(String[] args) {
		/*
		 * 数据类型的练习
		 * 1.声明整型变量a并赋值为250
		 *   声明长整型变量b并赋值为a
		 *   声明整型变量c并赋值为b
		 * 2.声明长整型变量d并赋值为100亿L
		 *   声明整型变量e并赋值为d,输出e的值
		 *   声明浮点型变量f并赋值为25.987
		 *   声明整型变量g并赋值为f,输出g的值
		 * 3.声明byte型变量b1和b2,并分别赋值为5和6
		 *   声明byte型变量b3并赋值为b1+b3,输出b3的值
		 *   
		 */
		//数据类型的转换
		int a = 250;
		long b = a;//自动类型转化
		int c = (int)b;//强制类型转化
		
		long d = 250;//自动类型转化
		double e = 25;//自动类型转化
		System.out.println(e);
		
		long f = 10000000000L;
		int g = (int)f;
		System.out.println(g);//强转有可能溢出
		
		double h = 56.8765;
		int i = (int)h;
		System.out.println(i);//强转有可能会精度丢失
		
		byte b1 = 5;//整数直接量可以直接赋值给byte,short,char,但不能超过范围
		byte b2 = 6;
		//byte b3 =b1+b2;//编译错误,byte,short,char型变量参与运算时,一律先转换为int在运算
		byte b3 = (byte)(b1+b2);
		System.out.println(b3);
	
		
		/*
		 * boolean 、char的练习
		 * 1.声明布尔型变量a并赋值为true
		 *   声明布尔类型变量b并赋值为false
		 *   声明布尔类型变量c并赋值为5------???
		 * 2.声明字符型变量c1并赋值为女
		 *   			c2并赋值为f
		 *   			c3并赋值为空格符
		 *   			c4并赋值为女性----???
		 *   声明字符型变量c5并赋值为65,输出c5的值
		 *   输出2+2的结果,输出'2'+'2'的结果
		 *   声明字符型变量c6并赋值为',输出c6的值
		 * 	 
		 */
		
		//5.char:字符型,2个字节
//		char c1 = '男';
//		char c2 = 'm';
//		char c7 = '2';
//		char c3 = ' ';
//		//char c5 = 男;//编译错误,必须放在单引号中
//		//char c4 = '男性';//编译错误,只能有一个字符
//		//char c6 = '';//编译错误,必须有字符
//		
//		char c8 = 97;
//		System.out.println(c8);//字符a
//		
//		System.out.println(2+2);//4
//		System.out.println('2'+'2');//100---'2'字符对应的int码50,加上,'2'字符对应的int码50
//		
//		char c9 = '\'';//转义字符
//		System.out.println(c9);
//		
//		//4.boolean:布尔型,1个字节
//		boolean a = true;//true为布尔类型的直接量
//		boolean b= false;
//		//boolean c =250;//编译错误,数据类型不匹配
//						//boolean类型只能取值为true和false
//		
		
		/*
		 * int、long、double的练习:
		 * 1.声明整型变量a并赋值为250
		 *   声明整型变量b并赋值为100亿------???
		 *   输出5/3的结果,输出3/5的结果
		 *   声明整型变量c并赋值为2147483647
		 *     给c本身增1,输出c的值
		 * 2.声明长整型变量d并赋值为100亿-----???
		 *   声明长整型变量e并赋值为100亿L
		 *   声明长整型变量f并赋值为10亿*2*10L,输出f的值
		 *   声明长整型变量g并赋值为10亿*3*10L,输出g的值
		 *   声明长整型变量h并赋值为10亿L*3*10,输出h的值
		 *   声明长整型变量i并赋值为
		 *     System.currentTimeMillis(),输出i的值
		 * 3.声明浮点型变量j并赋值为23.865
		 *   声明浮点型变量k和l,并分别赋值为6.0和4.9
		 *   输出k-l的值
		 */
		
		//3.double:浮点型,8个字节
//		double a = 3.1415926;//3.1415926为浮点型直接量,默认为double型
//		float b = 3.14F;//3.14为float的直接量
//		double c = 6.0;
//		double d = 4.9;
//		System.out.println(c-d);//舍入误差,精确运算场合不建议使用{财务或货币}
		//decimal 类型具有更高的精度和更小的范围,它适合于财务和货币
		
		//2.long:长整型,8个字节,很大很大
//		long a = 250L;//250L为长整型直接量,即为long类型
//		//long b = 10000000000;//编译错误,100亿默认为int类型,但超范围了
//		long  c = 10000000000L;
//		long  d = 1000000000*2*10L;
//		System.out.println(d);//200亿
//		long e = 1000000000*3*10L;//第一个数未设为L结果是int的结果转型long处理
//		System.out.println(e);//溢出
//		long f = 1000000000L*3*10;//第一个数设为L结果是long的结果处理
//		System.out.println(f);//300亿
//		long g = System.currentTimeMillis();
//		System.out.println(g);
		
//		直接量超范围------编译错误
//		运算时超范围------溢出
//		int a = 10000000000; //编译错误
//		int b11 = 1000000000*10; //溢出
//		System.out.println(b11);
		
		//1.int:整型,4个字节,-21个多亿到21个多亿
//		int a = 250;//250为整数直接量,默认为int类型
//		//int b = 1000000000000;//编译错误,100亿默认为int型,但超范围了
//		
//		System.out.println(5/2);//2 整数相除结果还是整数,小数位无条件舍弃
//		System.out.println(2/5);//0
//		//取余数 取商
//		System.out.println(2%5);//2 取余数
//		System.out.println(2/5);//0
//		
//		int b = 2147483647;
//		b  = b + 1;
//		System.out.println(b);//-2147483648,发生溢出了
	}

}

猜你喜欢

转载自blog.csdn.net/coder_boy_/article/details/80712170