java(01)__Java基礎

1.Java基礎

1.1.第一個Java程序

public class Hello 
{
    public static void main(String args[]) 
    {
        System.out.println("Hello, world!");
    }
}

1.其語和C語言類似,這裏注意main函數的參數與C不同,打印語句使用System.out.println,使用+分隔需要打印的內容;
2.在文件命名上,文件名要和文件內的類名保持一致;
3.編譯:javac Hello.java, 會編譯生成一個Hello.class
4.運行java Hello,這句命令實際上是啓動java虛擬機,然後加載Hello.class類並運行。

1.2.數據類型

1.2.1.基本數據類型

Java支持如下的基本數據類型:
java(01)__Java基礎
這裏注意幾點:
1.所有的基本數據類型,定義的時候在棧上分配空間;
2.Char類型佔用兩個字節

1.2.2.引用數據類型

Java的引用數據類型包含:數組、類、接口、null,所有的引用數據類型在定義定義時需要使用new來分配空間(堆空間)。
以數組爲例,使用方法如下;

int a[]=null;
a = new int[10];

int b[]=new int[10];

int c[]={1,2,3,4,5};

1.2.3.數據類型轉換

數據類型的轉換分爲:
自動轉換:
數據不丟失的前提下進行自動轉換,java中×××數據默認爲int,浮點型數據默認爲double;

int a=30;
long b = a;  // 自動轉換,因爲long的表示範圍比int大

float c = 3.1
int d = (int)c; // 必須使用強制轉換

強制轉換:
注意一點:在進行數據運算時,會先將數據當做默認類型進行計算;

byte  b= 1;
short s= 3;
// 編譯器會判斷該值有無超過該變量的表示範圍,如果超過就報錯。

short s = 1;
s = s + 1; // 出錯,因爲對於byte,short的運算,爲了保證精度,會自動轉換爲int類型

s = (short)(s + 1);

1.3.預算符|表達式|語句

和C語言完全一樣:

if, if...else, if...else if...else, switch
while, do...while, for; break, continue

1.4.方法

在java中將函數稱爲方法。

public static 返回值類型   方法名稱 (類型 參數1, 類型 參數2, ...) 
{
    程序語句;
   [return 表達式];

}

public static int add(int x, int y) 
{
     int sum;
     sum = x + y;
     return sum;
}

1.4.1.重載

在java語言中引入了重載的概念:方法名(函數名)相同,參數的類型或個數、或順序不同的兩個或多個函數爲重載關係;
注意:返回值不能作爲重載的依據;

public class Function {
    public static void main(String args[]) {
        System.out.println(add(1,2));
        System.out.println(add(1,2, 3));
        System.out.println(add(1.0f, 2.0f));
    }

    public static int add (int x, int y) {
        return x + y;   
    }

    public static int add (int x, int y, int z) {
        return x + y + z;   
    }

    public static float add (float x, float y) {
        return x + y;   
    }

}

1.4.2.參數傳遞

基本數據類型作爲參數,方法內部對參數的修改不會影響調用者(傳值調用)
引用數據類型作爲參數,方法內部會修改堆空間,結果會被保留下來;

public class Param {
    public static void main(String args[]) {
        int x = 1;
        fun (x);

        int p[] = new int[1];
        p[0] = 123;

        System.out.println("Before fun2: "+p[0]);
        fun2(p);
        System.out.println("After fun2: "+p[0]);

        System.out.println(x);
    }

    public static void fun(int x) {
        x = 100;
    }       

    public static void fun2(int[] p) {
        p[0] = 200;
    }       

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