麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

[Java入門筆記]Java語言基礎(三):運算符

2019-11-14 14:57:10
字體:
來源:轉載
供稿:網友

簡介

運算符是一種特殊的符號,運算符是通過一定的運算規則操作一個或多個操作數,并生成結果的特定符號,運算符和操作數的有效組合稱為表達式。

java中運算符主要分為以下幾類:

  • 賦值運算符
  • 算術運算符
  • 關系運算符
  • 邏輯運算符
  • 條件運算符(三目運算符)
  • 位運算符

賦值運算符

賦值運算符用于給變量或者常量指定值,賦值運算符的符號是"="。

int a = 1;  //定義時直接賦值int b;int c;b = c = 2;  //可以在一個語句內為多個變量賦值int d = b + 3;   //變量運算后再賦值,先執行右邊,再執行左邊

算術運算符

Java支持加減乘除和求余等基本數學運算。分別是以下幾種:

運算符

說        明

一元

-

一元減,即取負

++

自增,如:++a等價于a = a + 1

--

自減,如:--a等價于a = a – 1

二元

+

加法,返回兩個操作數的和

-

減法,返回兩個操作數的差

*

乘法,返回兩個操作數的積

/

除法,返回兩個操作數的商

%

取模,返回兩個操作數整除后的余數

加法運算符:+

double a = 1.1;double b = 1.2;double sum = a + b;System.out.PRintln(sum);  //輸出2.3

減法運算符:-

double a = 2.2;double b = 1.1;double sub = a - b;System.out.println(sub);  //輸出1.1

乘法運算符:*

int a = 11;double b = 1.2;double multiply = a * b;System.out.println(multiply);  //輸出1.32

除法運算符:/

除法運算符有點特殊:如果運算的兩個值都是int,得到的結果也是int類型,會把小數點直接去掉,也不會四舍五入

int a = 10;int b = 4;double c = a/b;System.out.println(c);  //10初4本來結果是2.5,但是兩個int類型數相除結果是int類型數,盡管將結果值賦給了double,
              //但輸出結果變成了2.0,相當于運算完成時將小數點給去了,再轉換為2.0
double a2 = 5.2;double b2 = 3.1;double c2 = a2/b2;System.out.println(c2); //兩個double值運算,輸出結果:1.6774193548387097System.out.println(5 / 0.0); //除數為double型0.0,輸出負無窮大System.out.println(5 / 0); //除數為0,運行時會報錯

求余運算符:%

int a = 5;int b = 3;double c = 3.2;System.out.println(a%b);  //輸出2System.out.println(a%c);  //1.7999999999999998System.out.println(0%5);  //輸出0System.out.println(5%0);  //運行會出錯

求負:-

int i = -1;int i2 = -i;System.out.println(i2);  //輸出1

自加:++

int i = 1;i++;  //相當于將i的值加1;System.out.println(i); //輸出2

自加符號既可以放在變量前面,也可以放在變量后面,放在前面先把操作數加1,再進行表達式的運算,放在后面則相反。

int i1 = 1;int i2 = 1;int i3 = i1++;  //此時i3的值為1,i1的值為2;它是先將i1的值賦給了i3,再將i1加1;int i4 = ++i2;  //此時i4的值為2,i2的值也為2;它是先將i2的值加1,再將值賦給i4;

自減:--

作用類似于自加

int i1 = 1;int i2 = 1;int i3 = i1++;  //此時i3的值為1,i1的值為0;它是先將i1的值賦給了i3,再將i1減1;int i4 = ++i2;  //此時i4的值為0,i2的值也為0;它是先將i2的值減1,再將值賦給i4;

關系運算符(比較運算符)

關系運算符可以測試兩個操作數之間的關系(但不會改變操作數的值),關系表達式的結果為boolean型true/false:

運算符

說        明

==

等于,檢查兩個操作數是否相等

!=

不等于,檢查兩個操作數是否不相等

>

大于,檢查左操作數是否大于右操作數

>=

大于等于,檢查左操作數是否大于或等于右操作數

<

小于,檢查左操作數是否小于右操作數

<=

小于等于,檢查左操作數是否小于或等于右操作數

System.out.println(4 == 4);  //結果為trueSystem.out.println(4 != 3);  //結果為trueSystem.out.println(true == false);  //結果為false

