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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三次学JAVA再学不好就吃翔(part8)--基础语法之运算符

發布時間:2023/12/19 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次学JAVA再学不好就吃翔(part8)--基础语法之运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記,僅供參考


文章目錄

    • JAVA基礎語法
      • 運算符
        • 邏輯運算符
          • 邏輯運算符&&和&的區別
          • 邏輯運算符||與|的區別
        • 位運算符
          • &, |, ^, ~ 的用法
          • 位異或運算符的特點
          • >>, >>>, <<的用法
        • 三元運算符


JAVA基礎語法



運算符


邏輯運算符

&, |, ^, ! &&, ||
  • 舉個例子

class OperatorTest7 {public static void main(String[] args) {int x = 10;int y = 20;int z = 30;System.out.println(x < y & y < z);System.out.println(x < y & y > z);System.out.println(x > y & y < z);System.out.println(x > y & y > z);System.out.println("--------------");System.out.println(x < y | y < z);System.out.println(x < y | y > z);System.out.println(x > y | y < z);System.out.println(x > y | y > z);System.out.println("--------------");System.out.println(x < y ^ y < z);System.out.println(x < y ^ y > z);System.out.println(x > y ^ y < z);System.out.println(x > y ^ y > z);System.out.println("--------------");System.out.println(!true);System.out.println(!!true);} }

輸出:

true false false false -------------- true true true false -------------- false true true false -------------- false true
邏輯運算符&&和&的區別
  • 舉個例子1
class OperatorTest7 {public static void main(String[] args) {int x = 10;int y = 20;int z = 30;System.out.println(x < y & y < z);System.out.println(x < y & y > z);System.out.println(x > y & y < z);System.out.println(x > y & y > z);System.out.println("--------------");System.out.println(x < y && y < z);System.out.println(x < y && y > z);System.out.println(x > y && y < z);System.out.println(x > y && y > z);} }

輸出:

true false false false -------------- true false false false

我們看到&&和&輸出的結果都是一樣的,那它倆究竟有啥區別呢?

&&具有短路效果,若左邊是false,則右邊不執行;而&是無論左邊是false還是true,右邊都會執行。


  • 舉個例子2
class OperatorTest8 {public static void main(String[] args) {int x = 3;int y = 4;int a = 10;int b = 20;System.out.println((++x == 3) & (++y == 4));System.out.println((++a == 10) && (++b == 20));System.out.println("x = " + x + ", y = " + y);System.out.println("a = " + a + ", b = " + b);} }

輸出:

false false x = 4, y = 5 a = 11, b = 20
邏輯運算符||與|的區別

同樣,||與|最終得到的結果也是一樣的,但||也具有短路效果,若左邊為true,則右邊不執行;而|是無論左邊是true還false,右邊都會執行。


  • 舉個例子
class OperatorTest8 {public static void main(String[] args) {int x = 3;int y = 4;int a = 10;int b = 20;System.out.println((++x == 4) | (++y == 5));System.out.println((++a == 11) || (++b == 21));System.out.println("x = " + x + ", y = " + y);System.out.println("a = " + a + ", b = " + b);} }

輸出:

true true x = 4, y = 5 a = 11, b = 20

位運算符


&, |, ^, ~ , >>, >>>, <<, <<<
&, |, ^, ~ 的用法

&: 有0則0
|: 有1則1
^: 相同則0,不同則1
~: 按位取反


  • 舉個例子
class OperatorTest9 {public static void main(String[] args) {System.out.println(6 & 3);System.out.println(6 | 3);System.out.println(6 ^ 3);System.out.println(~6);} }

輸出:

2 7 5 -7

結果解釋:

6 & 3可表示為: 00000110 00000011 ---------&-- 00000010 位運算結果為26 | 3可表示為: 00000110 00000011 ---------|-- 00000111 位運算結果為76 ^ 3可表示為: 00000110 00000011 ---------^-- 00000101 位運算結果為5~6可表示為: 00000000 00000000 00000000 00000110 ---------~-- 11111111 11111111 11111111 11111001 //這是補碼,正數的補碼是自己本身,而負數則不是 則它的反碼為: 11111111 11111111 11111111 11111000 原碼: 00000000 00000000 00000000 10000111 位運算結果為-7
位異或運算符的特點

^的特點:一個數據對另一個數據位異或兩次,該數本身不變。

  • 舉個例子
class OperatorTest9 {public static void main(String[] args) {System.out.println(5 ^ 10 ^ 10);System.out.println(5 ^ 10 ^ 5);} }

輸出:

5 10
>>, >>>, <<的用法

<<:左移,左邊最高位丟棄,右邊補齊0

>>:右移,最高位是0,左邊補齊0; 最高為是1,左邊補齊1

>>>:無符號右移,無論最高位是0還是1,左邊補齊0


  • 舉個例子
class OperatorTest9 {public static void main(String[] args) {System.out.println(12 << 1);System.out.println(12 << 2);System.out.println(12 >> 1);System.out.println(12 >> 2);} }

輸出:

24 48 6 3

三元運算符


  • 三元運算符的格式
(關系表達式) ? 表達式1 : 表達式2;

關系表達式返回的不是True就是False,若關系表達式返回的是True就返回表達式1的值,若關系表達式返回的是False就返回表達式2的值.


  • 舉個例子1
class OperatorTest10 {public static void main(String[] args) {int x = 10;int y = 5;int z;z = (x > y) ? x : y;System.out.println("z = " + z);} }

輸出:

z = 10
  • 舉個例子2

比較3個整數,得到其中的最大值

class OperatorTest10 {public static void main(String[] args) {int x = 10;int y = 5;int z = 15;int temp = (x > y) ? x : y;int max = (temp > z) ? temp : z; System.out.println("max = " + max);} }

輸出:

max = 15

總結

以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part8)--基础语法之运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。