日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 java綜合 正文

Java基礎操作-- 運算符,流程控制 Flow Control 分支

作者:luna綠蘿在成長 更新時間: 2024-07-22 java綜合

摘要:簡單回顧運算符,比如 短路與、短路或; 8大基本數據類型;? for 循環,While 循環,do...While 循環, If ...else...條件分支;? case , switch , break 跳出循環


一、? 運算符

  • ? ?所謂的運算符 就是參與數據運算的符號,java定義的 無法自行定義
  • ? ?算術遠算符 二元運算符 :有兩個元素參與運算的運算符
  • ? ?算術表達式 = 元素1 ? 二元運算符 ?元素2,比如 1+2
  • ? ?這個表達式是有結果的 就需要有類型,這里的類型是元素種類類型最大的那一種 ,最小使用的類型為int 類型?

?二、八大基本數據類型??

【byte < short < int < ?long】 (整數類型) ?< ?float ?(單精度 浮點型 1.0F)< ?double (雙精度 浮點型) ?< char(字符類型,輸入不能是字符串) < ?boolean (布爾型 :true ,flase) ? 存儲空間 由小到大

  • 帶小數點的數據 會被識別為 精度高的雙精度 double 類型 ,比如 1.0?
  • 數據類型的轉換: 把小的數據類型 給一個大的數據類型是可以的 ;但是大的不能給小的數據類型 ,會造成丟失數據。
  1. ?一元運算符 :一個元素參與運算的 運算符
    ? ++, -- 自增 ,自減?
     
    int i = 2;
    int j = ++i;
    int u= --i;
    System.out.println("i = " +i);     //i = 2
    System.out.println("j = " +j);     //j = 3
    System.out.println(u);            // 2
  2. 二元運算,含有2個元素? ( 算術運算符 ) : +、 ? - ?、 * ?、 ? ?/、% (取余運算)
  3. 三元運算符: (表達式)?() :
  4. ? 關系運算符 :比較兩個數據之間的大小關系? ==,!=,>, ?>= , < , <=
  5. ? 賦值運算符 (要考慮 類型的關系):=,+=,-=, *=,/=,%=,(復合賦值運算符)比如: i =i+1 ;//等同于i+=1;
  6. 邏輯運算符:&, ? ? ?| , ? ?^ ?, ? ? ? ! (取反運算) ?
  7. 短路 運算符? :&&? ?表示 短路與; || ?表示 短路或;
  8. ?String 字符串類型 ?,? 雙引號 " "表示字符串,字符串 + int, 加號+表示連接符 ; ?
    ? ? ? ? ? int+int =int ; ? ? ? ? ? ? ? ? ? ? ? ? ? int+" 字符串" 不能進行運算,只是連接關系
int i = 2;
int j = ++i; // 等同于i=i+1;int j = i; 此時i=3
int u= --i;
輸出結果:j = 3,  u = 2 (錯誤點 ,忽略++i == i=i+1; )


2.? byte b1+byte b2?

  • byte?精度 比較小,相加很可能超出它的范圍,所以b1 + b2 ?應該用int 類型接收。
  • ?易錯點:結果的值 b1 + b2 是int 類型; ? 最小使用的類型為int 類? ? ??
  • // (int + int) => int ?,此時 加上小括號 強制轉換數據類型??或者改為:? Int b3 = b1+b2 ;?
byte b1 = 20;
byte b2 = 10;
byte b3 = b1+b2; 錯誤寫法
byte b3 = (byte) (b1+b2);

? ? ? ? System.out.println(b3);? ? ? ? ? ? ? ? //30
? ? ? ? System.out.println(1+2*3);? ?????????//7
? ? ? ? System.out.println((1+2)*3);????????//9

把想要先運算的運算符加上小括號 就可以優先執行。?

3.? 短路或運算? A?||?B

在第一個條件為真時,跳過第二個條件表達式、不去執行。

  • 短路或是Java中的一個邏輯運算符,記作“||”。
  • 只有a與b都為false,結果才為false;有一個為true,結果為true。
  • 當運算符“||”的左邊為true時,右邊的表達式就不會進行運算;
  • 當左邊為false時,計算右邊的值。
