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支持如下的基本數據類型:
這裏注意幾點:
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;
}
}