1. 程式人生 > 其它 >Java從入門到入墳(二) —— 變數、常量與運算子

Java從入門到入墳(二) —— 變數、常量與運算子

變數

變數就是可以變化的量

由於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);
    }
}