成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

java教程之Java編程基礎

開發 后端
本文介紹的是java程序設計語言編程的一些基礎知識,希望對大家有幫助,一起來看。

Java語言由語法規則和類庫兩部分組成,其中語法規則確定了Java程序的書寫規范,學習好語法規則是Java語言,也是所有編程語言的基本功。本文主要向大家簡單介紹一下Java的語法規則。 Java語言與C/C++語言有著緊密的聯系,Java中的許多術語來自于C++,起語法也來自于C++。因此Java的語法和c++的語法計劃一模一樣。下面簡單介紹一下Java的具體語法。

一、Java的詞法

1、標識符

標識符是類、變量和方法等的名字,作用是讓編譯器能夠識別它們。在Java語言中,標識符可以包含數字、字母、下劃線(_)和美圓符號($),但是不能以數字作為開頭。與C/C++語言不同的是,Java語言還可以將一些非拉丁字母包含在標識符中,這是因為Java語言使用的是Unicode字符,所有的十六進制00C0以上的Unicode字符都可以用在標識符中。但是Java語言的關鍵字是不能用來作為標識符的。

我們在使用標識符的時候應該盡量表達所要表示的類、變量、方法等的含義。另外,標識符中可以使用下劃線,我們應該充分利用這一點以提高程序的可讀性。

2、關鍵字

以下是Java的全部關鍵字:

  1. abstract double int strictfp**   
  2. boolean else interface super  
  3. break extends long switch   
  4. byte final native synchronized  
  5. case finally new this   
  6. catch float package throw   
  7. char for private throws  
  8. class goto* protected transient   
  9. const* if public try   
  10. continue implements return void   
  11. default import short volatile   
  12. do instanceof static while  
  13. * 尚未使用的關鍵字  
  14. ** 為Java 2增加的關鍵字 

3、注釋

Java有三種形式的注釋:

***種是C語言的傳統注釋方式,即將“/*”和“*/”之間的文本都視為注釋,這種注釋可以跨越多行。

第二種是C++風格的注釋,即將“//”之后直到行尾的文本都視為注釋,這種注釋只能包含一行。

第三種是Java新增加的注釋方式,即將“/**”和“*/”之間的文本都視為注釋,這種注釋也可以夸耀多行。注意,這種注釋方式生成的注釋將作為Javadoc文檔保存。

二、操作符

1、算術操作符

操作符 用途 優先級 結合性
++,--  自動遞增,自動遞減  2(僅次于括號) 從右到左
+,-  一元加,一元減  2 從右到左
*,/ 乘,除 3 從左到右
% 取余(求模) 3 從左到右
+,- 加,減 4 從左到右

2、布爾運算與關系運算符

操作符 用途 優先級 結合性
 
 >,<,>=,<= 測試相對大小 6 從左到右
== 測試相等性 7 從左到右
!= 測試不等性 7 從左到右
?: 根據***個操作數返回后兩個操作數之一 13 從左到右
! 2 從右到左
& 布爾與 8 從左到右
^ 異或 9 從左到右
| 布爾或 10 從左到右
&& 條件與 11 從左到右
||  條件或 12 從左到右

3、位操作符

操作符 用途 優先級 結合性
~ 非(位求補) 2 從右到左
<<,>> 左移,右移 5 從左到右
>>> 當作無符號右移 5 從左到右
& 位和 8 從左到右
^ 位異或 9 從左到右
| 位或 10 從左到右

4、賦值操作符

操作符 用途 優先級 結合性
= 賦值 14 從右到左
*= 操作同時賦值 14 從右到左
/= 操作同時賦值 14 從右到左
  %= 操作同時賦值 14 從右到左
-= 操作同時賦值 14 從右到左
+= 操作同時賦值 14 從右到左
>>= 操作同時賦值 14 從右到左
<<= 操作同時賦值 14 從右到左
>>>= 操作同時賦值 14 從右到左
^= 操作同時賦值  14 從右到左
|= 操作同時賦值 14 從右到左
&= 操作同時賦值 14 從右到左

5、特殊操作符

cast操作符將一種數據類型轉換成為另一種數據類型,cast應寫成把要校正操作數的類型名放在括號中。

例如:

  1. int i;   
  2. long l;   
  3. l=7876547;   
  4. i=(int)l;  

