JAVA基礎語法(一)

輕狂書生han發表於2021-04-10

什麼是IDE(整合開發環境,例如:Eclipse,IDEA)

  • IDEA介紹
  • IDEA官網:https://www.jetbrains.com
    image
  • psvm(public static void main(String[] args))
  • sout(輸出快捷鍵)

Java基礎語法


註釋

image
image

  • 平時我們編寫程式碼,在程式碼量比較少的時候每門還可以看懂自己寫的,但是當專案結構一旦複雜起來罵我們就需要用到註釋了

  • 知識並不會被執行,是給我們寫程式碼的人看的.

  • 書寫註釋是一個非常好的習慣。

  • 平時寫程式碼一定要注意規範。

  • Java中註釋有三種

    • 單行註釋 // 可以註釋一行文字
    • 多行註釋 /* */可以註釋一段文字
    • 文件註釋/** */

1.原先我還知道我在寫什麼,但是現在,只有上帝知道了。
這條註釋是優秀數學家Karl Weierstrass寫的。我唯一想問的是,他前後指的是不是同一個數學難題。如果是,那又是為什麼,我真的非常想知道。
2.謹將我的所有程式碼所有工作獻給我的妻子Darlene,因為她養育了我和我們的三個孩子,以及會一條人來瘋的狗。
3.等我喝醉了再來修復。
4.此處有危險,快撤退。
5.這程式碼很爛,我不說你也知道了。如果你能搞定它,那叫我傻瓜我也應。
6.程式碼有問題別找我!雖然是我寫的,但是它們自己長歪了。
7.0不能做除數,沒辦法我只好用一個非常相近的數值代替:0=0.00000000000001
8.如果你看到這個,那麼說明你現在已經在負責我以前的專案了。我感到非常抱歉。願上帝保佑你。
9.如果這些程式碼有用,那它們是Paul DiLascia寫的,如果沒用,那我就不知道是誰寫的了。


識別符號

  • 關鍵字
    image

  • 所有的識別符號都應該以字母(AZ或小寫az),美元符號($),或者下劃線(_)開始

  • 首字元之後可以是字母,美元符,下劃線或者是數字組合

  • 不能使用關鍵子作為變數名或者方法名

  • 識別符號是大小寫敏感的

  • 合法的識別符號舉例:age,¥salary,_value ,_1_value

  • 非法的識別符號 :123abd,-salary,#abc

  • 可以使用中文命名,但是一般不這樣,也不建議使用拼音很low


資料型別

  • 強資料型別
    • 要求變數的使用要嚴格符合規定,所有變數都必須先定義後,帶能使用
  • 弱型別語言
    -Java的資料型別分為兩大類
    • 基本型別(primitive type)
    • 引用型別(reference type)
      image

變數

  • 變數是什麼:就是可以變化的量
  • Java是一種強型別語言,每個變數都必須宣告其型別
  • Java變數是程式中最基本的儲存單元,其要素包括變數名,便倆個型別和作用域
    image
  • 注意事項
    • 每個變數都有型別,可以是基本型別,也可以是引用型別
    • 邊框名必須是合法分識別符號
    • 變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束。
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;//long型別要在數字湖面加L

        //小數
        float num5 = 50.1F;
        double num6 = 3.141592653;


        //字元
        char name1 = 'A';
        //字串,String不是關鍵字,是類
        String name2 = "韓鎖";

        //布林值
        boolean flag = true;
        //boolean flag = false;

什麼是位元組

  • 位(bit):是計算機內部資料儲存的最小單位,11001100是一個八位二進位制數。

  • 位元組(byte):是計算機中資料處理的最小單位,習慣上用大寫B來表示。

  • 1B(byte,位元組) = 8bit(位)

  • 字元:是指計算機中使用的字母,數字和符號

  • 1bit表示一位,

  • 1Byte表示一個位元組 1B=8b

  • 1024B = 1KB

  • 1024KB = 1M

  • 1024M = 1G


public class demo03 {
    public static void main(String[] args) {
        //進位制
        int i = 10;
        int i2 = 010;//八進位制 0
        int i3 = 0x10;//十六進位制 0x 0~9 A~F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("========================");
        //===============================================
        //浮點數擴充? 銀行業務怎麼表示?錢
        //BigDecimal   數學工具類
        //===============================================
        //float     有限  離散  舍入誤差   大約   接近但不等於
        //double
        //最好完全使用浮點數進行比較
        //最好完全使用浮點數進行比較
        //最好完全使用浮點數進行比較

        float f = 0.1f; //0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);//false
        float d1 = 23132131f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);


