1. 程式人生 > 其它 >javaSE-01基礎語法

javaSE-01基礎語法

javaSE基礎語法

註釋

java中的註釋有三種:

  • 單行註釋
  • 多行註釋
  • 文件註釋

識別符號

java 所有的組成部分都需要名字。類名,變數名以及方法名都被稱為識別符號

識別符號注意點:

  • 不能使用關鍵字作為變數名或方法名。
  • 識別符號是大小寫敏感
  • 首字元不能是數字

資料型別

  • JAVA是強型別語言

  • 基礎型別:

    int num1 = 10;
    byte num2 = 99;
    short num3 = 3;
    long a =100L;//long型別要在後面加L
    
    //小數:浮點型
    float b =40.3F;//float型別要在後面加L
    double num4 = 3.1421321;
    
    //字元
    char name ='張';
    //字串
    String name1 = "張三";
    
    //布林值:是非
    boolean bool = true;
    
  • 擴充套件:

    //整數擴充套件: 進位制  二進位制 八進位制 十進位制 十六進位制
    int i = 0;
    int i2 = 010;//八進位制0
    int i3 = 0x10;//十六進位制0x 0~9 A~F 16
    
    float f = 0.1f;
    double d = 01;
    System.out.println(f==d);//false
    
    float f1 = 123456789f;
    float f2 =f1+1;
    System.out.println(f1==f2);//ture
    
    //字元擴充套件
    char c1 = 'a';
    char c2 = '中';
    System.out.println((int) c1);//97
    System.out.println((int) c2);//20013
    
    //所有的字元本質還是數字
    //編碼 unicode 表(97=a 65=A) 0 - 65536    2 16 = 65536
    //U0000 UFFFF
    char c3 = '\u0061';
    System.out.println(c3);//a
    
    //轉義字元
    // \t   製表符
    // \n   換行
    
    String sa = new String("你好");
    String sb = new String("你好");
    System.out.println(sa==sb);//false
    
    //布林值擴充套件
    boolean flag = true;
    if (flag==true){};  //新手
    if (flag){};        //老手
    //Less is More! 程式碼要簡潔
    

型別轉換

  • 不能對布林值轉換

  • 不能把物件型別轉換為不相干的型別

  • 在高容器轉換低容器的時候,強制轉換

    int i = 128;
    double b = i;
    System.out.println(i);//128
    System.out.println(b);//128.0
    
    //強制轉換  (型別)變數  高--低
    //自動轉換  低--高
    
    System.out.println((int)23.7);//23
    System.out.println((int)-45.89f);//-45
    
    char c = 'a';
    int d = c+1;
    System.out.println(c);//a
    System.out.println(d);//98
    System.out.println((char) d);//b
    
  • 轉換的時候可能有記憶體溢位或者精度問題!

  • 運算中,不同型別的資料先轉化成同一型別,在計算

    //操作比較大的數的時候,注意溢位問題
    //JDK7新特性可以用_分割
    int money = 10_0000_0000;
    int years = 20;
    int total = money*years;//-1474836480,計算的時候溢位了
    long total2 = money*years;//-1474836480,轉換之前已經出問題了?
    long total23 = money*(long)years;//20000000000
    

變數、常量、作用域

  • 所有變數,方法,類名:見名知意

  • 類成員變數:首字母小寫與駝峰原則:monthSalary 除了第一個單詞,後面單詞首字母大寫lastname lastName

  • 區域性變數:首字母小寫與駝峰原則

  • 常量:大寫字母和下劃線:MAX_VALUE

  • 類名::首字母大寫與駝峰原則:Man,GoodMan

  • 方法名:首字母小寫與駝峰原則:run(),runRun()

    static double salary = 2500;
    //屬性:變數
    String name;
    int age;
    public static void main(String[] args) {
        //區域性變數:必須宣告和初始化值
        int i = 10;
        //變數型別 變數名字 = new Demo08();
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);//null
        System.out.println(demo06.name);//null
        //類變數 static
        System.out.println(salary);
    }
    public void add(){ }
    

基礎運算子

  • 算術運算子:+,-,*,/, %,++,--

    //++ -- 自增,自減 一元運算子
    int a = 3;
    
    int b = a++;//先給b賦值,再自增
    
    System.out.println(a);//4
    
    int c = ++a;//先自增,再賦值
    
    System.out.println(a);//5
    System.out.println(b);//3
    System.out.println(c);//5
    
    //冪運算 2^3 2*2*2
    double pow = Math.pow(2,3);
    System.out.println(pow);//8.0
    
  • 關係運算符:>,<, >=,<=,==,!=instanceof

    //關係運算符返回的結果:正確,錯誤 布林值
    int a = 10;
    int b = 20;
    int c = 21;
    
    //取餘數
    System.out.println(c%a);//c/a 21/10=2...1
    
    System.out.println(a>b);//false
    System.out.println(a<b);//true
    System.out.println(a==b);//false
    System.out.println(a!=b);//true
    
  • 邏輯運算子:&&,||,!

    //與(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++<5);
    System.out.println(d);//false
    System.out.println(c);//5
    
  • 位運算子號:& ,| , ~,<<,>>,>>>

    /*
    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*2*2
    <<  *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(100>>1);//50
    System.out.println(100>>2);//25
    
  • 條件運算子:? :

    //x ? y : z
    //如果x==true,則結果為y,否則結果為z
    int score =80;
    String type = score < 60?"不及格":"及格";
    System.out.println(type);//及格
    
  • 擴充套件賦值運算子:+=,-+,*=,/=

    int a =10;
    int b =20;
    
    a+=b;//a=a+b
    a-=b;//a=a-b
    
    //字串連線符    +
    System.out.println(""+a+b);//1020
    System.out.println(a+b+"");//30
    

包機制

包語法:
package pkg1[.pkg2[.pkg3...]];
匯入包語法:
import pkg1[.pkg2...].(classname|*);

JavaDOC

  • 例項程式碼:

    /**
     * @author DouGuiTuKo
     * @version 1.0
     * @since 1.8
     */
    public class Doc {
        String name;
    
        /**
         * 
         * @param name
         * @return
         * @throws Exception
         */
        public  String test(String name) throws Exception{
            return name;
        }
    }
    
  • javadoc常用標識

    @author 作者
    @version 版本號
    @param 引數名 描述 方法的入參名及描述資訊,如入參有特別要求,可在此註釋。
    @return 描述 對函式返回值的註釋
    @deprecated 過期文字 標識隨著程式版本的提升,當前API已經過期,僅為了保證相容性依然存在,以此告之開發者不應再用這個API。
    @throws異常類名 建構函式或方法所會丟擲的異常。

  • 使用控制檯生產javadoc

    • 開啟cmd
    • javadoc +檔名.java。
  • 使用idea生成javadoc

    • 工具 > 生成javadoc