如果給高精度的變量賦予一個低精度值,則不需校正。類型校正操作符的優先級為2,結合性為從右到左結合。

將以上講到的操作符的優先級總結如下:

優先級 運算符   結合順序
1  []數組運算 .點運算符 ()調用方法 從左到右
 2  ! ~ ++ -- +(一元加) -(一元減) ()強制類型轉換 new  從右到左
 3  * / %  從左到右
 4 +(二元加) -(二元減) 從左到右
 5  >> << >>> 從左到右
 6  < <= > >= instanceof 從左到右
 7  == != 從左到右
8  & 從左到右
9 ^ 從左到右
10  | 從左到右
 11  && 從左到右
 12  || 從左到右
 13  ?: 從左到右
 14    = += -= *= /= %= &= |= ^= <<= >>= >>>= 從右到左 

三、常量

1、整型常量

在Java語言中,整型常量有三種形式,它們分別是:十進制、八進制、十六進制。需要注意的是十進制數不能以0開頭,這是因為八進制的數是以0開頭的,而十六進制數以0x或0X開頭。

2、浮點型常量

浮點數只能表示十進制數。浮點數有兩種表示方法,即標準表示法和科學記數法。浮點數又分為單精度數和雙精度數。

3、布爾型常量

布爾型常量有兩個值:ture(或TURE)和false(或FALSE)它們分別表示真和假,這兩個值用來表示事物的狀態,它們必居其一。通過測量布爾值可以判斷是否執行某個步驟。

4、字符型常量

字符型常量是一個單一的字符,其形式是由兩個單引號引起來的一個字符。但是兩個單引號引起來的不能是單引號和反斜杠,即‘’和‘\’是不正確的寫法。

大家一定要記住,Java語言中的字符是16位的Unicode字符,這與C/C++等語言是不一樣的。

字符串常量

字符串常量是由雙引號引起來的一系列字符,與C/C++語言中不同的是,Java語言中的字符串不是通過字符數組來實現的,而是通過字符串類(即String類)來實現的。

四、變量和數據類型

在Java中,數據的類型可以分為四種:基本數據類型、數組類型、類和接口類型。任何數據都一定是上述數據類型的一種。
其中基本數據類型可以分為四大類:布爾型、字符型、整數型和浮點型。這些類型的數據與前面介紹的常量的類型基本相同,在此不再多說。下面將整數型和浮點型變量的取值范圍列出:

表一、

類型 寬度 取值范圍
byte 8位 -256到256
short 16位 -32768到32767
int  32位  -2147483648到2147483647
long  64位  -9223372036854775808到9223372036854775807

表二、

進制  整數 長整數
十進制 ***正整數 2147483647(2的31次方減1) 923372036854775807L(2的63次方減1)
八進制 ***正整數 077777777777(2的31次方減1) 07777777777777777777L(2的63次方減1)
二進制 最小負整數 020000000000(-2的31次方) 04000000000000000000L(-2的63次方)
十六進制 ***正整數 0x7fffffff(2的31次方減1) 0x7fffffffffffffffL(2的63次方減1)
十六進制 最小負整數  0x80000000(-2的31次方) 0x8000000000000000L(-2的63次方)

浮點數能表示的數值從小到大分別是:負無窮大、負有限值、負零、正零、正有限值及正無窮大。其中正零和負零在進行數值比較的時候是相等的,但仍有辦法分辨這兩個值,例如在進行1.0/0.0的時候會得到正無窮大的結果。其它非零非無窮大的有限值是以s*m*(2^e)來表示的,s和m的取值范圍見下表:

表三、

類型 s  m
float +1或-1  小于2的24次方的正整數  149到104的整數 
double +1或-1  小于2的53次方的正整數  1045到1000的整數

與C/C++語言中不同的是,在Java語言中,所有的基本數據類型都有預設值,就是說當我們聲明一個變量時,即使我們沒有對它賦值,它的值也是一定的,而不像在C/C++中那樣是不可預測的。

五、Java與C/C++的比較

由于Java的語法直接來源于C/C++,所以Java的程序控制語句與C/C++一模一樣,在此不再多說。以下重點介紹一下Java與C/C++的不同。

指針

