1. 程式人生 > 其它 >程式設計日記:Java學習之路(二)

程式設計日記:Java學習之路(二)

2.Java的基本概念

2.1 包

包的作用是用於分類:Java中的包把不同功能模組的class檔案組織起來,便於管理,使用package關鍵字定義類所屬的包。

package p1;
public class First{...}

必須是Java檔案中的第一行程式碼,寫在程式碼的最前端。

在執行時要保證每個class檔案都處於正確的包中,解釋執行命令後要使用類的完全限定名如:

java p1.First

完全限定名=包名.類名

那麼java.p1.First命令做了那些事呢?

(1)啟動Java虛擬機器

(2)到環境變數CLASSPATH中找到p1資料夾

(3)在p1資料夾中找到First.class檔案

(4)驗證First類是否屬於p1包

(5)解釋執行

在包中還可以包含子包如:

package p1.p2.p3.p4.p5;
public class First{...}

編譯後的First.class應該被放在p5資料夾下

編譯時使用-d引數可以自動把編譯後的class檔案放到正確的位置上:

javac –d.First.java

執行時同樣要使用類的完全限定名:

java p1.p2.p3.p4.p5.First

在實際開發時,每個類都要有包

引入包前:

java.util.Date d1;
java.util.Date d2;
java.util.Date d3;
java.util.Date d4;
java.util.Date d4;

引入包後:

import java.util.Date;
Date d1;
Date d2;
Date d3;
Date d4;
Date d5;

包的引入:

一個類使用其他包中的類時,需要使用完全限定名,也可以使用import語句引入一個類或者一個包中的所有類,這樣就可以直接使用類名代替完全限定名

import 完全限定名;

import 包名.*;

java.lang包是Java的核心包,編譯器會自動引入,像String,System等類都是在lang包中。

Java檔案的基本結構:

package 包,必須是程式碼的第一行

import 引入包,可以引入很多個

class 類,可以寫多個,但是公開類最多寫一個

2.2 註釋:

註釋是程式碼的描述,是用來寫給程式設計師看的,註釋可以用來提高程式碼的可讀性,是判斷程式碼好壞的重要標準。

註釋的分類和寫法:

單行註釋 單行內有效 從//開始到換行結束
多行註釋 可以寫多行 從/*開始到*/結束
文件註釋 可以寫多行 從/**開始到*/結束

Javadoc工具可以抽取java檔案中的文件註釋,可以在不暴露原始碼的情況下讓別人看到註釋中的文字;使用方法為:javadoc –d doc FIrst.java

2.3 識別符號:

給程式中的某個部分起的名字,例如:包名,類名,函式名,常量名,變數名

語法要求:

(1)由字母,數字,$,_組成,數字不能開頭

(2)大小寫敏感

(3)不能使用java關鍵字和保留字

儘可能望文生義

命名習慣:

(1)包名:全小寫

(2)類名:所有單詞首字母大寫

(3)變數名和函式名:首單詞小寫,其他單詞首字母大寫

(4)常量名:全大寫

2.4 變數:

一個變數就代表記憶體中的一塊空間,用來儲存資料,變數就是容納資料的容器

在java中變數必須先定義後使用,定義變數就是在開闢一塊記憶體空間

定義變數:變數型別 變數名;如int a;就是定義了一個整形變數a

使用變數的操作分別為賦值和取值,賦值是向這塊記憶體空間中儲存資料,取值是從這塊記憶體空間中取出資料

int a = 10;//定義變數賦值
System.out.println(a);//取值

Java是強型別語言,也就是說Java的資料型別和儲存資料的變數的型別必須一致。

區域性變數:在函式中定義的變數都是區域性變數。

區域性變數的特點:

必須先賦值,後使用,作用範圍是從定義開始到所在的語句塊結束,在重合的作用範圍內不能有重名的區域性變數

2.5 資料型別

Java中的變數按照其資料型別可以分為兩大類:

(1)基本型別:簡單型別 原始型別

(2)引用型別:物件型別

其中基本型別分為:整形(byte,short,int,long),浮點型(float,double),字元型(char),布林型(boolean)。

字串型別:java.lang.String

(1)引用型別比較特殊

(2)引用型別中為數不多哦的有字面值的型別

(3)使用雙引號表示的一串字元,可以包含轉義符

(4)可以進行加法運算,字串拼接

哥德巴赫猜想:任何一個大於4的偶數都能被拆成兩個質數的和

import java.util.Scanner;
public class Java_day01_01 {
    public static void Gdbhcx(int num) {
        int num1=0,num2=0;
        int a=0,b=0;
        if(num<4){
            return;
        }
        for(int i = 2;i<=num;i++) {
            if (i % 2 == 0) {
                continue;
            }
            num1 = num - i;
            num2 = i;
            a = isPrime(num1);
            b = isPrime(num2);
            if (a+b==0){
                System.out.println(num1);
                System.out.println(num2);
                return;
            }
        }
    }
    public static int isPrime(int n){
        int m = 0,a=0,b=0;
        for (int i = 2; i < n ; i++) {
            if(n % i==0)
                m++;
        }
        if (m == 0)
            a=0;
        else
            a++;
        return a;
    }

    public static void main (String[] args){
        System.out.println("請輸入一個大於4的偶數:");
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        Gdbhcx(i);
    }
}