亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java基礎教程之Hello World到面向對象

2019-11-26 15:26:45
字體:
來源:轉載
供稿:網友

Java是完全面向對象的語言。Java通過虛擬機的運行機制,實現“跨平臺”的理念。我在這里想要呈現一個適合初學者的教程,希望對大家有用。

"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):類的內部定義了該類的一個方法main。
3.語句(statement):真正的“打印”功能由一個語句實現,即: System.out.println("Hello World!");

下面兩點有關Java的書寫方式:

1.Java中的語句要以;結尾 (與C/C++相同)。
2.用花括號{}來整合語句,形成程序塊。通過程序塊,我們可以知道程序的不同部分的范圍,比如類從哪里開始,到哪里結束。

編譯與運行

Java程序要經過編譯器編譯才能執行。在Linux或Mac下,可以下載安裝Java JDK。

使用javac來編譯。在命令行中輸入下面語句編譯:

復制代碼 代碼如下:

$javac HelloWorld.java

當前路徑下,將有一個名為HelloWorld.class的文件生成。

使用java命令來運行。Java會搜尋該類中的main方法,并執行。

復制代碼 代碼如下:

$java HelloWorld

變量

計算機語言通常需要在內存中存放數據,比如C語言中的變量,Java也有類似的變量。Java和C語言都是靜態類型的語言。在使用變量之前,要聲明變量的類型。

變量(variable)占據一定的內存空間。不同類型的變量占據不同的大小。Java中的變量類型如下:

復制代碼 代碼如下:

名稱      存儲大小   例值     注釋

byte      1byte        3      字節

int       4bytes       3      整數

short     2bytes       3      短整數

long      8bytes       3      長整數

float     4bytes     1.2      單精度浮點數

double    8bytes     1.2      雙精度浮點數

char      2bytes     'a'      字符

boolean   1bit      true      布爾值

在Java中,變量需要先聲明(declare)才能使用。在聲明中,我說明變量的類型,賦予變量以特別名字,以便在后面的程序中調用它。你可以在程序中的任意位置聲明變量。

比如:

復制代碼 代碼如下:

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中,可用//引領注釋。

數組

Java中有數組(array)。數組包含相同類型的多個數據。我用下面方法來聲明一個整數數組:

復制代碼 代碼如下:

int[] a;

在聲明數組時,數組所需的空間并沒有真正分配給數組。我可以在聲明的同時,用new來創建數組所需空間:

復制代碼 代碼如下:

int[] a = new int[100];

這里創建了可以容納100個整數的數組。相應的內存分配也完成了。

我還可以在聲明的同時,給數組賦值。數組的大小也同時確定。

復制代碼 代碼如下:

int[] a = new int[] {1, 3, 5, 7, 9};

 
使用int[i]來調用數組的i下標元素。i從0開始。

其他類型的數組與整數數組相似。

表達式

表達式是變量、常量和運算符的組合,它表示一個數據。1 + 1是常見的表達式。再比如:

復制代碼 代碼如下:

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也是一個表達式,等于6。

數學表達式

數學運算,結果為一個數值

復制代碼 代碼如下:

1 + 2                  加法

4 - 3.4                減法

7 * 1.5                乘法

3.5 / 7                除法

7 % 2                  求余數

關系表達式

判斷表達式是否成立。即一個boolean值,真假

復制代碼 代碼如下:

a > 4.2                大于

3.4 >= b               大于等于

1.5 < 9                小于

6 <= 1                 小于等于

2 == 2                 等于

2 != 2                 不等于

布爾表達式

兩個boolean值的與、或、非的邏輯關系

復制代碼 代碼如下:

true && false          and

(3 > 1) || (2 == 1)    or

!true                  not

位運算

對整數的二進制形式逐位進行邏輯運算,得到一個整數

復制代碼 代碼如下:

&                      and

|                      or

^                      xor

~                      not

5 << 3                 0b101 left shift 3 bits

6 >> 1                 0b110 right shift 1 bit

還有下列在C中常見的運算符,我會在用到的時候進一步解釋:

復制代碼 代碼如下:

m++                    變量m加1

n--                    變量n減1

condition ? x1 : x2   condition為一個boolean值。根據condition,取x1或x2的值

控制結構

Java中控制結構(control flow)的語法與C類似。它們都使用{}來表達隸屬關系。

選擇 (if)

復制代碼 代碼如下:

