Lecture1 運算符概述
- 表達式:由運算符和操做數組成
-
運算符:java
- 算術運算符
- 賦值運算符
- 關係運算符
- 邏輯運算符
- 條件運算符
- 位運算符
- X目運算符:對幾個操做數進行操做就是幾目運算符
Lecture2 算術運算符與賦值運算符
- 賦值運算符:賦值運算符是從右往左運算,是單目運算符;格式:
變量 = 表達式;
;複合賦值運算符:「 +=、-=、*=、/=、%= 」,例如x += 5;
等價於x = x + 5;
- 算術運算符:主要用於基本的算術運算,如加、減、乘、除等
算術運算符 |
名稱 |
舉例 |
+ |
加法(雙目運算符) |
1 + 2 |
- |
減法(雙目運算符) |
3 - 2 |
* |
乘法(雙目運算符) |
4 * 3 |
/ |
除法(雙目運算符) |
5 4 |
% |
求餘數(雙目運算符) |
6 % 5 |
++ |
自增(單目運算符) |
7++ |
-- |
自減(單目運算符) |
8-- |
public class MathDemo1 {
public static void main(String[] args) {
int num1 = 10, num2 = 5;
int 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);
//除法
result = num1 / num2;
System.out.println(num1+" / "+num2+" = "+result);
//分子分母都是整型時,結果爲整除後的結果
System.out.println(13 / 5);
System.out.println(13.0 / 5);
//求餘數
result = 13 % num2;
System.out.println("13 % "+num2+" = "+result);
System.out.println(13.5 % 5);
}
}
- 自增自減運算符:「 ++ 」或「 -- 」在操做數前則先進行自增/自減運算再參與表達式運算,「 ++ 」或「 -- 」在操做數後則先參與表達式運算再進行自增/自減運算
- 自增自減運算符案例:
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 關係運算符
- 關係運算符:「 >、<、>=(大於等於)、<=(小於等於)、==(等於)、!=(不等於) 」,又稱爲比較運算符,用於判斷兩個數值的大小;比較的結果是一個布爾值;主要應用在條件和循環語句中做爲判斷條件
- 比較運算符例子:'A'與'B',結果爲false,比較對象是ASCII值;5 != 6,結果爲true,比較對象是數值;true == false,結果爲false,比較對象是布爾值;整型和浮點型比較,值相等就返回true,反之返回false
- if條件結構:
//格式
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{
<語句塊>
}
//例子
//判斷一個整數是奇數仍是偶數,並輸出結果
import java.util.Scanner;
//判斷一個整數是奇數仍是偶數,並輸出結果
public class ConditionDemo2 {
public static void main(String[] args) {
//定義一個變量存放數據
//int n = 10;
//使用Scanner類,接收從鍵盤輸入的數據(面向對象部分知識)
Scanner sc = new Scanner(System.in);
System.out.println("請輸入n的值:");
int n = sc.nextInt();
//判斷奇偶性
if(n % 2 == 0){
System.out.println(n+"是偶數");
}
else{
System.out.println(n+"是奇數");
}
}
Lecture4 邏輯運算符
- 邏輯運算符:邏輯運算符用於鏈接一個或多個條件,判斷這些條件是否成立;返回結果爲布爾類型;邏輯運算符的操做數都是布爾類型的
- 邏輯與運算符:「 && 」或「 & 」,運算規則--操做數均爲true則結果爲true,只要有false則結果爲false;&&運算符又叫短路運算符,若是第一個表達式的值就能決定表達式最後的結果,運算符右邊的表達式就再也不計算,例如
int n = 3;
boolean b = (3 > 7) && ((n++) < 2);
//b = false; n = 3;
- 邏輯非運算符:「 || 」或「 | 」,運算規則--操做數均爲false則結果爲false,只要有true則結果爲true;&&運算符又叫短路運算符,若是第一個表達式的值就能決定表達式最後的結果,運算符右邊的表達式就再也不計算
- 邏輯非運算符:「 ! 」,運算規則--對原條件取反
Lecture5 條件運算符與運算符的優先級
- 條件運算符:是Java中惟一一個三目運算符;語法格式
布爾表達式 ? 表達式1 : 表達式2
,當布爾表達式的值爲true,則返回表達式1的值,不然返回表達式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);
}
}
運算符 |
描述 |
() |
圓括號 |
!, ++, -- |
邏輯非,自增,自減(單目運算符) |
*, /, % |
乘法,除法,取餘(算術運算符) |
+, - |
加法,減法(算術運算符) |
<, <=, >, >= |
小於,小於等於,大於,大於等於(關係運算符) |
==, != |
等於,不等於(關係運算符) |
&&或& |
邏輯與(邏輯運算符) |
||或| |
邏輯非(邏輯運算符) |
=, +=, *=, -=, /=, %= |
賦值運算符,複合賦值運算符(賦值運算符) |
Lecture6 運算符綜合案例
- 使用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+"不是閏年");
}
}
}