日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java se入门_java SE 入门之运算符(第三篇)

發(fā)布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java se入门_java SE 入门之运算符(第三篇) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在 java 中主要有以上運算符,分為 賦值運算符 ,算術(shù)運算符、關(guān)系運算符(比較運算符),邏輯運算符和三目運算符(三元運算符).

我們一起來學(xué)習(xí)下吧!

一、賦值運算符

賦值運算符主要有五個、分別是 = (賦值)、+=(加上一個在賦值)、-=(減去一個在賦值)、*=(乘以一個在賦值)、/=(注意斜杠別打反了,這是除以一個在賦值)和%=(取摸在賦值)

“=” 叫賦值運算符,就是把一個值付給一個變量,賦值時候使用的。這個就不詳細(xì)說明了,前面有篇文章叫做java入門之八大基本類型、已經(jīng)講解過了,下面我看兩行代碼“+=”的使用

public classHello {public static voidmain(String[] args ) {int a=1;

a+=10;intb;

b+=10;

}

}

賦值運算符+=

b+=10;這行代碼等價于 b=b+10,我們上一節(jié)的曾經(jīng)提到過,在java中變量如果要使用必須先賦值。

同理

b+=10<=等價于=>b=b+10; //變量加字面值10

b-=10<=等價于=>b=b-10;//變量減去字面值10

b*=10<=等價于=>b=b*10;//變量乘以字面值10

b/=10<=等價于=>b=b/10;//變量除以字面值10

b%=10<=等價于=>b=b%10;//變量取摸字面值10

取摸:就是取余數(shù),就是變量除以一個數(shù)的余數(shù)(后邊算術(shù)運算符會講解)。

下面我們在來看下代碼:

public classHello {public static voidmain(String[] args ) {short s=1000;short sum=s+100;

}

}

賦值運算符02

上述代碼竟然報錯啦!!!!???@¥#@**一臉懵逼啊。

其實 我們的s 變量是short 類型的,而我們的100是int 類型的。所以兩個類型不一致,而我們的int類型的范圍大,所以需要強制類型轉(zhuǎn)換,這里在說下強制類型轉(zhuǎn)換和自動類型轉(zhuǎn)換的定義。

強制類型轉(zhuǎn)換是我們的大類型轉(zhuǎn)換到小類型的轉(zhuǎn)換。我們小類型到大類型的轉(zhuǎn)換,叫自動轉(zhuǎn)換。所以如下代碼就不會報錯.

public classHello {public static voidmain(String[] args ) {short s=1000;short sum=(short) (s+100);//圓括號"()"代表一個整體,方括號“[]”代表所引器、花括號“{}”代表體,如方法體,循環(huán)體等后續(xù)會講到,這個必須要整體轉(zhuǎn)換

int count=s+100;

}

}

賦值運算符,自動轉(zhuǎn)換

現(xiàn)在代碼我們不這樣寫了,我換一種寫法,先看代碼

public classHello {public static voidmain(String[] args ) {short s=1000;//short sum=s+100;//int count=s+100;// s+=100;//s+=100 <===>s=s+100;

short sum=s;

}

}

當(dāng)這個代碼拷貝到分析器的時候,你會發(fā)現(xiàn),是可以編譯的,這個是為什么呢??!@#¥%……,

有一臉懵逼。

這是因為,在java 中,內(nèi)部給我們做了強制類型轉(zhuǎn)換,所以這個地方容易出面試題。到這里,賦值運算符我們就學(xué)完了。

二、算術(shù)運算符

算術(shù)運算符主要有 ++(自加運算符) 、--(自檢運算符)、*(乘法運算符)、/(觸發(fā)運算符)、+(加法運算符)、-(減法運算符)和%(取摸運算符),

其中 +,-,*,/,% 叫做單目運算符,也叫單元(一元)運算符。

++,-- 叫雙目運算符,也叫雙元運算符

下面來看下非了雙目運算符的代碼

public classHello {public static voidmain(String[] args ) {int a=1024;int b=128;

System.out.println(a+b);//加法運算

System.out.println(a-b);//減法運算

System.out.println(a*b);//取積

System.out.println(a/b);//取商

System.out.println(a%b);//取余

}

}

在看下輸出結(jié)果

有些人會認(rèn)為很簡單

可是在看下邊的代碼:

public classHello {public static voidmain(String[] args ) {int a=11;int b=5;

System.out.println(a/b);//取商

System.out.println(a%b);//取余

}

}

可是結(jié)果不一樣了

這是為什么呢?11 除以5應(yīng)當(dāng)?shù)扔?.2啊可是結(jié)果為什么會是2呢,因為我們的變量是整數(shù),要取整的。那第二個為什么刪除的1 。我們先來你看下小學(xué)數(shù)據(jù)計算公式,

我們除號運算符求的是商,我們?nèi)∶\算符是取余。

有人會問,如果我想要小數(shù)怎么辦??

