1. 程式人生 > 其它 >關於自增運算子和邏輯運算子一些使用誤區

關於自增運算子和邏輯運算子一些使用誤區

技術標籤:基礎語法錯誤點javac++

關於自增運算子和邏輯運算子一些使用誤區

自增運算子

總結

  1. 對於自增運算子本身變數來說,自增符號無論是在前還是後,其結果都是一樣的在原有基礎上增加後減少1;
  2. 對於賦值給其他變數來說,自增符號的前後是會導致結果的不同:
    • 若形式是k=++i,則此時變數k的數值是變數i加過1後的數值,原則是:先增加後賦值,故變數k的值與i加1後的值一致;
    • 若形式是k=i++,則此時變數K的數值是變數i沒有加過1的數值,原則是:先賦值後增加,故此時變數k的數值是i原來的數值。

具體程式碼如下

自增符號在變數後面

			int m=1;
			int g=m++;
			System.
out.println("這個是自增符在變數後面"+g); System.out.println("它本身的值是"+m);

執行結果:
在這裡插入圖片描述

自增符號在變數前面

			int m=1;
			int k=++m;
			System.out.println("這個是自增符在變數前面"+k);
			System.out.println("它本身的值是"+m);![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2021010323415368.png#pic_center)

執行結果
在這裡插入圖片描述

位於運算與邏輯運算

總結

  1. 從布林型別運算來看,二者結果運算均是false;

  2. 從執行機制來看,邏輯運算它參與程式的中斷操作,而位於沒有,具體如下:

    • 表示式1 && 表示式2
      • 按邏輯運算進行時,若表示式1是false,則表表達式2不在繼續進行;
      • 按位運算進行時,雖然表示式1是false,但是程式仍然會對錶達式2進行執行。

具體程式碼

邏輯運算
public class BitOperator{
	public static void main(String [] args){
		boolean bool;
		int n=4,m=5;
		// 此時為位運算,雖然bool這個已經是假命題,
		bool =
m<3 && m>n--; System.out.println(n);// 此時n值為4 System.out.println(bool); } }

執行結果:
在這裡插入圖片描述

位運算
public class BitOperator{
	public static void main(String [] args){
		boolean bool;
		int n=4,m=5;
		bool = m<3 & m>n--;
		System.out.println(n);// 此時n應該執行減一操作,即為3
		System.out.println(bool);
	}
}

執行結果:
在這裡插入圖片描述