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

學無先后,達者為師

網(wǎng)站首頁 java綜合 正文

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

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

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


一、? 運算符

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

?二、八大基本數(shù)據(jù)類型??

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

  • 帶小數(shù)點的數(shù)據(jù) 會被識別為 精度高的雙精度 double 類型 ,比如 1.0?
  • 數(shù)據(jù)類型的轉換: 把小的數(shù)據(jù)類型 給一個大的數(shù)據(jù)類型是可以的 ;但是大的不能給小的數(shù)據(jù)類型 ,會造成丟失數(shù)據(jù)。
  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. ? 關系運算符 :比較兩個數(shù)據(jù)之間的大小關系? ==,!=,>, ?>= , < , <=
  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 ?,此時 加上小括號 強制轉換數(shù)據(jù)類型??或者改為:? 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

把想要先運算的運算符加上小括號 就可以優(yōu)先執(zhí)行。?

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

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

  • 短路或是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) (執(zhí)行)false => false
? ? ? ? // false* &&(and) (不執(zhí)行)false => false
? ?

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

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

三、流程控制?Flow Control 分支

循環(huán)結構?for,while,do?while

1. for循環(huán)

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

表達式的結果為 flase 則跳出循環(huán) ,不執(zhí)行;

表達式的結果為 true? 則執(zhí)行;?

2.? while 有條件的循環(huán)?

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

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

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

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

do{ ? 循環(huán)代碼? };

?while (條件表達式 )

// 執(zhí)行的是do 循環(huán)內(nèi)的

do... while, while 的聯(lián)系和區(qū)別:

語法執(zhí)行的原理和while 語法基本相同,區(qū)別就在于循環(huán)代碼是否至少執(zhí)行1次;

while 循環(huán)語法 可能執(zhí)行 可能不執(zhí)行,

格式 :

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

四、 If 條件結構?

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

? If ?范圍 /等值

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

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

5. switch 語法? ,??

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

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

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

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

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

System.out.println("第一步");
System.out.println("第二步");
    String  i = "30";
switch (i) {
    case "10":    //判斷10是否等于初始值,如果相等 執(zhí)行語句,其他語句不進行再判斷 繼續(xù)往下走。
    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( ); ????????????????// 輸出打印的內(nèi)容
  • 【Ctrl+D】? ?復制當前行
  • 【Ctrl+R】 替換文本
  • 【Ctrl + /】 ?選中文本 快速 進行或取消 ?更多行的注釋?

?2023.10.10記錄


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

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