java運算符 —(5)

1.算術運算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- +

【典型代碼】
//除號:/
int num1 = 12;
int num2 = 5;
int result1 = num1 / num2;
System.out.println(result1);//2
// %:取余運算
//結果的符號與被模數的符號相同
//開發中,經常使用%來判斷能否被除盡的情況。
int m1 = 12;
int n1 = 5;
System.out.println("m1 % n1 = " + m1 % n1);

	int m2 = -12;int n2 = 5;System.out.println("m2 % n2 = " + m2 % n2);int m3 = 12;int n3 = -5;System.out.println("m3 % n3 = " + m3 % n3);int m4 = -12;int n4 = -5;System.out.println("m4 % n4 = " + m4 % n4);//(前)++ :先自增1,后運算//(后)++ :先運算,后自增1int a1 = 10;int b1 = ++a1;System.out.println("a1 = " + a1 + ",b1 = " + b1);int a2 = 10;int b2 = a2++;System.out.println("a2 = " + a2 + ",b2 = " + b2);int a3 = 10;++a3;//a3++;int b3 = a3;//(前)-- :先自減1,后運算//(后)-- :先運算,后自減1int a4 = 10;int b4 = a4--;//int b4 = --a4;System.out.println("a4 = " + a4 + ",b4 = " + b4);

【特別說明的】
1.//(前)++ :先自增1,后運算
//(后)++ :先運算,后自增1
2.//(前)-- :先自減1,后運算
//(后)-- :先運算,后自減1
3.連接符:+:只能使用在String與其他數據類型變量之間使用。

2.賦值運算符:= += -= *= /= %

【典型代碼】
int i2,j2;
//連續賦值
i2 = j2 = 10;
//***************
int i3 = 10,j3 = 20;
int num1 = 10;
num1 += 2;//num1 = num1 + 2;
System.out.println(num1);//12

	int num2 = 12;num2 %= 5;//num2 = num2 % 5;System.out.println(num2);short s1 = 10;//s1 = s1 + 2;//編譯失敗s1 += 2;//結論:不會改變變量本身的數據類型System.out.println(s1);

【特別說明的】
1.運算的結果不會改變變量本身的數據類型
2.
//開發中,如果希望變量實現+2的操作,有幾種方法?(前提:int num = 10;)
//方式一:num = num + 2;
//方式二:num += 2; (推薦)

	//開發中,如果希望變量實現+1的操作,有幾種方法?(前提:int num = 10;)//方式一:num = num + 1;//方式二:num += 1; //方式三:num++; (推薦)

3.比較運算符(關系運算符): == != > < >= <= instanceof

【典型代碼】
int i = 10;
int j = 20;

	System.out.println(i == j);//falseSystem.out.println(i = j);//20boolean b1 = true;boolean b2 = false;System.out.println(b2 == b1);//falseSystem.out.println(b2 = b1);//true

【特別說明的】
1.比較運算符的結果是boolean類型
2.> < >= <= :只能使用在數值類型的數據之間。
3. == 和 !=: 不僅可以使用在數值類型數據之間,還可以使用在其他引用類型變量之間。
Account acct1 = new Account(1000);
Account acct2 = new Account(1000);
boolean b1 = (acct1 == acct2);//比較兩個Account是否是同一個賬戶。
boolean b2 = (acct1 != acct2);//

4.邏輯運算符:& && | || ! ^

【典型代碼】
//區分& 與 &&
//相同點1:& 與 && 的運算結果相同
//相同點2:當符號左邊是true時,二者都會執行符號右邊的運算
//不同點:當符號左邊是false時,&繼續執行符號右邊的運算。&&不再執行符號右邊的運算。
//開發中,推薦使用&&
boolean b1 = true;
b1 = false;
int num1 = 10;
if(b1 & (num1++ > 0)){
System.out.println(“我現在在北京”);
}else{
System.out.println(“我現在在南京”);
}

	System.out.println("num1 = " + num1);boolean b2 = true;b2 = false;int num2 = 10;if(b2 && (num2++ > 0)){System.out.println("我現在在北京");}else{System.out.println("我現在在南京");}System.out.println("num2 = " + num2);// 區分:| 與 || //相同點1:| 與  || 的運算結果相同//相同點2:當符號左邊是false時,二者都會執行符號右邊的運算//不同點3:當符號左邊是true時,|繼續執行符號右邊的運算,而||不再執行符號右邊的運算//開發中,推薦使用||boolean b3 = false;b3 = true;int num3 = 10;if(b3 | (num3++ > 0)){System.out.println("我現在在北京");}else{System.out.println("我現在在南京");}System.out.println("num3 = " + num3);boolean b4 = false;b4 = true;int num4 = 10;if(b4 || (num4++ > 0)){System.out.println("我現在在北京");}else{System.out.println("我現在在南京");}System.out.println("num4 = " + num4);

