Java基礎(chǔ)教程之Hello World到面向?qū)ο?/h1>
更新時間:2014年08月31日 15:53:42 投稿:junjie
這篇文章主要介紹了Java基礎(chǔ)教程之Hello World,Java入門教程,講解了Java中的必備語法、編譯與運行知識、數(shù)據(jù)類型等,需要的朋友可以參考下
Java是完全面向?qū)ο蟮恼Z言。Java通過虛擬機的運行機制,實現(xiàn)“跨平臺”的理念。我在這里想要呈現(xiàn)一個適合初學(xué)者的教程,希望對大家有用。
"Hello World!"
先來看一個HelloWorld.java程序。這個程序在屏幕上打印出一串字符"Hello World!":
復(fù)制代碼 代碼如下:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
程序中包括Java的一些基本特征:
1.類(class):上面程序定義了一個類HelloWorld,該類的名字與.java文件的名字相同。
2.方法(method):類的內(nèi)部定義了該類的一個方法main。
3.語句(statement):真正的“打印”功能由一個語句實現(xiàn),即: System.out.println("Hello World!");
下面兩點有關(guān)Java的書寫方式:
1.Java中的語句要以;結(jié)尾 (與C/C++相同)。
2.用花括號{}來整合語句,形成程序塊。通過程序塊,我們可以知道程序的不同部分的范圍,比如類從哪里開始,到哪里結(jié)束。
編譯與運行
Java程序要經(jīng)過編譯器編譯才能執(zhí)行。在Linux或Mac下,可以下載安裝Java JDK。
使用javac來編譯。在命令行中輸入下面語句編譯:
復(fù)制代碼 代碼如下:
$javac HelloWorld.java
當(dāng)前路徑下,將有一個名為HelloWorld.class的文件生成。
使用java命令來運行。Java會搜尋該類中的main方法,并執(zhí)行。
復(fù)制代碼 代碼如下:
$java HelloWorld
變量
計算機語言通常需要在內(nèi)存中存放數(shù)據(jù),比如C語言中的變量,Java也有類似的變量。Java和C語言都是靜態(tài)類型的語言。在使用變量之前,要聲明變量的類型。
變量(variable)占據(jù)一定的內(nèi)存空間。不同類型的變量占據(jù)不同的大小。Java中的變量類型如下:
復(fù)制代碼 代碼如下:
名稱 存儲大小 例值 注釋
byte 1byte 3 字節(jié)
int 4bytes 3 整數(shù)
short 2bytes 3 短整數(shù)
long 8bytes 3 長整數(shù)
float 4bytes 1.2 單精度浮點數(shù)
double 8bytes 1.2 雙精度浮點數(shù)
char 2bytes 'a' 字符
boolean 1bit true 布爾值
在Java中,變量需要先聲明(declare)才能使用。在聲明中,我說明變量的類型,賦予變量以特別名字,以便在后面的程序中調(diào)用它。你可以在程序中的任意位置聲明變量。
比如:
復(fù)制代碼 代碼如下:
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
int a;
a = 5;
System.out.println(a); // print an integer
}
}
上面a是變量名??梢栽诼暶髯兞康耐瑫r,給變量賦值,比如 int a = 5;
*** “變量”的概念實際上來自于面向過程的編程語言。在Java中,所謂的變量實際上是“基本類型” (premitive type)。我們將在類的講解中更多深入。
上面的程序還可以看到,Java中,可用//引領(lǐng)注釋。
數(shù)組
Java中有數(shù)組(array)。數(shù)組包含相同類型的多個數(shù)據(jù)。我用下面方法來聲明一個整數(shù)數(shù)組:
復(fù)制代碼 代碼如下:
int[] a;
在聲明數(shù)組時,數(shù)組所需的空間并沒有真正分配給數(shù)組。我可以在聲明的同時,用new來創(chuàng)建數(shù)組所需空間:
復(fù)制代碼 代碼如下:
int[] a = new int[100];
這里創(chuàng)建了可以容納100個整數(shù)的數(shù)組。相應(yīng)的內(nèi)存分配也完成了。
我還可以在聲明的同時,給數(shù)組賦值。數(shù)組的大小也同時確定。
復(fù)制代碼 代碼如下:
int[] a = new int[] {1, 3, 5, 7, 9};
使用int[i]來調(diào)用數(shù)組的i下標(biāo)元素。i從0開始。
其他類型的數(shù)組與整數(shù)數(shù)組相似。
表達(dá)式
表達(dá)式是變量、常量和運算符的組合,它表示一個數(shù)據(jù)。1 + 1是常見的表達(dá)式。再比如:
復(fù)制代碼 代碼如下:
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
int a;
a = 5 + 1;
System.out.println(a); // print an integer
}
}
上面的5 + 1也是一個表達(dá)式,等于6。
數(shù)學(xué)表達(dá)式
數(shù)學(xué)運算,結(jié)果為一個數(shù)值
復(fù)制代碼 代碼如下:
1 + 2 加法
4 - 3.4 減法
7 * 1.5 乘法
3.5 / 7 除法
7 % 2 求余數(shù)
關(guān)系表達(dá)式
判斷表達(dá)式是否成立。即一個boolean值,真假
復(fù)制代碼 代碼如下:
a > 4.2 大于
3.4 >= b 大于等于
1.5 < 9 小于
6 <= 1 小于等于
2 == 2 等于
2 != 2 不等于
布爾表達(dá)式
兩個boolean值的與、或、非的邏輯關(guān)系
復(fù)制代碼 代碼如下:
true && false and
(3 > 1) || (2 == 1) or
!true not
位運算
對整數(shù)的二進(jìn)制形式逐位進(jìn)行邏輯運算,得到一個整數(shù)
復(fù)制代碼 代碼如下:
& and
| or
^ xor
~ not
5 << 3 0b101 left shift 3 bits
6 >> 1 0b110 right shift 1 bit
還有下列在C中常見的運算符,我會在用到的時候進(jìn)一步解釋:
復(fù)制代碼 代碼如下:
m++ 變量m加1
n-- 變量n減1
condition ? x1 : x2 condition為一個boolean值。根據(jù)condition,取x1或x2的值
控制結(jié)構(gòu)
Java中控制結(jié)構(gòu)(control flow)的語法與C類似。它們都使用{}來表達(dá)隸屬關(guān)系。
選擇 (if)
復(fù)制代碼 代碼如下:
if (conditon1) {
statements;
...
}
else if (condition2) {
statements;
...
}
else {
statements;
...
}
上面的condition是一個表示真假值的表達(dá)式。statements;是語句。
練習(xí) 寫一個Java程序,判斷2013年是否是閏年。
循環(huán) (while)
復(fù)制代碼 代碼如下:
while (condition) {
statements;
}
循環(huán) (do... while)
復(fù)制代碼 代碼如下:
do {
statements;
} while(condition); // 注意結(jié)尾的;
循環(huán) (for)
復(fù)制代碼 代碼如下:
for (initial; condition; update) {
statements;
}
跳過或跳出循環(huán)
在循環(huán)中,可以使用
復(fù)制代碼 代碼如下:
break; // 跳出循環(huán)
continue; // 直接進(jìn)入下一環(huán)
練習(xí) 寫一個Java程序,計算從1加2,加3…… 一直加到999的總和
選擇 (switch)
復(fù)制代碼 代碼如下:
switch(expression) {
case 1:
statements;
break;
case 2:
statements;
break;
...
default:
statements;
break;
}
面向?qū)ο?/strong>
“對象”是計算機抽象世界的一種方式?!懊嫦?qū)ο蟆笨梢杂煤芏喾绞奖磉_(dá)。下面是一種并不精確,但比較直觀的理解方式:
1.世界上的每一個事物都可以稱為一個對象(object),比如張三。對象有身份(Identity),狀態(tài)(State)和行為(Behavior)。
2.對象的狀態(tài)由數(shù)據(jù)成員(data member)表示。數(shù)據(jù)成員又被稱作域(field)。我們用其他對象作為該對象的數(shù)據(jù)成員。比如一個表示身高的整數(shù),比如一個鼻子。
3.對象的行為由成員方法(member method)表示。我們簡稱為方法(method)。一個對象可以有多個方法,比如呼吸,睡覺。
4.對象可以歸類(class),或者說歸為同一類型(type)。同一類型的對象有相同的方法,有同類型的數(shù)據(jù)成員。某個類型的一個對象被稱為該類型的一個實例(instance)。

