内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java和c語言的差異-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)java和c語言的差異,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

為綏化等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及綏化網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、綏化網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

1、標(biāo)識(shí)符:

C可用的標(biāo)識(shí)符為數(shù)字、大小寫字母、下劃線,不能以數(shù)字開頭;

Java可用的標(biāo)識(shí)符除了C的三種以外,多一種美元符號(hào)($),同樣不能以數(shù)字開頭。

2、關(guān)鍵字:

C中的關(guān)鍵字有:

auto   break    case    char   const

continue   default    do    double   else

enum   extern    float    for   goto

if   int    long    register   return

short   signed    sizeof    static   struct

switch   typedef    union    unsigned   void

volatile   while

Java中的關(guān)鍵字有:

abstract   boolean    break    byte   case

catch   char    class    continue   default

do   double    else    extends   false

final   finally    float    for   if

implements    import   instanceof    int    interface

long   native    new    null   package

private   protected    public    return   short

this   throw    throws    transient   true

try   static    super    switch   synchronized

void   volatile    while

3、數(shù)據(jù)類型:

C中的數(shù)據(jù)類型有:

  1. 基本類型:整型(基本整型int、短整型short[int]和長整型long [int]以及有符號(hào)型[signed]、無符號(hào)型unsigned)、字符型[signed/unsigned ]char、浮點(diǎn)型(單精度型float、雙精度型double和長雙精度long double)、枚舉類型

  2. 構(gòu)造類型:數(shù)組類型、結(jié)構(gòu)體類型、共用體類型

  3. 指針類型

  4. 空類型

注意下各類型一般所占字節(jié)數(shù):

int:2字節(jié)

short:2字節(jié)

long:4字節(jié)

char:1字節(jié)

float:4字節(jié)

double:8字節(jié)

long double:16字節(jié)

以上存儲(chǔ)除char類型外,其他視系統(tǒng)不同略有不同,但低精度的位數(shù)不可以超過高精度的。

Java中的數(shù)據(jù)類型:

  1. 基本類型:字符型(char)、數(shù)值型(整型(字節(jié)型byte、短整型short、整型int、長整型long)、浮點(diǎn)型(單精度型float、雙精度型double))、布爾型(boolean(true或false))

  2. 復(fù)合類型:類、接口、數(shù)組

注意下各類型存儲(chǔ)所占字節(jié)數(shù):

byte:1字節(jié)

short:2字節(jié)

int:4字節(jié)

long:8字節(jié)

char:2字節(jié)(Unicode編碼)

float:4字節(jié)

double:8字節(jié)

以上數(shù)據(jù)類型對(duì)應(yīng)的存儲(chǔ)空間與平臺(tái)無關(guān),固定為該值。

4、常量和變量

1)常量

Java和C中整型常量定義相同,除長整型數(shù)據(jù)在其末尾加l或L外,其他類型均直接顯示數(shù)值。C中無符號(hào)常量在其后加u或U。對(duì)于不同進(jìn)制,十進(jìn)制直接顯示最高位不能有0,八進(jìn)制以0開頭,十六進(jìn)制以0x或0X開頭。

對(duì)于浮點(diǎn)類型,C和Java均只能采用十進(jìn)制表示??墒褂眯?shù)形式和指數(shù)形式,指數(shù)形式表示時(shí)小數(shù)與指數(shù)之間用e或E分隔。注意Java中要求單精度后要加f或F,雙精度后要加d或D以示區(qū)分。

字符型常量都是以單引號(hào)引起來的單個(gè)字符或轉(zhuǎn)義字串表示。特別注意,C中字符型只能表示ASCII碼從0~255的字符,Java中使用Unicode編碼2字節(jié)存儲(chǔ)單元可以表示特殊字符,表示unicode編碼時(shí)使用\u加4位16進(jìn)制字串。

布爾類型只有Java中才有,需特別注意。

Java中常量用關(guān)鍵字final修飾,一經(jīng)賦值不可更改;C中表示不可更改的關(guān)鍵字是const,其修飾的變量(注意是變量,不是常量)必須在定義時(shí)賦初值,另外用#define定義的宏常量沒有類型。

2)變量

Java和C中變量的定義基本相同,即:

數(shù)據(jù)類型變量名[ = 變量初值];

變量可賦初值也可不賦,但Java中長整型和浮點(diǎn)型數(shù)后要加相應(yīng)識(shí)別標(biāo)志(如l、f)。

特別注意:由于編譯器的不同,C申明變量要放在可執(zhí)行語句之前,否則可能發(fā)生編譯錯(cuò)誤。

5、邏輯運(yùn)算符和位運(yùn)算符

C和Java中都有的邏輯運(yùn)算符&&||、三種,且意義相同,區(qū)別在于C中運(yùn)算結(jié)果為0和非0,Java中只能是ture或false。Java中還存在&、|、^(異或),&和&&、|和||的區(qū)別在于前者是非捷徑運(yùn)算符而后者是捷徑運(yùn)算符,即&前后都做判斷,&&前為假不做后面的判斷,|前后都做判斷,||前為真不做后面的判斷。^表示兩者相同為假。