if (conditon1) {
    statements;
    ...
}
else if (condition2) {
    statements;
    ...
}
else {
    statements;
    ...
}

上面的condition是一個表示真假值的表達式。statements;是語句。

練習 寫一個Java程序,判斷2013年是否是閏年。

循環 (while)

復制代碼 代碼如下:

while (condition) {

    statements;

}

循環 (do... while)

復制代碼 代碼如下:

do {

    statements;

} while(condition);  // 注意結尾的;


 
循環 (for)
復制代碼 代碼如下:

for (initial; condition; update) {

    statements;

}

跳過或跳出循環

在循環中,可以使用

復制代碼 代碼如下:

break; // 跳出循環

continue; // 直接進入下一環

練習 寫一個Java程序,計算從1加2,加3…… 一直加到999的總和

選擇 (switch)

復制代碼 代碼如下:

switch(expression) {

    case 1:

        statements;

        break;

    case 2:

        statements;

        break;

    ...

    default:

        statements;

        break;

}

面向對象

“對象”是計算機抽象世界的一種方式?!懊嫦驅ο蟆笨梢杂煤芏喾绞奖磉_。下面是一種并不精確,但比較直觀的理解方式:

1.世界上的每一個事物都可以稱為一個對象(object),比如張三。對象有身份(Identity),狀態(State)和行為(Behavior)。
2.對象的狀態由數據成員(data member)表示。數據成員又被稱作域(field)。我們用其他對象作為該對象的數據成員。比如一個表示身高的整數,比如一個鼻子。
3.對象的行為由成員方法(member method)表示。我們簡稱為方法(method)。一個對象可以有多個方法,比如呼吸,睡覺。
4.對象可以歸類(class),或者說歸為同一類型(type)。同一類型的對象有相同的方法,有同類型的數據成員。某個類型的一個對象被稱為該類型的一個實例(instance)。
 

類與對象

定義類的語法:

復制代碼 代碼如下:

class ClassName

{

    member1;

    member2;

    ...

}


 
我們定義一個human類:

復制代碼 代碼如下:

class Human
{
    void breath()
    {
        System.out.println("hu...hu...");
    }

    int height;
}

在{}范圍內,Human類有兩個成員: 一個數據成員height,一個方法breath()。

1.數據成員height是整數類型,可以用于存儲一個整數。
2.方法代表了對象所能進行的動作,也就是計算機所能進行的操作。方法可以接受參數,并能返回值。在breath()的定義中,breath后面的()中為參數列表。由于參數列表為空,所以breath()不接受參數。在breath()之前的void為返回值的類型,說明breath不返回值。

(方法與面向過程語言中的函數類似)

現在,我們創建對象aPerson,并調用對象的方法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關鍵字創建對象。即使是來自同一個類的對象,各個對象占據的內存也不相同,即對象的身份也不同。

Human aPerson聲明了aPerson對象屬于Human類,即說明了對象的類型。

對象建立后,我們可以用 對象.數據成員 來引用數據成員,使用 對象.方法() 的方式來調用方法。正如我們在后面打印aPerson.height。

總結

