網(wǎng)站首頁 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ù)。
- ?一元運算符 :一個元素參與運算的 運算符
? ++, -- 自增 ,自減?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個元素? ( 算術運算符 ) : +、 ? - ?、 * ?、 ? ?/、% (取余運算)
- 三元運算符: (表達式)?() :
- ? 關系運算符 :比較兩個數(shù)據(jù)之間的大小關系? ==,!=,>, ?>= , < , <=
- ? 賦值運算符 (要考慮 類型的關系):=,+=,-=, *=,/=,%=,(復合賦值運算符)比如: i =i+1 ;//等同于i+=1;
- 邏輯運算符:&, ? ? ?| , ? ?^ ?, ? ? ? ! (取反運算) ?
- 短路 運算符? :&&? ?表示 短路與; || ?表示 短路或;
- ?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
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-06-16 VS?Code?C++環(huán)境的搭建過程_C 語言
- 2022-04-11 python中pip安裝、升級以及升級固定的包_python
- 2022-12-11 C語言冷知識之預處理字符串操作符詳解_C 語言
- 2023-10-10 uniapp實現(xiàn)預覽請求后臺接口返回的文件
- 2022-09-03 Python實現(xiàn)求解最大公約數(shù)的五種方法總結_python
- 2022-03-27 詳解OpenCV中簡單的鼠標事件處理_python
- 2022-11-04 asp.net?core?認證和授權實例詳解_實用技巧
- 2023-03-16 Android藍牙服務查找附近設備分析探索_Android
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支