Java 연산자의 증감 예에 대한 자세한 설명





Java는 변수를 조작하기 위한 다양한 연산자 세트를 제공합니다. 연산자를 다음 그룹으로 나눌 수 있습니다.

산술 연산자
관계 연산자 비트
연산자
논리 연산자
할당 연산자
기타 연산자

  • 증가/감소

Java는 정수에 1을 더하고 1을 뺄 수 있는 ++ 연산과 – 연산을 제공합니다.



	
public class Test01 {
    
    
	
	public static void main(String[] args) {
    
    
		
		/**
		 * 	等于号表示赋值的意思,即 右边赋值到左边
		 * 		i++  先赋值,后运算;
		 * 		++i  先运算,后赋值;
		 */
		int i = 0;
//		i = i++;//0
		i = ++i;//1
		System.out.print(i);
	}
}





public class Test02 {
    
    
	
	public static void main(String[] args) {
    
    
		
		//自增 ++ ;自减-- 
		/**
		 * 总结:
		 * 	 自增自减在变量后时,直接返回等于号左边值(注:等于号表示赋值从右往左)
		 * 	 自增自减在变量前时,等于号两边值都改变一致
		 * 
		 *   ++出现在变量后,先赋值,再对变量中保存的值进行自加1运算
		 *   ++出现在变量前,先进行自加1运算,再赋值
		 *   
		 *   --出现在变量后,先赋值,再对变量中保存的值进行自减1运算
		 *   --出现在变量前,先进行自减1运算,再赋值
		 */	 
		
		int a = 100;
		
 		int b = a++;//a = 101  ||  b = 100
		//int b = ++a;//a = 101  ||  b = 101

		//int b = a--;//a = 99  ||  b = 100
		//int b = --a;//a = 99  ||  b = 99
		
		System.out.println(a); 
		System.out.println(b); 
	}
}




public class Test03 {
    
    

	 public static void main(String[] args) {
    
    
		 
	        //++出现在变量后,先赋值,在对变量中保存的值进行自加1运算
	        int a = 100;
	        int b = a++;
	        System.out.println(a); //101
	        System.out.println(b); //100

	        //++出现在变量前,先进行自加1运算,在赋值
	        int m = 10;
	        int n = ++m;
	        System.out.println(m);//11
	        System.out.println(n);//11

	        int x = 500;
	        System.out.println(x++);//500
	        System.out.println(x);//501

	        int y = 100;
	        System.out.println(++y);//101
	        System.out.println(y);//101

	        //出现在变量后,先赋值,在对变量中保存的值进行自减1运算
	        int c = 100;
	        int d = c--;
	        System.out.println(c); //99
	        System.out.println(d); //100

	        //出现在变量前,先进行自减1运算,在赋值
	        int e = 10;
	        int f = --e;
	        System.out.println(e);//9
	        System.out.println(f);//9

	    }
}





public class Test04{
    
    
    public static void main(String[] args) {
    
    

		// 自增/自减运算
        int n = 666;
        n++; // 667, 相当于 n = n + 1;
        n--; // 666, 相当于 n = n - 1;
        int y = 100 + (++n); // n = 1 + n;即 100 + (1+666)
        System.out.println(y);
    }
}



》》》확장 실습 예시


public class Test05 {
    
    
	
	public static void main(String[] args) {
    
    
		// a 的值为多少?
		int a = 1;
		
		a+=4;
		//a-= 4;
		
		System.out.println(a);
	}
}




public class Test06 {
    
    
	
	public static void main(String[] args) {
    
    
		// a b 的值各为多少?
		int a = 1;
		
		int b = a++ + ++a;
		
		System.out.println(a);
		System.out.println(b);
	}
}

위에서 볼 수 있습니다: a++ + ++a -> 2 + 1 -> a = 3 -> b = 1 + 3 -> b = 4




public class Test07 {
    
    
	
	public static void main(String[] args) {
    
    
		// a b c d的值各为多少?
		int a = 1;
		int b = 2;
		int c = 3;
		int d = a++ + ++b * c-- - ++a / b-- + ++c;
		
		System.out.println(a);//3
		System.out.println(b);//2
		System.out.println(c);//3
		System.out.println(d);//12
	}
}




public class Test08 {
    
    
	
		public static void main(String[] args){
    
    
			int a = 1;
			int b = a++;			// b = 1, a = 2
			int c = ++b;			// c = 2, b = 2
			int d = c--;			// d = 2, c = 1
			int e = --d;			// e = 1, d = 1
			
			//          2        2        2        0       1
			int f = a++ + b-- * ++c - --d / e++;
			
			System.out.println(a); // 3
			System.out.println(b); // 1
			System.out.println(c); // 2
			System.out.println(d); // 0
			System.out.println(e); // 2
			System.out.println(f); // 6
	}
}





  • ++를 앞뒤에 쓰면 계산 결과가 다르다는 점에 유의하세요:
    ++n은 1을 먼저 더한 다음 n을 참조하는 것을 의미하고, 먼저 계산한 다음
    n++를 할당한다는 것은 n을 먼저 인용하고 1을 더하는 것을 의미하며, 먼저 할당한 다음
    계산하는 것을 의미합니다. 일상적인 계산에 이를 섞어서 혼동하기 쉽습니다.

구유












참고:
좋아요, 댓글, 재인쇄 환영합니다. 기사 페이지의 눈에 띄는 위치에 원문 링크를 제공하십시오.
아시는 분들은 수많은 군중 속에서 내 기사를 읽어 주셔서 감사합니다.
개성 없는 서명은 어디에 있습니까!
자세한 내용은 나를
팔로우 하고 계속 업데이트하세요.

스캔하여 깜짝 선물을 받으세요!
© 2021 03 - Guyu.com | [저작권 침해 조사가 필요합니다]

추천

출처blog.csdn.net/weixin_49770443/article/details/115163831