public classHello {public static voidmain(String[] args ) {int a=11;double b=5;

System.out.println(a/b);//取商

System.out.println(a%b);//取余

}

}

就是我們計算的表達(dá)式,至少有一個是小數(shù),計算的結(jié)果就是小數(shù).

下面我們在來看下++和--,

++是什么意思呢,就相當(dāng)于自身加1,下面我們來看下代碼

public classHello {public static voidmain(String[] args ) {int i=0;

i++;

System.out.println(i);

}

}

這個輸出的結(jié)果是1,“--”同理,就是自身減去1.i++ 等價于 i=i+1 同時還等價于 i+=1;

那么 i++和++i的結(jié)果是不是一樣的.在java 中 ++和--是可以出現(xiàn)在變量前后的,只是位置不同.

public classHello {public static voidmain(String[] args ) {int i=0;int num=i++;

System.out.println(i);

System.out.println(num);int n=0;int number=++n;

System.out.println(n);

System.out.println(number);

}

}

看到結(jié)果,我們回答縣,i++輸出的是0,而++n輸出的是1,這就終結(jié)了一句話。

變量++是先賦值使用后自加,++變量是先自加后使用賦值.“--”同理。

三、關(guān)系比較運算符

在java中比較運算符常用的有這6個 ? >、 ?=、 ?<=, 他們的到的值有且只能是布爾值?boolean 類型的.下邊我們來看下這個表格,你就明白了,這個就是小學(xué)一年級的比較運算。比較結(jié)果成立我們得到的是true,不成立得到的是false.

比較運算符成立表達(dá)式

序號

運算符

說明

b變量a =11 ,值b=10 (a 不等式b)

a=10,b=11(a不等式b)

案列

1

>

大于

true

false

2

<

小于

false

true

3

==

恒等于

false

false

4

!=

不等于

true

true

5

>=

大于等于

true

false

6

<=

小于等于

false

true

這個沒什么好演示的,就此揭過,后續(xù)會經(jīng)常用到這些不等式的.

四、字符串連接符

在java 中字符串拼接有且只有“+”一個拼接符號。但是在NET中會推出很多,后續(xù)會講解NET 中的字符串拼接符,?字符串連接符就是“+”號, 字符串拼接分在算術(shù)運算符中就是相加的意思,但是在字符串中是拼接的意思,我們在java中字符串用雙引號表示。

public classHello {public static voidmain(String[] args ) {int a=10;int b=5;

System.out.println(a+b);double c=3.14;

System.out.println(c+a);

System.out.println("wbcsky"+a);

System.out.println(a+"wbcsky");

System.out.println( "a+b="+a+b);

}

}

根據(jù)上面胡代碼,我們可以總結(jié)一句話:“當(dāng)加號的兩邊是數(shù)字(含小數(shù))就進(jìn)行加法運算,如果加號的任意一邊是字符串,就進(jìn)行字符串拼接”; 注意,拼接不是做強制類型轉(zhuǎn)換,做的是自動轉(zhuǎn)換。

在上述代碼中

System.out.println( "a+b="+a+b);這句話的結(jié)果沒有截圖,這句話的結(jié)果是 a+b=105;

解釋下,a+b= 這部分是一個字符串,當(dāng)加上a的時候"a+b="+a 也是一個字符串,所以在加b的時候是拼接字符串.

這里留下個問題?當(dāng)我想輸出 10+5=15 和 a+b=15,這個要怎么寫.

五、邏輯運算符

在java 中邏輯運算符分為兩種,一種叫做?邏輯運算符? && (并且) ||(或者)

另一種叫做?位運算符? “!” (非) ? “^” (異或)“|”(或) ?“&”(與)

位運算

我們先學(xué)習(xí)位運算符,位運算符是針對二進(jìn)制進(jìn)行計算的,也就是說,把我們?nèi)魏晤愋娃D(zhuǎn)換成為二進(jìn)制,通過二進(jìn)制去比較,位運算兩邊的類型相同返回的類型相同,兩邊類型不同,返回得不一定是哪個,這個沒有深入研究,太底層了

。看代碼

public classHello {public static voidmain(String[] args ) {int a=1;int b=2;int c=a&b; //a與b

System.out.println(c);int d=a|b;//a或b

System.out.println(d);int e=a^b;//a 異或 b

System.out.println(e);//boolean f=a!b;//a 非 b 是會報錯的,在JDK 1.5以前的版本,是可以寫的//System.out.println(d);

}

}輸出結(jié)果位0、3、3.

來看下a 與 b 是怎么來比較的。 因為a=1 a 是四個字節(jié) 也就是說是32 位 。二進(jìn)制換算在上一篇文章有介紹 ,我們這里只描述后面8位,因為前面都是0.

變量a 的二進(jìn)制表示為 0000 0001 ,變量b的二進(jìn)制表示為 0000 0010 。看下圖

總結(jié):運算時均把運算數(shù)轉(zhuǎn)換為二進(jìn)制再做比較。

