Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】
- java零基礎入門到精通(2019版)【黑馬程序員】
- 視頻+資料:【鏈接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg? ?提取碼:zjxs】
- “Java基礎”專欄
- Java基礎--學習筆記(零起點打開java世界的大門)--博客匯總表
目? ?錄
018_算術運算符
1.1、運算符和表達式
1.2、算術運算符
019_字符的+操作
1.3、字符的“+”操作
020_字符串的+操作
1.4、字符串的“+”操作
021_賦值運算符
2.1、賦值運算符
022_自增自減運算符
3.1、自增自減運算符
023_關系運算符
4.1、關系運算符
024_邏輯運算符
5.1、邏輯運算符概述
5.2、邏輯運算符
025_短路邏輯運算符
5.3、短路邏輯運算符
026_三元運算符
6.1、三元運算符
027_兩只老虎
1、案例:兩只老虎
2、代碼and運行截圖
028_三個和尚
1、案例:三個和尚
2、代碼and運行截圖
029_數(shù)據(jù)輸入
1.1、數(shù)據(jù)輸入概述
1.2、Scanner使用的基本步驟
030_三個和尚升級版
1、案例:三個和尚升級版
2、代碼and運行截圖
031_順序結(jié)構(gòu)
1.1、流程控制語句概述
1.2、流程控制語句分類
1.3、順序結(jié)構(gòu)
032_if結(jié)構(gòu)
2.1、if語句格式1
033_if...else結(jié)構(gòu)
2.2、if語句格式2
034_奇偶數(shù)
035_if...else...if結(jié)構(gòu)
2.3、if語句格式3
036_考試獎勵
018_算術運算符
1.1、運算符和表達式
運算符:對常量或者變量進行操作的符號。
表達式:用運算符把常量或者變量連接起來符合java語法的式子就可以稱為表達式。
? ? ? ? ? ? ? 不同運算符連接的表達式體現(xiàn)的是不同類型的表達式。
舉例說明:
? ? ? ? ? ? ? int a = 10;
? ? ? ? ? ? ? int b = 20;
? ? ? ? ? ? ? int c = a + b;
? ? ? ? ? ? ? +:是運算符,并且是算術運算符。
? ? ? ? ? ? ? a + b:是表達式,由于+是算術運算符,所以這個表達式叫算術表達式。
1.2、算術運算符
注意事項:
/和%的區(qū)別:兩個數(shù)據(jù)做除法,/取結(jié)果的商,%取結(jié)果的余數(shù)。
整數(shù)操作只能得到整數(shù),要想得到小數(shù),必須有浮點數(shù)參與運算。
019_字符的+操作
1.3、字符的“+”操作
字符 char? ?可以與int型數(shù)據(jù) 做運算。【拿字符在計算機底層對應的數(shù)值來進行計算。】
char類型參與算術運算,使用的是計算機底層對應的十進制數(shù)值。需要我們記住三個字符對應的數(shù)值:
- 'a' -- 97 a-z是連續(xù)的,所以'b'對應的數(shù)值是98,'c'是99,依次遞加
- 'A' -- 65 A-Z是連續(xù)的,所以'B'對應的數(shù)值是66,'C'是67,依次遞加
- '0' -- 48 0-9是連續(xù)的,所以'1'對應的數(shù)值是49,'2'是50,依次遞加
算術表達式中包含不同的基本數(shù)據(jù)類型的值的時候,整個算術表達式的類型會自動進行提升。
提升規(guī)則:
- byte類型,short類型和char類型將被提升到int類型,不管是否有其他類型參與運算。
- 整個表達式的類型自動提升到與表達式中最高等級的操作數(shù)相同的類型
? ? ? ?等級順序:byte, short, char --> int --> long --> float --> double
byte b1 = 10; byte b2 = 20; // byte b3 = b1 + b2; // 該行報錯,因為byte類型參與算術運算會自動提示為int,int賦值給byte可能損失 精度 int i3 = b1 + b2; // 應該使用int接收 byte b3 = (byte) (b1 + b2); // 或者將結(jié)果強制轉(zhuǎn)換為byte類型 ------------------------------- int num1 = 10; double num2 = 20.0; double num3 = num1 + num2; // 使用double接收,因為num1會自動提升為double類型tips:正是由于上述原因,所以在程序開發(fā)中我們很少使用byte或者short類型定義整數(shù)。也很少會使用char類型定義字符,而使用字符串類型,更不會使用char類型做算術運算。
020_字符串的+操作
1.4、字符串的“+”操作
當“+”操作中出現(xiàn)字符串時,這個”+”是字符串連接符,而不是算術運算。
- System.out.println("itheima"+ 666); // 輸出:itheima666
在”+”操作中,如果出現(xiàn)了字符串,就是連接運算符,否則就是算術運算。當連續(xù)進行“+”操作時,從左到右逐個執(zhí)行。
System.out.println(1 + 99 + "年黑馬"); // 輸出:199年黑馬
021_賦值運算符
2.1、賦值運算符
賦值運算符的作用是將一個表達式的值賦給左邊,左邊必須是可修改的,不能是常量。
s += 20; // +=操作:隱含了 強制類型轉(zhuǎn)換
注意事項:擴展的賦值運算符隱含了強制類型轉(zhuǎn)換。
short s = 10;
s = s + 20; // 此行代碼報錯!!!因為運算中 s提升為int類型,運算結(jié)果int賦值給short可能損失精度
s += 20; // 此行代碼沒有問題,隱含了強制類型轉(zhuǎn)換,相當于 s = (short) (s + 10);
022_自增自減運算符
3.1、自增自減運算符
注意事項:
- ++和-- 既可以放在變量的后邊,也可以放在變量的前邊。
- 單獨使用的時候, ++和-- 無論是放在變量的前邊還是后邊,結(jié)果是一樣的。
- 參與操作的時候,如果放在變量的后邊,先拿變量參與操作,后拿變量做++或者--。
? ? ? ?參與操作的時候,如果放在變量的前邊,先拿變量做++或者--,后拿變量參與操作。
最常見的用法:單獨使用
023_關系運算符
4.1、關系運算符
關系運算符有6種關系,分別為 小于、小于等于、大于、等于、大于等于、不等于。
注意事項:
關系運算符的結(jié)果都是boolean類型,要么是true,要么是false。
千萬不要把“==”誤寫成“=”,"=="是判斷是否相等的關系,"="是賦值。
024_邏輯運算符
5.1、邏輯運算符概述
邏輯運算符把各個運算的關系表達式連接起來組成一個復雜的邏輯表達式,
以判斷程序中的表達式是否成立,判斷的結(jié)果是 true 或 false。
5.2、邏輯運算符
?
025_短路邏輯運算符
5.3、短路邏輯運算符
在邏輯與運算中,只要有一個表達式的值為false,那么結(jié)果就可以判定為false了,沒有必要將所有表達式的值都計算出來,短路與操作就有這樣的效果,可以提高效率。同理在邏輯或運算中,一旦發(fā)現(xiàn)值為true,右邊的表達式將不再參與運算。
026_三元運算符
6.1、三元運算符
三元運算符語法格式: 關系表達式 ? 表達式1 : 表達式2;【 范例:a > b ? a : b; 】
解釋:問號前面的位置是判斷的條件,判斷結(jié)果為boolean型,為true時調(diào)用表達式1,為false時調(diào)用表達式2。其邏輯為:如果條件表達式成立或者滿足則執(zhí)行表達式1,否則執(zhí)行第二個。
027_兩只老虎
1、案例:兩只老虎
2、代碼and運行截圖
028_三個和尚
1、案例:三個和尚
2、代碼and運行截圖
029_數(shù)據(jù)輸入
1.1、數(shù)據(jù)輸入概述
1.2、Scanner使用的基本步驟
我們可以通過 Scanner 類來獲取用戶的輸入。使用步驟如下:
1、導包。Scanner類 在java.util包下,所以需要將該類導入。導包的語句必須定義在類定義的上面。
import java.util.Scanner;
2、創(chuàng)建Scanner對象。
Scanner sc = new Scanner(System.in);// 創(chuàng)建Scanner對象,sc表示變量名,其他均不可變。
3、接收數(shù)據(jù)。
int i = sc.nextInt(); // 表示將鍵盤錄入的值作為int數(shù)返回。
030_三個和尚升級版
1、案例:三個和尚升級版
2、代碼and運行截圖
031_順序結(jié)構(gòu)
1.1、流程控制語句概述
在一個程序執(zhí)行的過程中,各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。所以,我們必須清楚每條語句的執(zhí)行流程。而且,很多時候要通過控制語句的執(zhí)行順序來實現(xiàn)我們想要的功能。
1.2、流程控制語句分類
- 順序結(jié)構(gòu)
- 分支結(jié)構(gòu)(if, switch)
- 循環(huán)結(jié)構(gòu)(for, while, do…while)
1.3、順序結(jié)構(gòu)
順序結(jié)構(gòu)是程序中最簡單最基本的流程控制,沒有特定的語法結(jié)構(gòu),按照代碼的先后順序,依次執(zhí)行,程序中大多 數(shù)的代碼都是這樣執(zhí)行的。
順序結(jié)構(gòu)執(zhí)行流程圖:
032_if結(jié)構(gòu)
2.1、if語句格式1
033_if...else結(jié)構(gòu)
2.2、if語句格式2
034_奇偶數(shù)
035_if...else...if結(jié)構(gòu)
2.3、if語句格式3
036_考試獎勵
總結(jié)
以上是生活随笔為你收集整理的Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java01-day01【发展史、跨平台
- 下一篇: Java03-day03【switch、