【特別說明的】
1.邏輯運算符操作的都是boolean類型的變量。而且結果也是boolean類型

5.位運算符:<< >> >>> & | ^ ~

【典型代碼】
int i = 21;
i = -21;
System.out.println(“i << 2 :” + (i << 2));
System.out.println(“i << 3 :” + (i << 3));
System.out.println(“i << 27 :” + (i << 27));

	int m = 12;int n = 5;System.out.println("m & n :" + (m & n));System.out.println("m | n :" + (m | n));System.out.println("m ^ n :" + (m ^ n));

【面試題】 你能否寫出最高效的2 * 8的實現方式?
答案:2 << 3 或 8 << 1
【特別說明的】

  1. 位運算符操作的都是整型的數據
  2. << :在一定范圍內,每向左移1位,相當于 * 2

    :在一定范圍內,每向右移1位,相當于 / 2

典型題目:
1.交換兩個變量的值。
2.實現60的二進制到十六進制的轉換

6.三元運算符:(條件表達式)? 表達式1 : 表達式2

【典型代碼】
1.獲取兩個整數的較大值
2.獲取三個數的最大值
【特別說明的】

  1. 說明
    ① 條件表達式的結果為boolean類型
    ② 根據條件表達式真或假,決定執行表達式1,還是表達式2.
    如果表達式為true,則執行表達式1。
    如果表達式為false,則執行表達式2。
    ③ 表達式1 和表達式2要求是一致的。
    ④ 三元運算符可以嵌套使用

凡是可以使用三元運算符的地方,都可以改寫為if-else
反之,不成立。
3. 如果程序既可以使用三元運算符,又可以使用if-else結構,那么優先選擇三元運算符。原因:簡潔、執行效率高。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247747.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247747.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247747.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用SQL計算兩個地理坐標(經緯度)之間的地表距離

兩個地理坐標(經緯度)地表距離計算公式&#xff1a; 公式解釋如下&#xff1a; Long1,Lat1表示A點經緯度&#xff0c;Long2,Lat2表示B點經緯度&#xff1b;aLat1–Lat2 為兩點緯度之差&#xff0c;bLong1-Long2為兩點經度之差&#xff1b;6378.137為地球半徑&#xff0c;單位為…

HTTP 錯誤 404 - 文件或目錄未找到 - 最終解決方法

問題描述&#xff1a;http錯誤404&#xff0d;文件或目錄未找到問題原因&#xff1a;我遇到的情況是&#xff0c;先按裝了.NET&#xff0c;后裝的IIS&#xff1b;不確定其他原因也會不會產生類似錯誤。&#xff08;如果有&#xff0c;希望大家能貼出更多的原因&#xff0c;方便…

java流程控制及控制鍵盤輸出文字 —(6)

1.if-else條件判斷結構 1.1. 結構一&#xff1a; if(條件表達式){ 執行表達式 } 結構二&#xff1a;二選一 if(條件表達式){ 執行表達式1 }else{ 執行表達式2 } 結構三&#xff1a;n選一 if(條件表達式){ 執行表達式1 }else if(條件表達式){ 執行表達式2 }else if(條件表達式…

自執行匿名函數剖析整理

格式&#xff1a;&#xff08;function(){//代碼})();解釋&#xff1a;這是相當優雅的代碼&#xff08;如果你首次看見可能會一頭霧水&#xff1a;&#xff09;&#xff09;&#xff0c;包圍函數&#xff08;function(){})的第一對括號向腳本返回未命名的函數&#xff0c;隨后一…

爬蟲界又出神器|一款比selenium更高效的利器

提起selenium想必大家都不陌生&#xff0c;作為一款知名的Web自動化測試框架&#xff0c;selenium支持多款主流瀏覽器&#xff0c;提供了功能豐富的API接口&#xff0c;經常被我們用作爬蟲工具來使用。但是selenium的缺點也很明顯&#xff0c;比如速度太慢、對版本配置要求嚴苛…

java數組 —(7)

* 1.數組的理解&#xff1a;數組(Array)&#xff0c;是多個相同類型數據一定順序排列的集合&#xff0c;并使用一個名字命名&#xff0c; 并通過編號的方式對這些數據進行統一管理。 * 2.數組相關的概念&#xff1a; 數組名 元素 角標、下標、索引 數組的長度&#xff1a;元素…

bootstrap按鈕的邊框問題 去除

問題&#xff1a; 用bootstrap做的按鈕&#xff0c;點擊后&#xff0c;都會出現邊框&#xff0c;請問如何去除&#xff1f; .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {outline: none; }還要去除陰影添…

C#一些面試知識題

