java中的复合运算符,+=,++,三元运算符,已经java中8个基本数据类型的默认值

我直接上代码,大家直接看案例更直观!

public class TestJavaDataType {

	// 字符型
	char flag;

	// 布尔型
	boolean sex;

	/* 数值型 */
	// 整数类型
	byte number;

	short age;

	int workYears;

	long money;

	// 浮点类型(小数类型)

	float score;

	double income;

	/**
	 * java中全局变量为什么不能先声明后赋值: 因为index = 8;这是赋值语句,不能单独出现在方法或{}以外的地方
	 * 
	 */
	int index;
	{
		index = 8; // 写在{}里就可以了
	} 
	
	static int count;
	{count = 20;} // 写在{}里就可以了

	/**
	 * @Description: (java中8个基本数据类型的默认值) @param @param args 参数说明
	 * 2018年4月9日下午6:59:10 jerry @return void 返回类型 @author 囧囧
	 * E-mail:666888999@qq.com @email 666888999@qq.com @throws
	 */
	public static void main(String[] args) {
		TestJavaDataType testJavaDataType = new TestJavaDataType();
		testJavaDataType.printJavaDataDefaultValue();
		testJavaDataType.test();
	}

	// 打印java中8个基本数据类型的默认值
	public void printJavaDataDefaultValue() {
		System.out.println("**********打印java中8个基本数据类型的默认值**********");
		System.out.println("char / flag = " + flag);
		System.out.println("boolean / sex = " + sex);
		System.out.println("byte / number = " + number);
		System.out.println("short / age = " + age);
		System.out.println("int / workYears = " + workYears);
		System.out.println("long / money = " + money);
		System.out.println("float / score = " + score);
		System.out.println("double / income = " + income);
		System.out.println("**********打印java中8个基本数据类型的默认值**********");
	}
	
	//测试+=复合运算符,测试三元运算符,测试是否会自动转换类型
	public void test() {
		short age = 10;
		short newAge = (short)(age + 2);
		age = newAge;
		int newAge2 = age + 2;
		System.out.println("newAge = " + newAge + " / " + "newAge2 = " + newAge2);
		/*三元运算符*/
		int C = 16;
		int A = 10;
		int B = 12;
		C = A > B ? 100 : 200;
		System.out.println("C=" + C);
		System.out.println(A > B ? 8888.99 : 6666.62);
		
		short number = 18;
		double a = 6.68;
		
//		number =(short)(number + 6); 
//		number =(short)(number + 6.68); 
//		number = (short)(number + a);
//		number = number + a; //会报错
		number += a; //不会报错(+=作为复合运算符会将结果强制转换为左边变量的类型,并且number只会计算一次)
		System.out.println("number = " + number);
		
		int x = 1;
        // 步骤1. 计算y(默认值0);
        // 步骤2. (x++)返回x值给临时变量c,为1;
        // 步骤3. x = x + 1,x为2;
        // 步骤4. 计算x,x为2;
        // 步骤5. y = 临时变量c + 2 = 1 + 2 = 3.
        int y = (x++) + x;
        System.out.println("x = " + x);
        System.out.println("y = " + y);
        
        x = 1;
        // 步骤1. 计算y(默认值0);
        // 步骤2. (++x)返回x+1值给临时变量c,为2;
        // 步骤3. x = x + 1,x为2;
        // 步骤4. 计算x,x为2;
        // 步骤5. y = 临时变量c + 2 = 2 + 2 = 4.
        y = (++x) + x;
        System.out.println("x = " + x);
        System.out.println("y = " + y);
        
		
		int num1 = 18;
		int z, k;
		z = -num1; //负值
		k = +num1; //正值
		System.out.println("z = " + z + " / " + "k = " + k);
		
		int m = 26;
		long n = 12;
		double t = 6.88; 
		m += n;
//		m += t;
		/**
		 * 
		 * 编译不通过,会报错,等于号左边的m是int类型,等于号右边的m是int类型,n是long类型,当左
		 * 边的m加上n时就会进行类型提升,导致m+n的结果是long类型,把一个long型的值赋值给一个int类型的时候自然会报错
		 */
		//m = m + n; //编译通不过去,会报错
	//	 m = (int)(m + n); //除非像这样,强制类型转换
		 
		System.out.println("m = " + m);
	        int h = 3;
//        int temp = h++; 
//        System.out.println("temp = " + temp);
        h = h++;
        System.out.println("h = " + h);
        h = ++h;
        System.out.println("h = " + h);
}

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值