運算符:進行特定操作的符號。例:+ 表達式:用運算符連的式子叫做表達式,例:1+2 1.四則運算: 加:+ 減:- 乘:* 除:/ 被除數 / 除數 = 商 .... 餘數 對於一個整數的表達式來說,除法用的是整除。結果仍為整數。只看商。不看餘數 只有對於整數的除法來,取模運算符才有餘數的意義 註意 ...
運算符:進行特定操作的符號。例:+
表達式:用運算符連的式子叫做表達式,例:1+2
1.四則運算:
加:+
減:-
乘:*
除:/ 被除數 / 除數 = 商 .... 餘數
對於一個整數的表達式來說,除法用的是整除。結果仍為整數。只看商。不看餘數
只有對於整數的除法來,取模運算符才有餘數的意義
註意事項:
1.一旦運算當中有不同類型的數據,那麼結果將會是數據類型範圍大的那種
例子:
public class PeratorDemo{
public static void main(String[] args){
//兩個常量直接可以進行數學運算
System.out.println(20 + 30);
//兩變數之間也可以進行數學運算
int a = 20;
int b = 30;
System.out.println(a - b);
//變數和常量之間可以混合使用
System.out.println(a * 10);
int x = 10 ;
int y = 3 ;
int result1 = x / y;
System.out.println(result1);//3
int result2 = x % y ;
System.out.println(result2);//餘數,模,1
//int + double ---> double + double --->double
double result3 = x + 2.5;
System.out.println(result3);//12.5
}
}
運行結果:
四則運算當中的加號”+“有三種用法:
1.對於數值來,那就是加法。
2.對於字元char類型來,再計算之前會被提升為int,然後再計算。
-char類型字元,和int類型數值,之間的對照關係表:ASCII,Unicode
3.對於字元串String(首字母大寫,並不是關鍵字)來。加號代表字元串連操作。
-任何數據類型和字元串進行連的時候,結果都會變成字元串
例子:
public class PlusDemo{
public static void main(String[] args){
//字元串類型的變數基本使用
//數據類型 變數名稱 = 數據值
String str1 = "Hello";
System.out.println(str1);//Hello
System.out.println("Hello"+"Hello");//HelloHello
String str2 = "Java";
//String + int --->String
System.out.println(str2 + 20);//Java20
//優先問題
//String + int + int
//String + int
//String
System.out.println(str2 + 20 + 30);//Java2030
System.out.println(str2+(20+30));//Java50
}
}
運行結果:
2.自增自減運算符
自增運算符:++
自減運算符:--
基本含義:讓一個變數漲一個數字1,或者讓一個變數降一個數字1
使用格式:寫在變數名稱之前,或者寫在一個變數名稱之後
-eg:++num , num++
使用方式:
1.單獨使用:不和其他任何操作混合,自己單獨成為一個步驟
2.混合使用,和其他操作混合,例如與賦值混合,或者和列印操作混合,等
使用區別:
1.在單獨使用的時候,前++和後++沒有任何區別,也就是:++num;和 num ++;是完全一樣的
2.在混合使用的時候,有【重大區別】
A.如果是前++,那麼變數立刻+1,然後拿著結果進行使用【先加後用】
B.如果是後++,那麼變數先使用,【然後再讓變數+1】【先用後加】
註意事項:
1.只有變數才能使用自增、自減運算符。常量不可發生改變,所以不能用。
例子:
public class PeratorDemo2{
public static void main(String[] args){
int num1 = 10;
System.out.println(num1);
++num1;//單獨使用,前++
System.out.println(num1);//11
num1++;//單獨使用,後++
System.out.println(num1);//12
System.out.println("================");
//與列印操作混合的時候
int num2 = 20;
//混合使用,先++,變數立馬上變成21,然後列印結果21
System.out.println(++num2);//21
//混合使用,後++,變數先列印成原來的21 ,然後變數+1變成22
System.out.println(num2++);//21
System.out.println(num2);//22
System.out.println("===========");
//和賦值操作混合使用
int num3 = 30 ;
//混合使用,先---,變數先變成29,然後賦值給result1
int result1 = -- num3;//result=29
System.out.println(result1);//29
System.out.println(num3);//29
//混合使用,先將num3賦值給result2,再將變數變成28
int result2 = num3 --;//將29賦值給result2
System.out.println(result2);//29
System.out.println(result2);//29
System.out.println(num3);//28
}
}
運行結果:
3.賦值運算符
賦值運算符分為:
基本賦值運算符:就是一個等號"=",代表將右側的數據交給左側的變數
int a = 30;
複合賦值運算符:
+= a += 1 相當於 a = a + 1
-= a -= 1 相當於 a = a - 1
*= a *= 1 相當於 a = a * 1
/= a /= 1 相當於 a = a / 1
%= a %= 1 相當於 a = a % 1
例子:
public class PeratorDemo3{
public static void main(String[] args ){
int a = 10;
a+=5;//相當於 a= a+5 ---->10+5 = 15
System.out.println(a);//15
int x = 10;
x %= 3;//相當於 x= x%3 ---->10%3 = 1
System.out.println(x);//1
byte num = 30;
//num = num + 5
//num = byte + int
//num = int
//num = (byte)int
num +=5;
System.out.println(num);//35
}
}
運行結果:
4.比較運算符
大於: >
小於: <
大於等於: >=
小於等於: <=
相等: ==
不等於: !=
註意事項:
1.比較運算符的結果一定是一個boolean值,成立就是true,不成立就是false
2.如果進行多次判斷,不能連著寫
數學當中的寫法 例如:1<x<3
程式中不允許這樣寫
例子:
public class PeratorDemo4{
public static void main(String[] args){
System.out.println(10 > 5);//true
int num1 = 10;
int num2 = 12;
System.out.println(num1 < num2);//true
System.out.println(num2 >= 100);//false
System.out.println(num2 <= 100);//true
System.out.println(num2 <= 12);//true
System.out.println("=============");
System.out.println(10 == 10);//true
System.out.println(20 != 25);//true
System.out.println(20 != 20);//false
}
}
運行結果:
5.邏輯運算符
與(並且) && 全都是true,才是true,否者就是false
或(或者) || 只要至少一個是true,就是true;全都是false,才是false
非(取反) ! 本來是true,變成false,本來是false,變成true
短路:
與“&&”,或“||”,具有短路的效果:如果根據左邊已經判斷得到最終結果
那麼右邊的代碼將不再執行,從而節省一定的性能
註意事項:
1.邏輯運算符只能用於boolean值
2.與或需要左右各自有一個boolean值,大宋取反只有唯一一個boolean值
3.與、或兩運算符,如果有多個條件,可以連續寫
兩個條件:條件A &&條件B
多個條件:條件A &&條件B &&條件C
例子:
public class LogicDemo{
public static void main(String[] args){
System.out.println(true && false);// false
//true && true ---> true
System.out.println(3 < 4 && 10 > 5);//true
System.out.println("===============");
System.out.println(true || false);//true
System.out.println(true || true);//true
System.out.println(false || false);//false
System.out.println("===============");
System.out.println(true);//true
System.out.println(!false);//false
System.out.println("===============");
int a = 10;
//false && ......
System.out.println(3 > 4&& ++a < 100);//false
System.out.println(a);//10
System.out.println("================");
int b = 10;
//true || ......
System.out.println(3 < 4 || ++b <100);//true
System.out.println(b);//10
}
}
運行結果:
6.三元運算符
一元運算符:只需要一個數據就可以進行操作的運算符。例如:取反!,自增++
二元運算符:需要兩數據才能進行的操作的運算符,例如:加法+,賦值=
三元運算符:需要三個數據才可以進行操作的運算符
格式:
數據類型 變數名稱 = 條件判斷 ?表達式A : 表達式B;
流程:
首先判斷條件是否成立:
如果成立為true,那麼將表達式A的值賦值給左側變數
如果不成立為false,那麼將表達式B的值賦值給左側變數
註意事項:
1.必須同時保證表達式A和表達式B都符合左側數據類型的要求
2.三元運算的結果必須被使用
例子:
public class PeratorDemo5{
public static void main(String[] args){
int a = 10;
int b = 20;
//數據類型 變數名稱 = 條件判斷 ? 表達式A :表達式B
//判斷a>b是否成立,如果成立將a的值賦值給max,如果不成立將b的值賦值給max
int max = a > b ? a : b;
System.out.println(max);//20
//int result = 3 > 4 ? 2.5 : 10;//錯誤寫法
//a > b ? a : b;//錯誤寫法
}
}
運行結果: