JAVA基礎學習——基本常識

一下大多數內容來自尚學堂:www.sxt.cn 只是供自己學習,留做筆記,侵刪。

DAY one

常用的dos命令

操作名稱 操作含義
md 創建目錄
dir 列出當前目錄下的文件以及文件夾
cd 刪除目錄
cd… 退回到上一級目錄
cd\ 退回到根目錄
del 刪除文件
echo 創建文件,如echo haha>1.txt

注:
1.如果del後面接的是目錄名,則表示刪除目錄下的所有文件。

知識點

1.Java語言的特點:跨平臺性,通過JVM來實現。
2.JRE 包括java虛擬機和java程序所需的核心類庫等,想開發一個java程序,安裝一個JRE即可。
3.JDK是給Java開發人員使用的,其中包含了Java的開發工具,也包含了JRE。編譯工具Java.exe,打包工具jar.exe等。
4.java環境參數的配置(之前配置過了)
(因爲一些原因,換了一個系列的視頻用於學習)
————————分割線———————————————

數據類型
基本數據類型 數值型 整數類型byte short int long 分別佔1 2 3 4 字節
數值型 浮點型 double float
字符型 char兩個字節
布爾型 boolean 佔一位
引用數據類型 類class
四個字節 接口interface
數組
java語言整型的四種表現形式
十進制 99、56
八進制 以0開頭 015
十六進制 要求0x或0X開頭 0x11001
二進制 要求0b或0B開頭 0b10110011

注:
1.長整型常數在數字後要寫一個大寫的L。
2.float x=3.14F;
3.double x=3.14或double x=3.14D;
4.double x=314E-2;
5.浮點型是不精確的,一定不要用於比較,如果要用比較的話要使用BigDecimal。但是同類型之間好像是可以的,自己試了一下兩個數據類型都是double,然後可以相比較。
6. ‘a’+‘b’輸出結果爲195,但如果寫成 “”+‘a’+‘b’就輸出ab,""+‘a’+’\n’+‘b’表示a和b輸出的時候換行。""+‘a’+’\t’+'b’表示輸出爲a b。
7.java裏面0和1不能代表false和true。

DAY two

圖片來自尚學堂

1.運算符分類

圖片來源:尚學堂

2.優先級

在這裏插入圖片描述

3.

if語句 switch語句 循環語句for while do-while 和c++的寫法一樣,這裏不多贅述。

4.一些基本寫法

package luogu;
import java.io.*;
import java.util.*;//用於輸入
import java.math.*;//BigDecimal要用到
public class Demon1421 {
	public static void main(String[] args) throws Exception{
		Scanner cin=new Scanner(System.in);//用到了io流
		int a=cin.nextInt();int b=cin.nextInt();//整數輸入的寫法
		String s=cin.nextLine();//字符串要用nextLing輸入,並且String的s要大寫
		int c=a*10+b;
		int d=c/19;
		double f=3.14;
		double g;
		g=(314.0/100);
		BigDecimal x=new BigDecimal(f);
		BigDecimal xx=new BigDecimal(g);
		System.out.println(x.equals(xx));
		if(f==g) System.out.println(true);
		else System.out.println(false);
		System.out.println(f==g);
		System.out.println(g);
		System.out.println(f);
		System.out.println(d);
	}
}

5.outer 語句的用法

package 基礎語法;

public class Demon1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		outer: for(int i=101;i<150;++i) {
			for(int j=2;j<i/2;++j) {
				if(i%j==0) continue outer;
			}
			System.out.println(i+" ");
		}
	}

}

6.語句塊

相當於一個過程,裏面的變量都爲局部變量,不能定義主程序中出現過的重複的變量。該過程進行後就不會再次進行,也就是不能反覆調用。

7.方法

方法就是一段用來完成特定功能的代碼片段,類似於其它語言的函數。

方法用於定義該類或該類的實例的行爲特徵和功能實現。 方法是類和對象行爲特徵的抽象。方法很類似於面向過程中的函數。面向過程中,函數是最基本單位,整個程序由一個個函數調用組成。面向對象中,整個程序的基本單位是類,方法是從屬於類和對象的。

public class Test20 {
    /** main方法:程序的入口 */
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 20;
        //調用求和的方法:將num1與num2的值傳給add方法中的n1與n2
        // 求完和後將結果返回,用sum接收結果
        int sum = add(num1, num2);
        System.out.println("sum = " + sum);//輸出:sum = 30
        //調用打印的方法:該方法沒有返回值
        print();
    }
    /** 求和的方法 */
    public static int add(int n1, int n2) {
        int sum = n1 + n2;
        return sum;//使用return返回計算的結果
    }
    /** 打印的方法 */
    public static void print() {
        System.out.println("北京尚學堂...");
    }
}

8.方法的重載

重載的方法,實際是完全不同的方法,只是名稱相同而已!

  構成方法重載的條件:
  1.不同的含義:形參類型、形參個數、形參順序不同
  2.只有返回值不同不構成方法的重載
  3.只有形參的名稱不同,不構成方法的重載
public class Test21 {
    public static void main(String[] args) {
        System.out.println(add(3, 5));// 8
        System.out.println(add(3, 5, 10));// 18
        System.out.println(add(3.0, 5));// 8.0
        System.out.println(add(3, 5.0));// 8.0
        // 我們已經見過的方法的重載
        System.out.println();// 0個參數
        System.out.println(1);// 參數是1個int
        System.out.println(3.0);// 參數是1個double
    }
    /** 求和的方法 */
    public static int add(int n1, int n2) {
        int sum = n1 + n2;
        return sum;
    }
    // 方法名相同,參數個數不同,構成重載
    public static int add(int n1, int n2, int n3) {
        int sum = n1 + n2 + n3;
        return sum;
    }
    // 方法名相同,參數類型不同,構成重載
    public static double add(double n1, int n2) {
        double sum = n1 + n2;
        return sum;
    }
    // 方法名相同,參數順序不同,構成重載
    public static double add(int n1, double n2) {
        double sum = n1 + n2;
        return sum;
    }
    //編譯錯誤:只有返回值不同,不構成方法的重載
    public static double add(int n1, int n2) {
        double sum = n1 + n2;
        return sum;
    }
    //編譯錯誤:只有參數名稱不同,不構成方法的重載
    public static int add(int n2, int n1) {
        double sum = n1 + n2;         
        return sum;
    }  
}

9.遞歸

public class Test22 {
    public static void main(String[] args) {
        long d1 = System.currentTimeMillis();  
        //學到一個新的函數currentTimeMills,應該是類似時間鐘的函數,記錄所用時間
        System.out.printf("%d階乘的結果:%s%n", 10, factorial(10));
        long d2 = System.currentTimeMillis();
        System.out.printf("遞歸費時:%s%n", d2-d1);  //耗時:32ms
    }
    /** 求階乘的方法*/
    static long  factorial(int n){
        if(n==1){//遞歸頭
            return 1;
        }else{//遞歸體
            return n*factorial(n-1);//n! = n * (n-1)!
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章