1. 程式人生 > 其它 >第二天 Java基礎

第二天 Java基礎

第二天 JAVA基礎

變數

在程式執行中值可以變化的量;

型別 變數名;

變數的作用域

package com.zhang.Base;

// Demo05類名
public class Demo05 {
/*
 *   變數按照作用域來分有三種:
 *   類變數 例項變數 區域性變數
 *                          */
    //類變數 static
    static double salary = 3000; //整個類中可使用
    static String name = "Jinx";
/*=======================================================*/
    //例項變數
    /*除了區域性變數初始化時必須賦值,類變數和例項變數不初始化值會使用預設值
    * 實型變數  0
    * 浮點型變數 0.0
    * 布林型   false
    * 字元型實際上也是數字 /u0000 0
    * 字串是引用型別變數,不是基礎變數,除了基礎變數,其他預設值都是”null“*/
    char gender = '男';
    String address;// = "秀川";
    // main 方法名
    public static void main(String[] args) {
        System.out.println(salary);//類變數
        System.out.println(name);
        name = "Yi"; //重新給類變數賦值
        System.out.println(name);
        System.out.println("========================================");
/*===============================================================================================*/
        Demo05 d5 = new Demo05();// 例項變數
        System.out.println(d5.address);
        System.out.println(d5.gender);
        System.out.println("========================================");
/*=======================================================*/
        int i = 5; //區域性變數 只能在此方法中使用
        System.out.println(i);
    }
    // 方法名add
    public static void add(){
//        System.out.println(i); 不能使用
    }
}

常量

常量可以理解為特殊的變數,在程式執行過程中值不可變

final 型別 常量名;

package com.zhang.Base;

public class Demo06 {
    //常量:初始化之後不能再改變值
    //常量名一般用大寫
    final double PI = 3.1415926;
    // 修飾符前後順序可變
    final static long NUM = 12345678910L;
    static final float G = 9.8F;

    public static void main(String[] args) {
        Demo06 d6 = new Demo06();
        System.out.println(d6.PI);
        System.out.println(G);
        System.out.println(NUM);
    }
}

強制型別轉換

運算中,不同型別的資料先轉換為同一型別,再運算。

小數優先順序高於整數

注意:

  • 不能對布林值進行轉換
  • 不能把物件型別轉換為不相干的型別
  • 轉換的時候可能會存在記憶體溢位或者精度問題
  • 操作大數的時候注意精度問題
package com.zhang.Base;

public class Demo03 {
    public static void main(String[] args) {
        //強制型別轉換 高--->低
        int i = 128;
        byte i2 = (byte)i; // 強制轉換 (型別)變數名
        System.out.println(i);
        System.out.println(i2);
        System.out.println("================================");
        //自動型別轉換  低--->高
        char c = 'A';
        int b = c+1; //自動轉換
        System.out.println(b);
        System.out.println((char) b); //強制轉換
    }
}
package com.zhang.Base;

public class Demo04 {
    public static void main(String[] args) {
        //jdk7新特性 數字之間可以加入“_”
        int money = 100_000_000_0;
        int year = 20;
        int total = money*year; //記憶體溢位
        long total2 = money*year;
        /*先以本身的int型別計算,然後把值賦給total2,
        *計算的時候已經溢位了,在賦值之前就已經有問題了*/
        long total3 = (long)money*year;
        /*在計算的時候就強制型別轉換,可以解決此問題
        *運算中,不同型別的資料先轉換為同一型別,再運算。*/
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}

運算子

package com.zhang.Operator;

public class Demo01 {
    public static void main(String[] args) {
        int i=10;
        byte i2=15;
        short i3=20;
        long i4=50L;
        System.out.println(i+i2+i3+i4);//計算機結果為long型
        System.out.println(i+i2+i3);//int型 只要有lang為long型,無lang都為int型。
        System.out.println(i+i2);//int型 浮點數優先順序更高
        System.out.println("========================================");
        //=========================================
        int a = 5;
        int b,c;
        b=a++; //使用之後自增一
        System.out.println(a);
        c=++a;//使用之前自增一
        System.out.println(b);
        System.out.println(c);
        //冪運算 Math類
        double m = Math.pow(2,4);
        System.out.println(m);
        System.out.println(a>m);
        System.out.println(a==c);
    }
}

三目運算子

package com.zhang.Operator;

public class Demo02 {
    public static void main(String[] args) {
        System.out.println(2<<3);//位運算
        int score = 60;
        String type=score>=60?"及格":"不及格";//三元運算子
        System.out.println(type);
    }
}

包機制

包的本質就是資料夾

package com.zhang.pkg; // 必須寫在第一行
// 匯入一個包
import java.util.Date;
//可以使用萬用字元
import com.zhang.Operator.*;

public class Pkg {
    public static void main(String[] args) {
//        Date
    }
}

JavaDoc

寫在類上面就是類註釋,寫在方法上面就是方法的註釋

package com.zhang.Base;

/**
 * @author  zhang
 * @version v1.0
 * @since jdk-1.8
 */
public class JDoc {
    String name; //屬性

    /**
     *
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}

用IDEA生成JavaDoc


用命令列生成JavaDoc


報錯

java: 錯誤: 無效的源發行版:16
兩處JDK版本不一致