Java從入門到入墳(二) —— 變數、常量與運算子
阿新 • • 發佈:2021-07-14
變數
變數就是可以變化的量
由於Java是強型別語言,每個變數都必須宣告其型別
資料型別 變數名 = 值 ;可以使用逗號隔開宣告多個同類型變數
public class Demo07 { public static void main(String[] args) { //int a = 1,b = 2,c = 3; 程式可讀性很差 int a = 1; int b = 2; int c = 3; String name = "yizhiqiu"; char x = 'X'; double pi = 3.14; } }
Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域
作用域:類變數、例項變數、區域性變數
public class Demo08 { //類變數 static static double salary = 2500; //屬性:變數 //例項變數:從屬於物件;如果不自行初始化,這個型別的預設值 0 0.0 //布林值:預設是false //除了基本型別,其餘預設值都是null String name; int age; //main方法 public static void main(String[] args) { //區域性變數;必須宣告和初始化值 只在這裡面有用 int i = 10; System.out.println(i);//10 Demo08 demo08 = new Demo08(); System.out.println(demo08.age);//0 System.out.println(demo08.name);//null //類變數 static System.out.println(salary);//2500 } //其他方法 public void add(){ } }
常量
初始化後不能再改變的值! 不會變動的值
final 常量名=值;
常量名一般使用大寫字元
public class Demo {
//修飾符,不存在先後順序
static final double PI = 3.14;
final static double PE = 4.14;
public static void main(String[] args) {
System.out.println(PI);//3.14
System.out.println(PE);//4.14
}
}
命名規範:
所有變數、方法、類名:見名知意
類成員變數:首字母小寫和駝峰原則:monthSalary
區域性變數:首字母小寫和駝峰原則
常量:大寫字母和下劃線:MAX_VALUE
類名:首字母大寫和駝峰原則GoodMan
方法名:首字母小寫和駝峰原則runRun()
運算子
算數運算子:+、 —、 *、 /、 %、 ++、 --
賦值運算子 =
關係運算符>, <, >=, <=, ==, !=, instanceof
邏輯運算子&& 與,||或 ,!非
位運算子:& , | , ^ , >> , << , >>>
條件運算子: ?:
擴充套件賦值運算子:+= ,-= , *= , /=
package operator;
//邏輯運算子
public class Demo05 {
public static void main(String[] args) {
// 與(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b"+(a&&b));//兩個都為真 結果才為true
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);//5
}
}
位運算:
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
位運算:
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
2 * 8 = 16
<< 左移 *2
>> 右移 /2
效率極高。。
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);//16
}
}
字串連線符:
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; //a = a+b
a-=b; //a = a-b
System.out.println(a);
//字串連線符 + ,String
System.out.println(a+b);
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
}
}
三元運算:
package operator;
public class Demo08 {
public static void main(String[] args) {
// x ? y :z
//如果x==true,則結果為y,否則結果為z
int score = 80;
String type = score <60 ?"不及格":"及格";
System.out.println(type);
}
}