類與對象
定義類的語法:
復(fù)制代碼 代碼如下:
class ClassName
{
member1;
member2;
...
}
我們定義一個human類:
復(fù)制代碼 代碼如下:
class Human
{
void breath()
{
System.out.println("hu...hu...");
}
int height;
}
在{}范圍內(nèi),Human類有兩個成員: 一個數(shù)據(jù)成員height,一個方法breath()。
1.數(shù)據(jù)成員height是整數(shù)類型,可以用于存儲一個整數(shù)。
2.方法代表了對象所能進(jìn)行的動作,也就是計算機所能進(jìn)行的操作。方法可以接受參數(shù),并能返回值。在breath()的定義中,breath后面的()中為參數(shù)列表。由于參數(shù)列表為空,所以breath()不接受參數(shù)。在breath()之前的void為返回值的類型,說明breath不返回值。
(方法與面向過程語言中的函數(shù)類似)
現(xiàn)在,我們創(chuàng)建對象aPerson,并調(diào)用對象的方法breath:
復(fù)制代碼 代碼如下:
public class Test
{
public static void main(String[] args)
{
Human aPerson = new Human();
aPerson.breath();
System.out.println(aPerson.height);
}
}
class Human
{
void breath()
{
System.out.println("hu...hu...");
}
int height;
}
在main方法中,使用new關(guān)鍵字創(chuàng)建對象。即使是來自同一個類的對象,各個對象占據(jù)的內(nèi)存也不相同,即對象的身份也不同。
Human aPerson聲明了aPerson對象屬于Human類,即說明了對象的類型。
對象建立后,我們可以用 對象.數(shù)據(jù)成員 來引用數(shù)據(jù)成員,使用 對象.方法() 的方式來調(diào)用方法。正如我們在后面打印aPerson.height。
總結(jié)
Java的許多語法形式與C/C++類似,但在細(xì)節(jié)和具體實現(xiàn)上又有差別,需要小心。
對象,類
對象: 方法,域(數(shù)據(jù)成員)
Java是完全面向?qū)ο蟮恼Z言。
相關(guān)文章
-
在啟動后臺 jar包時,使用指定的 application.yml操作
這篇文章主要介紹了在啟動后臺 jar包時,使用指定的 application.yml操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 2020-10-10
最新評論
Java是完全面向?qū)ο蟮恼Z言。Java通過虛擬機的運行機制,實現(xiàn)“跨平臺”的理念。我在這里想要呈現(xiàn)一個適合初學(xué)者的教程,希望對大家有用。
"Hello World!"
先來看一個HelloWorld.java程序。這個程序在屏幕上打印出一串字符"Hello World!":
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
程序中包括Java的一些基本特征:
1.類(class):上面程序定義了一個類HelloWorld,該類的名字與.java文件的名字相同。
2.方法(method):類的內(nèi)部定義了該類的一個方法main。
3.語句(statement):真正的“打印”功能由一個語句實現(xiàn),即: System.out.println("Hello World!");
下面兩點有關(guān)Java的書寫方式:
1.Java中的語句要以;結(jié)尾 (與C/C++相同)。
2.用花括號{}來整合語句,形成程序塊。通過程序塊,我們可以知道程序的不同部分的范圍,比如類從哪里開始,到哪里結(jié)束。
編譯與運行
Java程序要經(jīng)過編譯器編譯才能執(zhí)行。在Linux或Mac下,可以下載安裝Java JDK。
使用javac來編譯。在命令行中輸入下面語句編譯:
$javac HelloWorld.java
當(dāng)前路徑下,將有一個名為HelloWorld.class的文件生成。
使用java命令來運行。Java會搜尋該類中的main方法,并執(zhí)行。
$java HelloWorld
變量
計算機語言通常需要在內(nèi)存中存放數(shù)據(jù),比如C語言中的變量,Java也有類似的變量。Java和C語言都是靜態(tài)類型的語言。在使用變量之前,要聲明變量的類型。
變量(variable)占據(jù)一定的內(nèi)存空間。不同類型的變量占據(jù)不同的大小。Java中的變量類型如下:
名稱 存儲大小 例值 注釋
byte 1byte 3 字節(jié)
int 4bytes 3 整數(shù)
short 2bytes 3 短整數(shù)
long 8bytes 3 長整數(shù)
float 4bytes 1.2 單精度浮點數(shù)
double 8bytes 1.2 雙精度浮點數(shù)
char 2bytes 'a' 字符
boolean 1bit true 布爾值
在Java中,變量需要先聲明(declare)才能使用。在聲明中,我說明變量的類型,賦予變量以特別名字,以便在后面的程序中調(diào)用它。你可以在程序中的任意位置聲明變量。
比如:
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
int a;
a = 5;
System.out.println(a); // print an integer
}
}
上面a是變量名??梢栽诼暶髯兞康耐瑫r,給變量賦值,比如 int a = 5;
*** “變量”的概念實際上來自于面向過程的編程語言。在Java中,所謂的變量實際上是“基本類型” (premitive type)。我們將在類的講解中更多深入。
上面的程序還可以看到,Java中,可用//引領(lǐng)注釋。
數(shù)組
Java中有數(shù)組(array)。數(shù)組包含相同類型的多個數(shù)據(jù)。我用下面方法來聲明一個整數(shù)數(shù)組:
int[] a;
在聲明數(shù)組時,數(shù)組所需的空間并沒有真正分配給數(shù)組。我可以在聲明的同時,用new來創(chuàng)建數(shù)組所需空間:
int[] a = new int[100];
這里創(chuàng)建了可以容納100個整數(shù)的數(shù)組。相應(yīng)的內(nèi)存分配也完成了。
我還可以在聲明的同時,給數(shù)組賦值。數(shù)組的大小也同時確定。
int[] a = new int[] {1, 3, 5, 7, 9};
使用int[i]來調(diào)用數(shù)組的i下標(biāo)元素。i從0開始。
其他類型的數(shù)組與整數(shù)數(shù)組相似。
表達(dá)式
表達(dá)式是變量、常量和運算符的組合,它表示一個數(shù)據(jù)。1 + 1是常見的表達(dá)式。再比如:
public class Test
{
public static void main(String[] args)
{
System.out.println("Declare in the middle:");
int a;
a = 5 + 1;
System.out.println(a); // print an integer
}
}
上面的5 + 1也是一個表達(dá)式,等于6。
數(shù)學(xué)表達(dá)式
數(shù)學(xué)運算,結(jié)果為一個數(shù)值
1 + 2 加法
4 - 3.4 減法
7 * 1.5 乘法
3.5 / 7 除法
7 % 2 求余數(shù)
關(guān)系表達(dá)式
判斷表達(dá)式是否成立。即一個boolean值,真假
a > 4.2 大于
3.4 >= b 大于等于
1.5 < 9 小于
6 <= 1 小于等于
2 == 2 等于
2 != 2 不等于
布爾表達(dá)式
兩個boolean值的與、或、非的邏輯關(guān)系
true && false and
(3 > 1) || (2 == 1) or
!true not
位運算
對整數(shù)的二進(jìn)制形式逐位進(jìn)行邏輯運算,得到一個整數(shù)
& and
| or
^ xor
~ not
5 << 3 0b101 left shift 3 bits
6 >> 1 0b110 right shift 1 bit
還有下列在C中常見的運算符,我會在用到的時候進(jìn)一步解釋:
m++ 變量m加1
n-- 變量n減1
condition ? x1 : x2 condition為一個boolean值。根據(jù)condition,取x1或x2的值
控制結(jié)構(gòu)
Java中控制結(jié)構(gòu)(control flow)的語法與C類似。它們都使用{}來表達(dá)隸屬關(guān)系。
選擇 (if)
if (conditon1) {
statements;
...
}
else if (condition2) {
statements;
...
}
else {
statements;
...
}
上面的condition是一個表示真假值的表達(dá)式。statements;是語句。
練習(xí) 寫一個Java程序,判斷2013年是否是閏年。
循環(huán) (while)
while (condition) {
statements;
}
循環(huán) (do... while)
do {
statements;
} while(condition); // 注意結(jié)尾的;
循環(huán) (for)
for (initial; condition; update) {
statements;
}
跳過或跳出循環(huán)
在循環(huán)中,可以使用
break; // 跳出循環(huán)
continue; // 直接進(jìn)入下一環(huán)
練習(xí) 寫一個Java程序,計算從1加2,加3…… 一直加到999的總和
選擇 (switch)
switch(expression) {
case 1:
statements;
break;
case 2:
statements;
break;
...
default:
statements;
break;
}
面向?qū)ο?/strong>
“對象”是計算機抽象世界的一種方式?!懊嫦?qū)ο蟆笨梢杂煤芏喾绞奖磉_(dá)。下面是一種并不精確,但比較直觀的理解方式:
1.世界上的每一個事物都可以稱為一個對象(object),比如張三。對象有身份(Identity),狀態(tài)(State)和行為(Behavior)。
2.對象的狀態(tài)由數(shù)據(jù)成員(data member)表示。數(shù)據(jù)成員又被稱作域(field)。我們用其他對象作為該對象的數(shù)據(jù)成員。比如一個表示身高的整數(shù),比如一個鼻子。
3.對象的行為由成員方法(member method)表示。我們簡稱為方法(method)。一個對象可以有多個方法,比如呼吸,睡覺。
4.對象可以歸類(class),或者說歸為同一類型(type)。同一類型的對象有相同的方法,有同類型的數(shù)據(jù)成員。某個類型的一個對象被稱為該類型的一個實例(instance)。
類與對象
定義類的語法:
class ClassName
{
member1;
member2;
...
}
我們定義一個human類:
class Human
{
void breath()
{
System.out.println("hu...hu...");
}
int height;
}
在{}范圍內(nèi),Human類有兩個成員: 一個數(shù)據(jù)成員height,一個方法breath()。
1.數(shù)據(jù)成員height是整數(shù)類型,可以用于存儲一個整數(shù)。
2.方法代表了對象所能進(jìn)行的動作,也就是計算機所能進(jìn)行的操作。方法可以接受參數(shù),并能返回值。在breath()的定義中,breath后面的()中為參數(shù)列表。由于參數(shù)列表為空,所以breath()不接受參數(shù)。在breath()之前的void為返回值的類型,說明breath不返回值。
(方法與面向過程語言中的函數(shù)類似)
現(xiàn)在,我們創(chuàng)建對象aPerson,并調(diào)用對象的方法breath:
public class Test
{
public static void main(String[] args)
{
Human aPerson = new Human();
aPerson.breath();
System.out.println(aPerson.height);
}
}
class Human
{
void breath()
{
System.out.println("hu...hu...");
}
int height;
}
在main方法中,使用new關(guān)鍵字創(chuàng)建對象。即使是來自同一個類的對象,各個對象占據(jù)的內(nèi)存也不相同,即對象的身份也不同。
Human aPerson聲明了aPerson對象屬于Human類,即說明了對象的類型。
對象建立后,我們可以用 對象.數(shù)據(jù)成員 來引用數(shù)據(jù)成員,使用 對象.方法() 的方式來調(diào)用方法。正如我們在后面打印aPerson.height。
總結(jié)
Java的許多語法形式與C/C++類似,但在細(xì)節(jié)和具體實現(xiàn)上又有差別,需要小心。
對象,類
對象: 方法,域(數(shù)據(jù)成員)
Java是完全面向?qū)ο蟮恼Z言。
相關(guān)文章
在啟動后臺 jar包時,使用指定的 application.yml操作
這篇文章主要介紹了在啟動后臺 jar包時,使用指定的 application.yml操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10