1. 程式人生 > >java 簡介、JDK安裝、Hello World體驗、java語法(標示符、關鍵字)、變數、運算子

java 簡介、JDK安裝、Hello World體驗、java語法(標示符、關鍵字)、變數、運算子

1、java介紹:

Java的發展可以歸納如下的幾個階段:

---------------第一階段(完善期)1995-1998

---------------第二階段(平穩期)JDK 1.3JDK 1.4

---------------第三階段(發展期):JDK1.52005年推出-----JDK 1.7(Oracle收購後推出)

(1)在開發上更是分為了Java SE, Java EE, Java ME:

J2SEJava 2 Platform Standard Edition( 2005年之後更名為Java SE )。包含構成Java語言核心的類。比如資料庫連線、介面定義、資料結構、輸入

/輸出、網路程式設計。

J2EEJava 2 Platform Enterprise Edition ( 2005年之後更名為Java EE )Enterprise Edition(企業版)包含J2SE中的所有類,並且還包含用於開發企業級應用的類。比如EJBServletJSPXML、事務控制,即是現在Java應用的主要方向,像一些銀行或電信的系統大多基於此架構。

J2ME發展成為安卓

(2)如果從程式語言的角度而言,應該分為兩種:

--------------編譯型:學習過C語言的同學應該知道,編譯之後會出現一個*.exe檔案,供使用者使用。

--------------解釋型:像ASP

語言那樣,直接將程式碼放到伺服器上進行解釋執行。

所有的Java程式檔案的字尾都應該是“*.java",而任何一個*.java程式首先必須經過編譯,編譯之後會形成一個*.class的檔案(位元組碼檔案),而後在計算機上執行,但是解釋程式的計算機並不是一臺真正意義上的計算機,而是一臺由軟體和硬體模擬出來的計算機—Java虛擬機器(Java Virtual Machine.  JVM)

 2、jdk安裝

JRE(Java Runtime Environment Java執行環境)

包括Java虛擬機器(JVM Java Virtual Machine)和Java程式所需的核心類庫等,如果想要執行一個開發好的

Java程式,計算機中只需要安裝JRE即可。

JDK(Java Development Kit Java開發工具包)JDK是提供給Java開發人員使用的,其中包含了Java的開發工具,也包括了JRE。所以安裝了JDK,就不用再單獨安裝JRE了。

JDK安裝:

(1)jdk 下載,進入官方網站。下載後直接安裝

(2)配置環境變數

右鍵計算機-->屬性-->高階系統設定-->環境變數。

在系統變數中新建

在新建頁面,輸入變數名JAVA_HOME”;變數值是“你的jdk的路徑

在系統變數區域,選擇“新建”,輸入變數名“CLASSPATH”:CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 在系統變數中查詢 Path 編輯,在系統變數中新建變數名:PATH變數值:win7加上      .;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar;。

 3、HelloWorld 體驗

新建一個資料夾,起個名字如student改變字尾名改為    .java              檔案起的名字要與檔案中的相同

class student{

  public static void math(String[] args){

    System.out.println("helloworld!");       輸出

  }

}

 大小寫要區分,print  是不換行,加上ln就是換行

(1) public class定義:

類名稱必須和檔名稱保持一致,否則程式將無法編譯,在一個*.Java之中只能有一個public

(2) 主方法main()

主方法表示的是一個程式起點,所有的程式程式碼都由此開始順序執行,在Java中主方法也要放在一個類中。

(3) 系統輸出System.out.println()

(4) 註釋:

//表示單行註釋,就是在註釋內容前面加雙斜線(//)Java編譯器會忽略掉這部分資訊。

/*…*/表示多行註釋,多行註釋,就是在註釋內容前面以單斜線加一個星形標記(/*)開頭,並在註釋內容末尾以一個星形標記加單斜線(*/)結束。

4、java標示符與關鍵字 

 (1)標示符

java中用於定義名稱的都為識別符號,如檔名稱、類名稱、方法名稱或變數名稱等,在

Java中識別符號的定義格式由字母、數字、_(下劃線),$所組成,不能以數字開頭,不能是Java中的關鍵字,而且每一個識別符號都要有自己的意義,如StudentName,表示的是學生姓名。定義時可以用拼音

識別符號區分大小寫。

 (2)關鍵字

abstract

assert

boolean

break

byte

case

catch

char

class

continue

const

default

do

double

else

extends

enum

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

short

static

synchronized

super

strictfp

this

throw

throws

transient

try

void

volatile

while

 5、變數

變數是記憶體中裝載資料的小盒子,你只能用它來存資料和取資料。

