運算與賦值

2021-08-03 18:48:51 字數 2612 閱讀 1684

整數賦值

整數輸入時預設為int

bytea=1;yes

bytea=128;

no,超出byte範圍

int        a=0b10101; 

yes

int        a=0xff;  

yes

longa=123456789123; 

no,超出int範圍

long a=123456789123; 

yes

byte、short  ------>賦值時如果int在其表示範圍內(即不影響精度)時無資料損失可直接賦值,否則強制型別轉換

int------->int直接賦值,小型別自動轉換,否則強制轉換

long------>輸入時為int,需要強制型別轉換才能成功輸入

浮點數賦值

浮點數輸入時預設格式為double

float     a = 1         yes

float     a = 1.1      no,double不能賦給float

float

a = 1.1l

yes

double   a = 1.1 yes

浮點數與整數不同,其小數點後精度不同,即double不可能在float範圍內,也就是說必須使用強制型別轉換

輸入數值

輸入二進位制數

x=-0b1010101001

x=-0b1010101001

輸入八進位制數

x=-017

x=077

輸入十六進製制數

x=0x77

x=0x77

輸入二進位制數時輸入值為原碼,數字符號另加。

由於其不能帶符號位,所以位數最高為(型別大小-1)

運算 算數運算子:+   

-   

*   

/     %

單目按位運算子:^    ~    |     &   <<   >>   >>>

三目運算子:  ? :

byte

a=2+2;  

yse

數值 運算子 數值——>先將低階的轉化為高階的,算出來,然後當做乙個數參與其他運算

三目運算時,低階同樣轉化為高階

byte

a=2;

a=a+2; no

byte i=1,j=1;

i=i+j;    no

變數 運算子 變數             先將低階的轉化為高階的,

然後進行運算,此時不支援範圍內自動轉化

或                        ——>

數值 運算子 變數             整數運算低於int的轉為int,然後進行運算,其餘在自己的模式下進行

三目運算時,

低階同樣轉化為高階,但

支援範圍內自動轉化

另:& | ^三個同樣可以用於邏輯運算中

賦值運算子:   +=      -=      *=      /=     %=

byte a =1;

a+=2+2;

這種運算子自帶強制轉化功能,即a=(byte)(

a+(2+2));

等號後面的自帶公升級效果,先算再與原數相運算

單目運算子:++    --     -     (型別)

自己加一   減一   負號   強制轉換   取位址   指標

其他注意事項 1

、三目運算子

結合順序從右邊到左邊

(1>2?1:3>4?5:6;--->1>2?1:(3>4?5:6);)。

其本身為普通運算子

(相當於+)

,所以必須有乙個存在價值,比如作為返回值或賦值號右邊。

優先順序僅僅大於賦值符號,

(2+(1>2)?1:2--->2+(1>2)?1:2,此時問號前不為boolean)

2、運算子優先順序由高到低

()(小括號)   

>

單目運算子 取非、按位取反

(從右向左)(++ --  - (型別)!~)>

算數運算子(從左向右)(+  -  *  /  %)  

>

按位移動運算子(從右向左)( <<   >>   >>>  )  

>

關係運算子(<  >  >=  <=  ==  !=)  

>

按位的與、異或、或(&  ^  |)   

>

邏輯的與、異或、或(&&  &、  ^  ||  |)   

>

三目運算子(從右向左)(?:)

>

賦值運算子

(從左向右)(+= -= *= /= %=)

賦值運算與深淺copy

1 複製運算 l1 1,2,3,a b l2 l1 l1 0 111 print l1 111,2,3,a b print l2 111,2,3,a b l1 3 0 hello print l1 111,2,3,hello b print l2 111,2,3,hello b 所以,對於賦值運算來...

賦值與條件運算子

賦值 begin a 1 b 2 3 a 1 b 5 a b b a a 5 b 1 a b 1 2 3 a 6 b 6 a b 1 2 3 a 6 b 3 x 0 x 0 a,b,c x,x 1 x 2 a 0 b 1,c 2 end 條件運算子 begin 比較兩個物件的值是否相等 a 1 b ...

PHP賦值運算

1.賦值運算 意思是右邊表示式的值賦給左邊的運算數。int1 10 int1 int1 6 int1 4 echo int1,int3 int2 int1 4 右向左,最後 int3 8 echo int2,echo int3,int3 int2 int1 4 先對 進行運算,再右向左,最後 int...