邏輯運算符

邏輯運算符用于操作boolean類型的變量或常量

運算符

說        明

Java

一元

!

邏輯非(NOT)

二元

&

邏輯與(AND)(不短路)

左邊為false,依然會運算右邊

 

|

邏輯或(OR)

如左操作數為true,依然運算右邊操作數

&&

短路與

如左操作數為false,則不運算右操作數

||

短路或

如左操作數為true,則不運算右操作數

^

異或

當兩個操作數不同時返回true,相同則返回false

看例子

System.out.println(!true);  //結果為falseSystem.out.println(2 > 1 && 1 > 1); //結果為falseSystem.out.println(2 > 1 || 1 > 1); //結果為trueSystem.out.println(true ^ false);  //結果為true,異或,相當于把第一個前面一個值true取反,再進行“或”運算

 

下面我們來看一下 |于||的區別

int a = 1;int b = 1;if(a == 1 | b++ > 1){    System.out.println(b);  //輸出b的值為2,按位或雖然|符號左邊結果為true,但依然會執行|符號右邊的代碼}

 

 將|改為||

int a = 1;int b = 1;if(a == 1 || b++ > 1){    System.out.println(b);  //輸出b的值為1,||符號左邊結果為true,不會再執行||符號右邊的代碼}

 

 條件運算符(三目運算符)

它的一般形式是:

  表達式1 ? 表達式2 : 表達式3

根據表達式1的結果來判斷執行表達式2還是表達式3,如果表達式1的結果為true,則執行表達式2,否則執行表達式3;
條件運算符在某些情況下能夠替代小型的if…else語句。
String s = 1 > 2 ? "1大于2" : "1不大于2";System.out.println(s); //輸出 1不大于2

位運算符

位運算符既參加運算的兩個數據,按二進制位進行運算。Java的位運算符有如下7個:按位與(&)、按位或(|)、按位非(~)、按位異或(^)、左移運算符(<<)、右移運算符(>>)、無符號右移運算符(>>>)。

具體介紹可以參考下面這篇文章:

http://www.companysz.com/yezhenhan/archive/2012/06/20/2555849.html

 

運算符的優先級

很多情況下,一個表達式由多個運算符組成,優先級決定運算符的計算順序:

優先級

運    算    符

1

括號: ()和[]

2

一元運算符:-、++(前置)、--(前置)、!

3

算術運算符:*、/、%、+和-

4

關系運算符:>、>=、<、<=、==和!=

5

邏輯運算符:&、|、&&和||

6

條件運算符:? :

7

賦值運算符:=、*=、/=、%=、+=和-=

盡管運算符有優先級,一個表達式中會根據表達式運算符的優先級進行先后運算,但是在實際編程中如果一個表達式很長也不會推薦這樣寫,而是分為幾步寫,因為寫在一起可讀性太差。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美a在线观看 | 成人毛片在线免费观看 | 久久96国产精品久久久 | 欧美黄色性生活视频 | 久草在线免费资源站 | 欧美成人一区二区三区电影 | 91精品国产91 | 午夜国内精品a一区二区桃色 | 毛片视频免费观看 | 国产美女爽到喷白浆的 | 亚洲日本韩国在线观看 | 日韩视频www| 精品一区二区三区在线观看视频 | 色婷婷一区二区三区 | www.guochanav.com| 免费专区 - 91爱爱 | 北京一级毛片 | 日本黄色一级视频 | 国产精品999在线观看 | 法国极品成人h版 | 香蕉国产片 | 91久久久久久久久久久久久久 | 成人免费观看毛片 | 一级做受毛片免费大片 | 第四色成人网 | 国产精品视频免费网站 | 欧美亚洲国产成人 | 国产九色91 | 亚洲午夜不卡 | 在线播放免费播放av片 | 一区二区三区无码高清视频 | 视频一区二区三区在线 | 史上最强炼体老祖动漫在线观看 | 91av在线免费视频 | 精品一区二区三区免费毛片 | 国产一级免费片 | 国产欧美亚洲精品a | 国产亚洲在| 久久99精品久久久久久国产越南 | 一级黄色毛片播放 | 国产成人精品自拍视频 |