規(guī)則(&):當(dāng)相同的位上均為1時結(jié)果為1,否則結(jié)果為0 ,術(shù)語叫做“有0則為0”,下圖的案列就有均為1。

規(guī)則(|):當(dāng)上下兩邊操作數(shù)的位有一邊為1時,結(jié)果為1,否則為0,0000 0011 二進(jìn)制轉(zhuǎn)10進(jìn)制結(jié)果為3,術(shù)語叫做有1則為1

怕大家看不懂,后邊在列個例子

a^b(a異或b)規(guī)則 兩邊的位不同時,結(jié)果為1,否則為0.如0000 0001^0000 0010=0000 0110 轉(zhuǎn)換成為十進(jìn)制則為3.,術(shù)語叫做 1,0不等則為1,這里就不過多解釋了。

"非"的位運算往往返回的是boolean 類型,主要是和“=”等號一起使用,用于表示等于和不等于,!的術(shù)語叫做 “0變1,1變0” ,就是說 0代表的是false,1 代表的是true(這句話不懂沒關(guān)系,往下學(xué)),true 取反的時候就是false,反之亦然。

在開發(fā)過程中,位運算符往往用在邏輯上,主要用在同類型的數(shù)據(jù)對比上,但是非和異或用的很少,大家主要記住或和與。

邏輯運算

剛學(xué)習(xí)了位運算,下邊我們看下 ?怎么在邏輯運算里面使用位運算。

public classHello {public static voidmain(String[] args ) {int a=9;int b=1;

System.out.println(a>0&b<10); //true |true = True 有假則為假 有0則為0

System.out.println(a>10&b<0); //false|false =false 有假則為假 有0則為0

System.out.println(a>0&b<0);//True|false=false 有假則為假 有0則為0

System.out.println(a>0|b<10); //true |true = True 有真則為真 有1則為1

System.out.println(a>10|b<0); //false|false =false 有真則為真,沒有就是false 有1則為1

System.out.println(a>0|b<0); //True|false=true 有真則為真 有1則為1

}

}

可以把上面的代碼輸出結(jié)果整理下,就出現(xiàn)如下:

再來學(xué)習(xí)下 &&和 & ,|| 和| 的區(qū)別,我們管&& 叫”短了與“,||叫”短路或”。

public classHello {public static voidmain(String[] args ) {

boolean b1=true;

boolean b2=false;

System.out.println(b1&&b2);

System.out.println(b1&b2);

}

}

這個代碼執(zhí)行的結(jié)果都是false,也就是說,他們在使用的結(jié)果是一樣的。那他們有沒有什么不通點呢,看下邊的代碼:

public classHello {public static voidmain(String[] args ) {

boolean isBool=false;

boolean b=true;

boolean ool=true;int num=1;

b=isBool&num++>0;

System.out.println(b);//false

System.out.println(num);//2

int number=1;

ool=isBool&&number++>0;

System.out.println(ool);//false

System.out.println(number);//1

}

}

根據(jù)上面的輸出結(jié)果我們可以看出, isBool 變量是false,后邊的num++>0 是一個true的表達(dá)式,一個false 與上任何一個布爾表達(dá)式返回的都是false(其實第一個不等式就已經(jīng)可以分別出結(jié)果了),而一個運算符“&”執(zhí)行了i++,而兩個的沒有執(zhí)行,說明兩個運算符合起來使用效率更高.

總結(jié):一個“與”的邏輯運算符效率低,兩個“與”的邏輯運算符效率會高跟多,不會再次計算。

六、三目運算符

三目運算符也叫做三元運算符,,之前我們學(xué)習(xí)了一目運算是一個運算符,二目運算是兩個運算符組合,現(xiàn)在三目運算就是三個運算符組合使用。

語法格式為 布爾表達(dá)式?表達(dá)式1:表達(dá)式2; 以問好開始,以冒號分割,以分號結(jié)尾。當(dāng)布爾表達(dá)式為真,執(zhí)行表達(dá)式1,如果布爾表達(dá)式為假,執(zhí)行表達(dá)式2.表達(dá)式1和表達(dá)式2可以是一個值。

public classHello {public static voidmain(String[] args ) {

System.out.println(1>2?"為真進(jìn)入":"為假進(jìn)入");

String result=2>1? "true": "false";//String 代表字符串,后續(xù)會講解字符串

System.out.println(result);

}

}

上訴代碼輸出了“為假進(jìn)入”和“false”.。三目運算符是可以嵌套的,下邊我們在來看下列子

public classHello {public static voidmain(String[] args ) {int a,b=20;

a=10;int num=a>b?a

System.out.println(num);

System.out.println(a>b?(a

}

}

兩種寫法輸出結(jié)果都是20,第一種方法,可讀性比較差。到這里,我們基本學(xué)習(xí)了java 中常用的運算符了。后續(xù)想起什么,在更新。

總結(jié)

以上是生活随笔為你收集整理的java se入门_java SE 入门之运算符(第三篇)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。