Java的許多語法形式與C/C++類似,但在細節和具體實現上又有差別,需要小心。
對象,類
對象: 方法,域(數據成員)
Java是完全面向對象的語言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩一区二区免费在线观看| 欧美国产视频一区二区| 日韩有码在线视频| 欧美日韩在线免费观看| 亚洲乱码国产乱码精品精| 欧美一区二区视频97| 久久国产精品影片| 91精品视频大全| 久久成人人人人精品欧| 亚洲性av网站| 久热精品在线视频| 国产美女精品视频| 欧美久久精品一级黑人c片| 久久的精品视频| 国产午夜一区二区| 亚洲摸下面视频| 在线视频日本亚洲性| 免费91在线视频| 亚洲精品久久久久中文字幕二区| 中文一区二区视频| 丰满岳妇乱一区二区三区| 九九精品在线观看| 久久99国产精品自在自在app| 久久九九有精品国产23| 91亚洲精品视频| 一区二区三区视频免费在线观看| 日韩中文娱乐网| 欧美成人午夜激情| 亚洲精品视频中文字幕| 国产欧美日韩专区发布| 国产精品视频网| 国产999精品久久久影片官网| 国产成人精品久久二区二区| 国产精品网站视频| 最近2019免费中文字幕视频三| 国产精品白丝av嫩草影院| 中文字幕精品—区二区| 欧美成人免费va影院高清| 欧美激情手机在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲成人激情在线观看| 国产精品aaa| 一二美女精品欧洲| 日韩中文字幕在线精品| 欧美激情一区二区三区在线视频观看| 亚洲综合在线中文字幕| 国产精品亚洲综合天堂夜夜| 成人国产亚洲精品a区天堂华泰| 在线观看国产精品淫| 久久久影视精品| 国产精欧美一区二区三区| 亚洲欧美另类中文字幕| 亚洲xxxx3d| 国内成人精品一区| 国产视频久久网| 久久精品电影一区二区| 国产精品白丝jk喷水视频一区| 92看片淫黄大片欧美看国产片| 日韩大陆欧美高清视频区| 亚洲黄页视频免费观看| 国产不卡在线观看| 日韩精品视频在线免费观看| 久久久久这里只有精品| 麻豆一区二区在线观看| 欧美成人合集magnet| 在线看国产精品| 91chinesevideo永久地址| 国产欧美日韩亚洲精品| 操日韩av在线电影| 性欧美xxxx视频在线观看| 亚洲第一区在线观看| 国产在线观看精品| 国产一区二区三区视频在线观看| 日韩欧美一区二区在线| 国产精品高潮呻吟久久av黑人| 成人xvideos免费视频| 成人亚洲欧美一区二区三区| 26uuu国产精品视频| 亚洲国产精品人人爽夜夜爽| 黑人巨大精品欧美一区二区| 国产97在线亚洲| 红桃av永久久久| 亚洲第一综合天堂另类专| 亚洲国产精品专区久久| 国产精品久久久久久网站| 正在播放欧美一区| 国产在线视频不卡| 成人免费在线视频网址| 色一区av在线| 国产精品视频yy9099| 精品美女国产在线| 亚洲japanese制服美女| 日韩**中文字幕毛片| 久色乳综合思思在线视频| 亚洲精品一二区| 欧美有码在线观看| 欧美日韩亚洲一区二区三区| 国产一区二区三区丝袜| 欧美电影在线免费观看网站| 欧美三级xxx| 在线观看精品自拍私拍| 久久免费精品日本久久中文字幕| 亚洲视频专区在线| 91亚洲人电影| 91精品啪在线观看麻豆免费| 欧美专区在线播放| 欧美怡红院视频一区二区三区| 免费99精品国产自在在线| 色综合五月天导航| 97精品在线视频| 色偷偷噜噜噜亚洲男人| 久久综合国产精品台湾中文娱乐网| 欧美国产日本高清在线| 91福利视频在线观看| 日韩福利视频在线观看| 欧美亚洲视频在线观看| 国产成人午夜视频网址| 日韩有码在线播放| 成人妇女免费播放久久久| 亚洲第一中文字幕在线观看| 国产99久久精品一区二区永久免费| 亚洲国产中文字幕在线观看| 全球成人中文在线| 欧美一区二区三区免费观看| 欧美成人中文字幕| 国产网站欧美日韩免费精品在线观看| 亚洲精品天天看| 日韩av高清不卡| 欧美日韩精品国产| 久久久久久国产免费| 久久九九全国免费精品观看| 成人性生交大片免费观看嘿嘿视频| 日本最新高清不卡中文字幕| 久久资源免费视频| 亚洲免费人成在线视频观看| 日韩在线视频线视频免费网站| 国产一区二区三区日韩欧美| 亚洲欧美中文字幕在线一区| 日日噜噜噜夜夜爽亚洲精品| 久久精品视频网站| 欧美在线视频免费播放| 美日韩丰满少妇在线观看| 久久大大胆人体| 日本精品视频在线| 26uuu亚洲伊人春色| 国产精品视频xxx| 久久国产精品久久久| www.日本久久久久com.| 国产+人+亚洲| 欧美一级大片在线免费观看| 91久久久久久久一区二区| 亚洲电影中文字幕| 亚洲人精选亚洲人成在线| 不卡伊人av在线播放| 97超碰国产精品女人人人爽| 国产九九精品视频| 亚洲国产精品高清久久久| 亚洲片av在线| 国产午夜精品美女视频明星a级| 亚洲人成电影在线| 亚洲久久久久久久久久| 97人人爽人人喊人人模波多| 大量国产精品视频| 正在播放国产一区|