Day04-變數、常量、運算子、包機制
阿新 • • 發佈:2021-06-25
變數、常量
變數
public class variable{ //屬性:變數 //例項變數:從屬於物件;如果不自行初始化,這個型別的預設值 0 0.0 //布林值:false //除了基本型別,其餘的預設值都是null; String name; int age; //類變數 static static double salary = 2500; //main方法 public static void main(String[] args){ //區域性變數:必須宣告和初始化值 int i = 10; System.out.println(i); } }
常量
-
常量:初始化後不能再改變值!不會變動的值
-
常量可以理解成一種特殊的變數,它的值被設定後,在程式執行過程中不允許改變
-
final 常量名 = 值; final double PI = 3.14;
-
常量名一般使用大寫字元
public class constant{ //修飾符,不存在先後順序 static final double PI = 3.14; final static double PI2 = 3.14; public static void main(String[] args){ System.out.println(PI); } }
變數的命名規範
- 所有變數、方法、類名:見名知意
- 類成員變數:首字母小寫和駝峰原則:monthSalary
- 區域性變數:首字母小寫和駝峰原則
- 方法名:首字母小寫和駝峰原則
- 常量:全部大寫字元和下劃線:MAX_VALUE
- 類名:首字母大寫和駝峰原則:GoodMan
變數作用域
public class Variable{ static int allClicks = 0; // 類變數 String str = "hello world"; // 例項變數 public static void main(String[] args){ int i = 0; // 區域性變數 } }
運算子
Java支援的運算子
- 算術運算子:+, -, *, /, %, ++, --
- 賦值運算子:=, +=, -=, *=, /=
- 關係運算符:>, <, >=, <=, ==, !=, instanceof
- 邏輯運算子:&&, ||, !
- 位運算子:&, |, ^, ~, >>, <<, >>>
- 條件運算子:?, :
運算型別規則
byte,short,char混合運算,各自先轉換成int再運算
多種資料型別混合運算,先轉換成最大容量的再運算
自增自減運算子
public class Demo{
public static void main(String[] args){
// ++ -- 自增自減,一元運算子
int a = 3;
int b = a++;//運算子在後,先賦值再自增
int c = ++a;//運算子在前,先自增再賦值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
}
}
邏輯運算子,位運算子
邏輯運算子
public class Demo{
public static void main(String[] args){
// 與(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:" + (a && b);//false 邏輯與運算:兩個變數都為真,結果才為真
System.out.println("a || b:" + (a || b));//true 邏輯或運算:兩個變數有一個為真,結果為真
System.out.println("!(a && b):" + !(a && b));//如果是真,則變真為假;如果是假,則變假為真
// 短路運算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//c依然是5,因為c<4 為false,直接判斷出最終結果為false,後面的c++不執行
}
}
位運算子
public class Demo{
public static void main(String[] args){
/*
A = 0011 1100
B = 0000 1101
_____________________________________________
A&B =0000 1100 A和B兩個為1才為1,一個為1就為0
A|B =0011 1101 A和B其中一個為1就為1
A^B =0011 0001 A和B兩個相同為0,否則為1
~B =1111 0010 非,位數相反
*/
//—————————————————————————————————————————————
/*
EX:
<<左移 >>右移
效率極高!!!!
System.out.println(2<<3);輸出為16
0000 0000 0
0000 0001 1
------------------------------
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
將二進位制左移3位即為16
}
}
三元運算子
x ? y : z
如果x==true,則結果為y,否則結果為z
包機制
包語句的語法格式為:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作為包名
- 匯入某一個包,使用“import”
import package1[package2...].(classname 或者 *);