Lecture1 運(yùn)算符概述
- 表達(dá)式:由運(yùn)算符和操作數(shù)組成
- 運(yùn)算符:
- 算術(shù)運(yùn)算符
- 賦值運(yùn)算符
- 關(guān)系運(yùn)算符
- 邏輯運(yùn)算符
- 條件運(yùn)算符
- 位運(yùn)算符
- X目運(yùn)算符:對幾個操作數(shù)進(jìn)行操作就是幾目運(yùn)算符
Lecture2 算術(shù)運(yùn)算符與賦值運(yùn)算符
- 賦值運(yùn)算符:賦值運(yùn)算符是從右往左運(yùn)算,是單目運(yùn)算符窄陡;格式:
變量 = 表達(dá)式;
;復(fù)合賦值運(yùn)算符:“ +=、-=郁副、*=衰伯、/=、%= ”,例如x += 5;
等價于x = x + 5;
- 算術(shù)運(yùn)算符:主要用于基本的算術(shù)運(yùn)算氨肌,如加、減酌畜、乘怎囚、除等
算術(shù)運(yùn)算符 |
名稱 |
舉例 |
+ |
加法(雙目運(yùn)算符) |
1 + 2 |
- |
減法(雙目運(yùn)算符) |
3 - 2 |
* |
乘法(雙目運(yùn)算符) |
4 * 3 |
/ |
除法(雙目運(yùn)算符) |
5 \ 4 |
% |
求余數(shù)(雙目運(yùn)算符) |
6 % 5 |
++ |
自增(單目運(yùn)算符) |
7++ |
-- |
自減(單目運(yùn)算符) |
8-- |
public class MathDemo1 {
public static void main(String[] args) {
int num1 = 10, num2 = 5;
int result;//存放結(jié)果
//加法
result = num1 + num2;
System.out.println(num1+" + "+num2+" = "+result);
//減法
result = num1 - num2;
System.out.println(num1+" - "+num2+" = "+result);
//乘法
result = num1 * num2;
System.out.println(num1+" * "+num2+" = "+result);
//除法
result = num1 / num2;
System.out.println(num1+" / "+num2+" = "+result);
//分子分母都是整型時,結(jié)果為整除后的結(jié)果
System.out.println(13 / 5);
System.out.println(13.0 / 5);
//求余數(shù)
result = 13 % num2;
System.out.println("13 % "+num2+" = "+result);
System.out.println(13.5 % 5);
}
}
- 自增自減運(yùn)算符:“ ++ ”或“ -- ”在操作數(shù)前則先進(jìn)行自增/自減運(yùn)算再參與表達(dá)式運(yùn)算,“ ++ ”或“ -- ”在操作數(shù)后則先參與表達(dá)式運(yùn)算再進(jìn)行自增/自減運(yùn)算
- 自增自減運(yùn)算符案例:
public class MathDemo2 {
public static void main(String[] args) {
//x++
int x = 4;
int y = (x++) + 5;
System.out.println("x = "+x+", y = "+y);
//++x
x = 4;
y = (++x) + 5;
System.out.println("x = "+x+", y = "+y);
//x--
x = 4;
y = (x--) + 5;
System.out.println("x = "+x+", y = "+y);
//--x
x = 4;
y = (--x) + 5;
System.out.println("x = "+x+", y = "+y);
}
}
Lecture3 關(guān)系運(yùn)算符
- 關(guān)系運(yùn)算符:“ >恳守、<考婴、>=(大于等于)、<=(小于等于)催烘、==(等于)沥阱、!=(不等于) ”,又稱為比較運(yùn)算符伊群,用于判斷兩個數(shù)值的大锌忌肌;比較的結(jié)果是一個布爾值舰始;主要應(yīng)用在條件和循環(huán)語句中作為判斷條件
- 比較運(yùn)算符例子:'A'與'B'崇棠,結(jié)果為false,比較對象是ASCII值丸卷;5 != 6枕稀,結(jié)果為true,比較對象是數(shù)值谜嫉;true == false萎坷,結(jié)果為false,比較對象是布爾值骄恶;整型和浮點型比較,值相等就返回true僧鲁,反之返回false
- if條件結(jié)構(gòu):
//格式
if(條件){
<語句塊>//只有一條語句時虐呻,“ {} ”可以省略
}
//例子
//商場打折,若兩件商品總價大于100則減20寞秃,并將原價和折后價分別輸出
public class ConditionDemo1 {
public static void main(String[] args) {
//定義商品1和商品2
double price1 = 80, price2 = 55;
//商品總價格
double sum = price1 + price2;
//輸出原價
System.out.println("原價為:"+sum);
//判斷商品價格是否大于100
if(sum > 100){
sum -= 20;
}
//輸出折后價
System.out.println("折后價為:"+sum);
}
}
//格式
if(true){
<語句塊>
}
else{
<語句塊>
}
//例子
//判斷一個整數(shù)是奇數(shù)還是偶數(shù)斟叼,并輸出結(jié)果
import java.util.Scanner;
//判斷一個整數(shù)是奇數(shù)還是偶數(shù),并輸出結(jié)果
public class ConditionDemo2 {
public static void main(String[] args) {
//定義一個變量存放數(shù)據(jù)
//int n = 10;
//使用Scanner類春寿,接收從鍵盤輸入的數(shù)據(jù)(面向?qū)ο蟛糠种R)
Scanner sc = new Scanner(System.in);
System.out.println("請輸入n的值:");
int n = sc.nextInt();
//判斷奇偶性
if(n % 2 == 0){
System.out.println(n+"是偶數(shù)");
}
else{
System.out.println(n+"是奇數(shù)");
}
}
Lecture4 邏輯運(yùn)算符
- 邏輯運(yùn)算符:邏輯運(yùn)算符用于連接一個或多個條件朗涩,判斷這些條件是否成立;返回結(jié)果為布爾類型绑改;邏輯運(yùn)算符的操作數(shù)都是布爾類型的
- 邏輯與運(yùn)算符:“ && ”或“ & ”谢床,運(yùn)算規(guī)則--操作數(shù)均為true則結(jié)果為true,只要有false則結(jié)果為false厘线;&&運(yùn)算符又叫短路運(yùn)算符识腿,如果第一個表達(dá)式的值就能決定表達(dá)式最后的結(jié)果,運(yùn)算符右邊的表達(dá)式就不再計算造壮,例如
int n = 3;
boolean b = (3 > 7) && ((n++) < 2);
//b = false; n = 3;
- 邏輯非運(yùn)算符:“ || ”或“ | ”渡讼,運(yùn)算規(guī)則--操作數(shù)均為false則結(jié)果為false,只要有true則結(jié)果為true;&&運(yùn)算符又叫短路運(yùn)算符成箫,如果第一個表達(dá)式的值就能決定表達(dá)式最后的結(jié)果展箱,運(yùn)算符右邊的表達(dá)式就不再計算
- 邏輯非運(yùn)算符:“ ! ”,運(yùn)算規(guī)則--對原條件取反
Lecture5 條件運(yùn)算符與運(yùn)算符的優(yōu)先級
- 條件運(yùn)算符:是Java中唯一一個三目運(yùn)算符蹬昌;語法格式
布爾表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2
混驰,當(dāng)布爾表達(dá)式的值為true,則返回表達(dá)式1的值皂贩,否則返回表達(dá)式2的值(邏輯上等價于if-else語句)账胧,例子:
//求a和b的最大值
public class MaxDemo {
public static void main(String[] args) {
int a = 4, b = 7;
int max;//最大值
//使用if-else語句判斷
if(a > b){
max = a;
}
else{
max = b;
}
System.out.println("max = "+max);
//等價于
max = a > b ? a : b;
System.out.println("max = "+max);
}
}
- 運(yùn)算符的優(yōu)先級:優(yōu)先級由高到低,表格如下:
運(yùn)算符 |
描述 |
() |
圓括號 |
!, ++, -- |
邏輯非先紫,自增治泥,自減(單目運(yùn)算符) |
*, /, % |
乘法,除法遮精,取余(算術(shù)運(yùn)算符) |
+, - |
加法居夹,減法(算術(shù)運(yùn)算符) |
<, <=, >, >= |
小于,小于等于本冲,大于准脂,大于等于(關(guān)系運(yùn)算符) |
==, != |
等于,不等于(關(guān)系運(yùn)算符) |
&&或& |
邏輯與(邏輯運(yùn)算符) |
| | 或 | |
邏輯非(邏輯運(yùn)算符) |
=, +=, *=, -=, /=, %= |
賦值運(yùn)算符檬洞,復(fù)合賦值運(yùn)算符(賦值運(yùn)算符) |
Lecture6 運(yùn)算符綜合案例
- 使用if-else語句判斷輸入的年份是否是閏年(提示:能被4整除但不能被100整除或者能被400整除的年份是閏年)
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
System.out.println("請輸入年份:");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)){
System.out.println(year+"是閏年");
}
else{
System.out.println(year+"不是閏年");
}
}
}