int ii = 1;
        int jj = 2;
        boolean result =(ii!=1)||(++jj >2);
        System.out.println(result);                     //true
        System.out.println(jj);                         //3

true || true 結果為 true

true || false 結果為 true

false || false 結果為 false

false || true 結果為 true

?4. 短路與運算 A&&B

  • 具有短路性質 ,只要有一個條件為假時, 則為假。

  • 當A為false時,不去計算B的值而直接返回false;
  • 當A為true? 時,計算B的值。

? ? ? ?// true &&(and) (執行)false => false
? ? ? ? // false* &&(and) (不執行)false => false
? ?

??或運算 |(or)
? ? ? ? // true |(or) (執行)false => true
? ? ? ? // false |(or) (執行)true => true

? 與運算??&(and)
? ? ? ? // true &(and) (執行)false => true
? ? ? ? // false &(and) (執行)false => false

三、流程控制?Flow Control 分支

循環結構?for,while,do?while

1. for循環

for( 初始化表達式 ; 條件表達式;更新表達式)

表達式的結果為 flase 則跳出循環 ,不執行;

表達式的結果為 true? 則執行;?

2.? while 有條件的循環?

  • while() { ?循環的代碼 ?} ?

  • ?// while循環會判斷 條件表達式的結果是否為true .

  • ?如果為false 跳出循環; ? ? ? ?
  • ?如果為true ,會執行大括號內的邏輯代碼 ,代碼執行完畢后,會重新對條件表達式進行判斷。? age++ ; ??

3.? 循環do{ ?};?while ()

do{ ? 循環代碼? };

?while (條件表達式 )

// 執行的是do 循環內的

do... while, while 的聯系和區別:

語法執行的原理和while 語法基本相同,區別就在于循環代碼是否至少執行1次;

while 循環語法 可能執行 可能不執行,

格式 :

int age = 30;
?do {age++;
? ? System.out.println("循環的代碼"+age);
?} while (age < 40);
? ? System.out.println("123");

四、 If 條件結構?

? 2、If…else? ?必選分支:雙分支結構( 二選一)

? If ?范圍 /等值

?If… ? else if…? ?else if… ?else if…? else;?

If(i==20){  執行分支1 } ;
else if(i==30){  執行分支2 };
else if(i==40){  執行分支3 };
else if(i==50){  執行分支4};
else{ 執行分支5};     這里的else不一定存在

5. switch 語法? ,??

switch 語法會對數據進行判斷,如果等于某一個分支數據的值,那么執行對應分支的邏輯代碼。

switch ( 數據 ) ?{ case具體數字: ? } ? ? ? ? ? ?

?break: ?跳出case; ?case 等值分支判斷 (具體的數字或者字符串相等)

【如果執行一個分支后 不想繼續執行其他分支,那么可以使用break 關鍵字,跳出分支結構】

  • 如果所有分支都無法匹配,那么所有分支都不會執行;
  • 如果想要無法匹配也要執行分支,那么可以增加default 關鍵字。

System.out.println("第一步");
System.out.println("第二步");
    String  i = "30";
switch (i) {
    case "10":    //判斷10是否等于初始值,如果相等 執行語句,其他語句不進行再判斷 繼續往下走。
    System.out.println("分支1");            
    break;

     case "30":
     System.out.println("分支3");
     break;
            
    case "20":
    System.out.println("分支2"); 
break;

6. 快速寫代碼 小技巧:

  • psvm : 自動生成? public static void main( String[ ] args ) { ? ? } ? ????????// 程序的入口
  • sout :? 自動生成? System.out.println( ); ????????????????// 輸出打印的內容
  • 【Ctrl+D】? ?復制當前行
  • 【Ctrl+R】 替換文本
  • 【Ctrl + /】 ?選中文本 快速 進行或取消 ?更多行的注釋?

?2023.10.10記錄


原文鏈接:https://blog.csdn.net/weixin_45436143/article/details/133750473

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新