1.簡述 private、 protected、 public、internal 修飾符的訪問權限答&#xff1a;private&#xff1a;私有成員, 在類的內部才可以訪問(只能從其聲明上下文中進行訪問)。 protected&#xff1a;保護成員&#xff0c;該類內部和從該類派生的類中可以訪問。 Friend&#xff1a;友…

vue加載時閃現模板語法-處理方法

問題&#xff1a;使用VUE時&#xff0c;頁面加載瞬間&#xff0c;會閃現模板語法&#xff0c;例如{{ item.name }}等 解決辦法&#xff1a; 1、可以通過VUE內置的指令v-cloak解決這個問題&#xff08;推薦&#xff09; 具體實現&#xff1a; <ul v-cloak v-for"ite…

java數組 —(8)

1.數組的創建與元素賦值&#xff1a; 楊輝三角&#xff08;二維數組&#xff09;、回形數&#xff08;二維數組&#xff09;、6個數&#xff0c;1-30之間隨機生成且不重復。 2.針對于數值型的數組&#xff1a; 最大值、最小值、總和、平均數等 3.數組的賦值與復制 int[] a…

idea啟動tomcat時報錯:Error during artifact deployment. See server log for details.

Error during artifact deployment. See server log for details. 這個很多人都找不出來&#xff0c;原因無非2個&#xff1a; 一、jar 包有有些沒能識別&#xff0c;tomcat沒有配置好&#xff01; 二、這個一般代碼錯了&#xff1a; 除了看 server 的報錯&#xff0c;別忘了看…

java運算符 —(9)

1.理解&#xff1a; ① 定義在java.util包下。 ② Arrays:提供了很多操作數組的方法。 2.使用&#xff1a; //1.boolean equals(int[] a,int[] b):判斷兩個數組是否相等。int[] arr1 new int[]{1,2,3,4};int[] arr2 new int[]{1,3,2,4};boolean isEquals Arrays.equals(a…

css 三角角標樣式

.sanjiao {width: 0px;height: 0px;overflow: hidden;border-width: 100px;border-color: red transparent transparent transparent; border-style: solid dashed dashed dashed; }

leetcode 279 四平方定理

可以用四平方和定理&#xff1a;任意一個正整數都可以表示為4個以內整數的平方和。 如果一個數含有因子4&#xff0c;那么我們可以把4都去掉&#xff0c;并不影響結果。比如&#xff1a;8去掉4&#xff0c;12去掉3&#xff0c;返回的結果都相同。 如果一個數除以8余7&#xff0…

java類與對象 —(10)

1.面向對象學習的三條主線&#xff1a; 1.Java類及類的成員&#xff1a;屬性、方法、構造器&#xff1b;代碼塊、內部類2.面向對象的大特征&#xff1a;封裝性、繼承性、多態性、(抽象性)3.其它關鍵字&#xff1a;this、super、static、final、abstract、interface、package、…

RESTful API 編寫規范

基于一些不錯的RESTful開發組件&#xff0c;可以快速的開發出不錯的RESTful API&#xff0c;但如果不了解開發規范的、健壯的RESTful API的基本面&#xff0c;即便優秀的RESTful開發組件擺在面前&#xff0c;也無法很好的理解和使用。下文Gevin結合自己的實踐經驗&#xff0c;整…

Python2與Python3的區別

Python2與Python3的區別 1) 核心類差異 Python3 對 Unicode 字符的原生支持。 Python2 中使用 ASCII 碼作為默認編碼方式導致 string 有兩種類型 str 和 unicode&#xff0c;Python3 只 支持 unicode 的 string。Python2 和 Python3 字節和字符對應關系為&#xff1a; python2p…

JavaScript-內存空間

深入了解js這門語言后&#xff0c;才發現它有著諸多眾所周知的難點&#xff08;例如&#xff1a;閉包、原型鏈、內存空間等&#xff09;。有的是因為js的設計缺陷導致的&#xff0c;而有的則是js的優點。不管如何&#xff0c;總需要去學會它們&#xff0c;在學習過程中我覺得只…

java類的結構1: 屬性 —(11)

類的設計中&#xff0c;兩個重要結構之一&#xff1a;屬性 對比&#xff1a;屬性 vs 局部變量 1.相同點&#xff1a; 1.1 定義變量的格式&#xff1a;數據類型 變量名 變量值1.2 先聲明&#xff0c;后使用1.3 變量都其對應的作用域 2.不同點&#xff1a; 2.1 在類中聲明的…

GXU - 7D - 區間求和 - 前綴和

https://oj.gxu.edu.cn/contest/7/problem/D 描述 有一個所有元素皆為0的數組A&#xff0c;有兩種操作&#xff1a; 1 l r x表示將A區間[l,r]內所有數加上x&#xff1b; 2 l r表示將A區間[l,r]內從左往右數第i個數加上i&#xff1b; 給出m個操作&#xff0c;請輸出操作結束后A中…