計算機儲存裝置的最小資訊單元“位(bit

計算機最小的儲存單元“位元組(byte

1個位元組(8位)

 (1)變數的基本型別:4類8種

java中預設的整數型別是int型別:Java中整數常量如果不在-2147483648~2147483648之間就必須新增“L”字尾

java中預設的浮點型別是double型別:Java中所有沒有後綴以及使用“D”字尾(小寫也可以,但建議使用大寫)的小數都是double型別;float型別常量必須新增“F”字尾

l-------------3.14沒有後綴,所以它是double型別;

l ------------5.28Ddouble型別;

l =----------1.26Ffloat型別。

四類

八種

位元組數

資料表示範圍

         byte

1

-128~127

        short

2

-32768~32767

        int

4

-2147483648~2147483648

        long

8

-263~263-1

浮點型

        float

4

-3.403E38~3.403E38

       double

8

-1.798E308~1.798E308

字元型

       char

2

表示一個字元,如('a','A','0','家')

布林型

      boolean

1

只有兩個值true與false

 (2)定義變數

定義變數的語法格式:

資料型別  變數名  =  資料值;

    int            a       =  100;

-----------------------變數定義後可以不賦值,使用時再賦值。不賦值不能使用。

-----------------------變數使用時有作用域的限制。

 例如:

public static void main(String[] args) {

int x = 20;

{

    int y = 20;                       不在一個作用域裡面即不在一個大括號裡,當然java有一個全域性變數是所有域都可以呼叫如int x=20;

}

System.out.println(x);//讀取x變數中的值,再列印

System.out.println(y);//讀取y變數中的值失敗,失敗原因,找不到y變數,因為超出了y變數作用範圍,所以不能使用y變數

}

n 變數不可以重複定義。

 例如:

blic static void main(String[] args){

      int x = 10;

      double x = 5.5;//編譯失敗,變數重複定義

}

 (3)資料型別轉換

byte -> short -> int -> long -> float -> double

 ----------------------自動轉換:範圍大的資料型別 變數 = 範圍小的資料型別值;

例如:

 double d = 1000;

    int i = 100;

    double d2 = i;

-----------------------強制轉換:範圍小的資料型別  變數 = (範圍小的資料型別) 範圍大的資料型別值;

例如:

int  i = (int)6.718;   //i的值為6

double  d = 3.14;

int  i2 = (int)d;     //i2的值為3

 6、運算子

(1)算數運算子

運算子

運算規則

範例

結果

+

正號

+3

3

+

2+3

5

+

連線字串

“中”+“國”

“中國”

-

負號

int a=3;-a

-3

-

3-1

2

*

2*3

6

/

5/2

2

%

取模

5/2

1

++

自增

int a=1;a++/++a

2

--

自減

int b=3;a--/--a

2

 (2) 算數運算子++--的使用

 (1)a++    b--

      int a = 3;

      int b = 3;

      a++;

      b--;

      System.out.println(a);

      System.out.println(b);

上面程式碼的輸出結果a值為4b值為2

這說明a的原有值發生了改變,在原有值的基礎上自增1b的原有值也發生了改變,在原有值的基礎上自減1

l-------------------- ++運算子,會在原有值的基礎上自增1;

l                           --運算子,會在原有值的基礎上自減1。

(2)++a     --b

      int a = 3;

      int b = 3;

      ++a;

      --b;

      System.out.println(a);

      System.out.println(b);

上面程式碼的輸出結果a值為4b值為2

這說明++,--運算子單獨使用,不參與運算操作時,運算子前後位置導致的運算結果是一致的。

(3)+,--運算子參與運算操作時,發生了怎樣的變化,我們來看一段程式碼:

int a = 3;

int b;

b = a++ + 10;

System.out.println(a);

System.out.println(b);

上面程式碼的輸出結果a值為4b值為13

這裡我要強調一下了,當++--運算子參與運算操作時,後置++--的作用:

l ++,--運算子後置時,先使用變數a原有值參與運算操作,運算操作完成後,變數a的值自增1或者自減1;

(4)++,--運算子前置時,參與運算操作的變化,我們來看一段程式碼:

int a = 3;

int b;

b = ++a + 10;

System.out.println(a);

System.out.println(b);

上面程式碼的輸出結果a值為4,b值為14;

這裡我強調一下,當++,--運算子參與運算操作時,前置++,--的作用:

l ++,--運算子前置時,先將變數a的值自增1或者自減1,然後使用更新後的新值參與運算操作。

商場庫存清單案例,這個案例最終會在控制檯輸出如下結果

 

程式碼:

class kucun 
{
    public static void main(String[] args) 
    {
        String model="MacBookAir";
        double size=13.3;
        double price=6988.88;
        int kucun=5;

        String model1="thinkpad";
        double size1=14.0;
        double price1=5999.99;
        int kucun1=10;

        String model2="asus";
        double size2=15.6;
        double price2=4999.5;
        int kucun2=5;
        
        int sum=kucun+kucun1+kucun2;
        double sumprice=price+price1+price2;

        System.out.println("品牌型號"+'\t'+"尺寸"+'\t'+"價格"+'\t'+"庫存");
        System.out.println(model+'\t'+size+'\t'+price+'\t'+kucun);    
        System.out.println(model1+'\t'+size1+'\t'+price1+'\t'+kucun1);
        System.out.println(model2+'\t'+'\t'+size2+'\t'+price2+'\t'+kucun2);
        System.out.println("總庫存數"+':'+sum);
        System.out.println("庫存商品總金額"+':'+sumprice);
    }
}

 (3)賦值運算子

運算子

運算規則

範例

結果

           =

賦值

int a=2

2

           +=

加後賦值

int a=2a+=2,(a=a+2)

4

           -=

減後賦值

int a=2a-=2

(a=a-2)

0

           *=

乘後賦值

int a=2a*=2

a=a*2

4

            /=

整除後賦值

int a=2a/=2

1

            %=

取模後賦值

int a=2a%=2

0

例如:a+=2、b-=2、c*=2等

class demo2 

{
    public static void main(String[] args) 
    {
        Scanner sc=new Scanner(System.in);
        /*System.out.print("請輸入一個數字");
        int n=sc.nextInt();
        System.out.println("n的值為"+n);*/
        int a=2;     int b=2;        int c=2        a+=2;//a=a+2        b-=2;//b=b-2        c*=2;//c=c*2
        System.out.println(a+"....."+b+"...."+c);
    }
}

 執行結果:

注意:當使用賦值運算子,會將結果自動強轉成等號左邊的資料型別。

 例如:byte a=10;

           x=a+20;

x的屬性也變成了byte

 (4)比較運算子

運算子

運算規則

範例

結果

==

相等於

4==3

False

!=

不等於

4!=3

True

<

小於

4<3

False

>

大於

4>3

True

<=

小於等於

4<=3

False

>=

大於等於

4>=3

True

 例如==和=的區別:

int a = 3;

int b = 4;

System.out.println( a=b );

System.out.println( a==b );

 

 (5)邏輯運算子

運算子

運算規則

範例

結果

&

false&true

False

|

false|true

True

^

異或

true^flase

True

!

!true

Flase

&&

短路與

false&&true

False

||

短路或

false||true

True

  短路與&&和短路或||           短路與        &&       和          與      &        的區別區別是&&只要第一個條件不滿足,後面條件就不再判斷。 &要對所有的條件都進行判斷。

短路或       ||      和或   |               區別是||只要滿足第一個條件,後面的條件就不再判斷。 |         要對所有的條件進行判斷。

class demo2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in);

boolean b = 100>10;

boolean b2 = false;

System.out.println(b&&b2); // 列印結果為 false

System.out.println(b||b2); //列印結果為 true

System.out.println(!b2); //列印結果為 true

System.out.println(b && 100>10); //列印結果為 true

    }
}

 

 (6)三元運算子