C和Java中都有的位運(yùn)算符是:&、|^、~(取反)<<(左移)、>>(右移),意義基本相同。負(fù)數(shù)的右移運(yùn)算在C中視不同系統(tǒng)有所不同(可能是算術(shù)右移也可能是邏輯右移),而Java中>>表示的是算術(shù)右移,即最高位填充符號(hào)位。Java中邏輯右移(無符號(hào)右移)運(yùn)算符是>>>,采用補(bǔ)碼右移,高位添0。

PS:有心的讀者可能會(huì)發(fā)現(xiàn),如果你定義了一個(gè)byte或者short類型的負(fù)數(shù),如-10,采用>>>方法進(jìn)行無符號(hào)右移后輸出的結(jié)果是-5,按照上面說的高位添0應(yīng)該是正數(shù)。而int或long類型的就不會(huì)是負(fù)數(shù),這是為什么呢?我認(rèn)為這是因?yàn)镴ava在進(jìn)行>>>運(yùn)算時(shí)采用的最低數(shù)據(jù)類型是int類型,導(dǎo)致高位數(shù)據(jù)全為1(計(jì)算機(jī)內(nèi)存儲(chǔ)的數(shù)據(jù)是以補(bǔ)碼存儲(chǔ)的,所以負(fù)數(shù)的byte或short類型轉(zhuǎn)成int類型高位全填充1),移位時(shí)高位的最后一個(gè)1移到低位的第一位,然后截取成我們定義的數(shù)據(jù)類型(byte或short),所以我們看到的數(shù)還是負(fù)數(shù)。從這里我們可以看出,在byte和short類型的數(shù)據(jù)做>>>運(yùn)算的時(shí)候可能得不到我們想要的值,千萬注意。

6、數(shù)組

C中數(shù)組的定義如下:

類型說明符數(shù)組名[常量表達(dá)式];

定義可與初始化同時(shí)進(jìn)行,如:int a[10] = {0,1,2,3,4,5,6,7,8,9};中括號(hào)內(nèi)的常量可以省略。

Java中數(shù)組定義有兩種方式:

數(shù)據(jù)類型數(shù)組名[];
//或
數(shù)據(jù)類型 []數(shù)組名;

定義和初始化可同時(shí)進(jìn)行,如:int []a = {0,1,2,3,4,5,6,7,8,9};

注意:Java中數(shù)組如果在定義時(shí)沒有進(jìn)行初始化,在進(jìn)行初始化的時(shí)候需要先分配內(nèi)存,即:

數(shù)組名 = new 數(shù)據(jù)類型[常量表達(dá)式];

也可在定義同時(shí)進(jìn)行內(nèi)存分配:

數(shù)據(jù)類型數(shù)組名[] = new 數(shù)據(jù)類型[常量表達(dá)式];

C和Java都不支持變長數(shù)組,引用的時(shí)候都是 數(shù)組名[下標(biāo)]。區(qū)別是:

Java的下標(biāo)范圍為0~數(shù)組長度-1,不在該范圍會(huì)拋出數(shù)組下標(biāo)越界異常,而C有效范圍也是0~數(shù)組長度-1,但下標(biāo)超出此界不會(huì)報(bào)錯(cuò)。

多維數(shù)組中,數(shù)組元素都是按行排列的。

還有一點(diǎn)要注意:C中定義數(shù)組不進(jìn)行初始化則數(shù)組元素值是不可預(yù)知的,而Java中分配內(nèi)存而不進(jìn)行初始化數(shù)組中是有默認(rèn)值的。

7、語句

C和Java語句區(qū)別不大,主要是:

1)方法/函數(shù)調(diào)用時(shí)C直接調(diào)用函數(shù),Java調(diào)用方法時(shí)方法名前面要加對(duì)象名。

2)C中兩個(gè)嵌套的復(fù)合語句同時(shí)定義同名變量是可以的,而Java不可以。

以上就是java和c語言的差異,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:java和c語言的差異-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article26/copecg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、電子商務(wù)、虛擬主機(jī)、網(wǎng)站制作、商城網(wǎng)站、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
延安市| 淅川县| 博湖县| 临猗县| 全州县| 临猗县| 都兰县| 正镶白旗| 特克斯县| 顺平县| 甘肃省| 马龙县| 阿拉善左旗| 本溪| 滨海县| 普洱| 新余市| 萝北县| 磴口县| 望城县| 咸丰县| 湖北省| 河津市| 高邑县| 定兴县| 龙门县| 弥勒县| 迁西县| 元朗区| 沙湾县| 闸北区| 民权县| 天门市| 独山县| 凯里市| 砀山县| 交城县| 定陶县| 光山县| 兰西县| 左云县|