        //===================================================
        //字元擴充
        //===================================================
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//強轉

        System.out.println(c2);
        System.out.println((int)c2);//強轉

        //所有的字元本質還是數字
        //編碼問題 Unicode 2位元組  0-65536 Excel 2*16 = 65536
        //表 97 = a 65 = A

        //U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);

        //轉義字元
        //\t製表符
        //\n換行符
        System.out.println("Hello\tWorld");
        //==================================================
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//f

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);//t
        //物件  從記憶體分析

        //布林值擴充套件
        boolean flag = true;
        if (flag==true);//新手
        if (flag){}//老手
        //Less is More! 程式碼要精簡易讀
    }
}

型別轉換

  • Java是強型別語言,所以在進行有些運算的時候,需要用到型別轉換
低 --------------------------------->高

byte,short,char->int->long->float->double
  • 運算中,不同型別的書籍先轉化為同一型別,但後進行運算
  • 強制型別轉換
//強制轉換  (型別)變數名
public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//記憶體溢位
        System.out.println(i);
        System.out.println(b);
    }

image

  • 記憶體溢位問題 byte就到127

  • 自動型別轉換

public static void main(String[] args) {
        int i = 128;
        double b = i;
        System.out.println(i);
        System.out.println(b);
}

image

 /*
        *注意點:
        * 1.不能對bool值進行轉換
        * 2.不能把物件型別轉換為不相干的型別,
        * 3.再把高容量轉換為低容量的額時候,強制轉換
        * 4.轉換的時候可能存在記憶體溢位,或者精度問題
        *
        */
        System.out.println("============================");
        System.out.println((int)23.7);
        System.out.println((int)-45.66f);

image

	char c = 'a';
        int d = c+1;
        System.out.println(d);
	System.out.println((char)d);

image

public static void main(String[] args) {
        //操作比較大的數的時候,注意溢位問題
        //jdk7新特性,數字之間可以用下劃線分割
        int money = 10_0000_0000;
        System.out.println(money);
        int years = 20;
        int total = money*years;//-1474836480,計算的時候溢位了
        long total2 = money*years;//預設是int,轉換之前已經存在問題
        long total3 = money*((long)years);//先把一個數轉換為long
        System.out.println(total3);

        //L   l   在使用中用L(大寫)
}

變數

  • 變數是什麼:就是可以變化的量;
  • Java是一種強型別語言,每個變數都必須宣告其型別。
  • Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域。
type varName [=value] [{,vaeName[=value]}];
//資料型別  變數名 = 值;可以使用都喊隔開來宣告多個同型別變數。
  • 注意事項:
    • 每個變數都有型別,型別可以是基本型別,也可以是引用型別
    • 變數名必須是合法的識別符號
    • 變數宣告是一條完整的語句,因此每一個宣告都必須以分號結束

變數作用域

  • 類變數
  • 例項變數
  • 區域性變數
    image
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);

        //變數型別  變數名字 == new Demo08();
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);
        System.out.println(demo08.name);

        //類變數 static
        System.out.println(salary);
    }

    //其他方法
    public  void add(){

    }
}


常量

  • 常量(Constant):初始化(initiallize)後不能再改變值!不會變動的值。
  • 所謂常量可以理解成一種特殊的變數,他的值被設定後,在程式執行的過程中不允許被改變
final 常量名 = 值;
final 都變了 PI = 3.14;
- 常量名一般使用大寫字元。

變數的命名規範

  • 所有變數,方法,類名:見命知意
  • 類成員變數:首字母小寫和駝峰原則:monthSa lastNamelary,除了第一個單詞以外,後面的單詞首字母大寫 lastName
  • 區域性變數:首字母小寫和駝峰原則
  • 常量:大寫字母和下劃線:MAX_VALUE
  • 類名:首字母大寫和駝峰原則:Man,GoodMan
  • 方法名:首字母小寫和駝峰規:run(),runRun()

運算子

  • Java語言支援如下運算子
    image

相關文章