System.out.println( 3>2 ? "正確" : "錯誤" ); 

 

(7)優先順序(沒仔細看)

優先順序

描述

運算子

1

括號

()[]

2

正負號

+-

3

自增自減,非

++--!

4

乘除,取餘

*/%

5

加減

+-

6

移位運算

<<>>>>>

7

大小關係

>>=<<=

8

相等關係

==!=

9

按位與

&

10

按位異或

^

11

按位或

|

12

邏輯與

&&

13

邏輯或

||

14

條件運算

?:

15

賦值運算

=+=-=*=/=%=

16

位賦值運算

&=|=<<=>>=>>>=

優先順序順序看完了,我們來通過程式碼,加強一下:

int n = 3>4 ? 100 : 200;

這行的程式碼運算執行順序我們來寫一下:

l 1.執行 3>4操作,得到布林型別false的結果

l 2.通過結果false,將對應的表示式2的結果200,作為運算的最終結果

l 3.把200 賦值給變數n

接下來,我們看一個比較複雜的程式碼:

int a = 5;

 int b = 3;

 int c = 1;

int n2 = (a>b && b>c) ? (c++) : (++c);

這段程式碼運算執行順序我們也寫一下:

l 1.小括號優先順序高,我們先運算第一組小括號中的程式碼

l 1.1. 比較運算子”>” 優先順序大於 邏輯運算子”&&”

先執行 a>b,得到結果true;

再執行 b>c,得到結果true;

最後執行 a>b的結果 && b>c的結果,即 true && true, 結果為true

l 2.三元運算子中的條件判斷結果為true,返回表示式1的結果 c++

先將變數c的原有值賦值給變數n2,即n2值為1;

再將變數c的值自增1,更新為2。

運算子我們學到這裡就結束了,稍後在“趣味樂園”中,我們可以運用運算子進行練習。