大家在使用C語言編程的時候想必都曾經因為指針的復雜計算而煩惱,在C/C++語言編程過程中,指針可能引起許多錯誤,這些復雜的指針算法所產生的錯誤常常讓人迷惑不解,導致C/C++程序員在此浪費了大量的時間??紤]到這種原因,Java中取消了指針。指針的功能由參考(reference)所取代,這使得Java中對復雜數據結構的實現更加容易,因為用對象和對象數組實現復雜的數據結構更可靠。

函數

在Java中沒有C/C++中應用廣泛的函數,C/C++中通過函數實現的功能在Java中都是通過類和方法來實現的。

繼承

C++支持多重繼承,這是一個從多個父類中派生一個類的有效辦法,但這種派生很復雜,也很容易產生問題。因此,Java中沒有采用多重繼承,但Java的Objective C協議接口能完成C++中多重繼承的所有功能。

goto語句

大家知道,在使用高級語言編程時過多的使用goto語句會使程序變得十分混亂,因此Java中也沒有使用goto語句。但是不可否認,當程序比較容易控制的時候,適當使用goto語句能使程序的運行更快捷,因此Java中使用了多重break和continue語句(允許break和continue語句使用標簽)實現C++種goto語句的功能。

聯合和結構

在C++中有三種數據結構:聯合、結構和類;Java中只有類,它可以實現上述三者的功能。

字符串

在C/C++中,字符串是通過字符數組實現的,但是由于數組的空間不是動態分配的,這容易出現越界錯誤,例如:常有預先設定的字符數組不能容納后輸入的字符串。在Java中,字符串是一類特定的對象,這使得字符串更具有一致性和可預見性。

Typedef、Define和預處理器

Java中不需要#define語句、預處理器或者typedef,但需要頭文件。在Java中一個類的信息必須包含在一個文件中,而C/C++中有關類的信息可能分散在多個文件中。

數據類型的自動強制轉換

在Java中強制一種類型的數據元素變成一種不太精確的數據類型需要編程人員采用預測方法。

希望通過以上內容的介紹,能夠給你帶來幫助。

責任編輯:于鐵 來源: 互聯網
相關推薦

2019-11-07 09:20:29

Java線程操作系統

2011-07-21 08:43:38

2017-07-18 10:14:23

OracleMerge into教程

2009-06-22 09:23:18

事件監聽器

2011-06-30 10:49:27

2011-06-30 10:36:22

JSF

2016-08-31 14:01:31

MySQL存儲數據庫

2017-09-19 14:53:37

Java并發編程并發代碼設計

2012-03-09 10:44:11

Java

2009-07-06 13:29:09

Servlet教程

2021-03-10 15:59:39

JavaSynchronize并發編程

2011-06-08 15:21:18

多維數組

2025-06-18 08:10:00

Java并發編程開發

2011-07-05 14:42:46

java

2011-04-14 10:38:58

Java編程Java

2020-05-29 07:20:00

Java8異步編程源碼解讀

2009-07-24 09:20:15

數組實例

2020-07-06 08:03:32

Java悲觀鎖樂觀鎖

2009-06-17 11:23:00

Java多線程

2010-06-11 09:01:02

.NET 4并行編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线免费播放 | 玖玖视频免费 | 久久精品一| 91精品国产综合久久福利软件 | 一区二区小视频 | 影音先锋欧美资源 | 日日骚网| 日韩精品1区2区 | 蜜桃免费一区二区三区 | 久久精品欧美一区二区三区不卡 | 久久国产精品久久久久久 | 中文字幕日韩欧美 | 国产精品久久久久久久久久免费看 | 九九热热九九 | 亚洲在线 | 成人免费淫片aa视频免费 | 中文字幕乱码一区二区三区 | 亚洲天堂一区二区 | 性一交一乱一伦视频免费观看 | 精品欧美一区二区三区 | 精品久久久久久久久久久久 | 91影片| 成人性生交大片免费看中文带字幕 | 日本久久精品视频 | 亚洲精品久久久9婷婷中文字幕 | 国产精品视频网 | 狠狠婷婷综合久久久久久妖精 | 射久久 | 一区二区三区不卡视频 | 中文字幕亚洲一区二区三区 | 欧美一级二级三级视频 | 毛片a级 | 国产成人精品一区二区三 | 久久久999国产精品 中文字幕在线精品 | 天天操天天操 | 黄色a三级 | 久久精品国产一区 | 日韩成人免费av | 欧洲一区视频 | 亚洲综合首页 | 久久激情五月丁香伊人 |