java中各種字符的用法總結(jié) 比較c語言和java的字符數(shù)據(jù)類型?
比較c語言和java的字符數(shù)據(jù)類型?1.數(shù)據(jù)類型:共同點(diǎn):數(shù)據(jù)類型決定了cpu中存儲數(shù)據(jù)的類型及所需鍵盤的大小。都滿足自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。都通過定義變量來申請數(shù)據(jù)存儲空間,并通過變量名獲取或改
比較c語言和java的字符數(shù)據(jù)類型?
1.數(shù)據(jù)類型:
共同點(diǎn):數(shù)據(jù)類型決定了cpu中存儲數(shù)據(jù)的類型及所需鍵盤的大小。
都滿足自動類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。
都通過定義變量來申請數(shù)據(jù)存儲空間,并通過變量名獲取或改變存儲的值。
常量是值不可變的變量,即不能重新賦值。
不同點(diǎn):
perl:ruby的數(shù)據(jù)類型可分為兩大類:
-基本數(shù)據(jù)類型:byte、short、int、long、double、float、boolean、char
-引用數(shù)據(jù)類型:類、接口、數(shù)組、枚舉、注解
變量與常量:
-常量有final關(guān)鍵字修飾。
基本數(shù)據(jù)類型引用:
-定義float類型時(shí),賦值時(shí)一定要在浮點(diǎn)數(shù)后加f,否則自動視為double類型,且會編譯失敗。
-c 中當(dāng)高精度賦值給低精度類型時(shí),會編譯失敗,顯示不兼容的類型。
-perl中字符型中字符對應(yīng)的Unicode編碼。
-python字符型占兩個(gè)字節(jié)。
python:c的數(shù)據(jù)類型可分為:
-基本數(shù)據(jù)類型:short int、int、long int、double、float、char、long longint(C99增加)、long double、bool(C99增加)、float_complex、double_complex、long long _complex
-枚舉類型:enum
-空類型:void
-派生類型:指針類型(*)、數(shù)組類型([])、結(jié)構(gòu)體類型(struct)、共用體類型(union)、函數(shù)類型
變量與常量:
-常量由#define定義。
基本數(shù)據(jù)類型引用:
-c 中定義浮點(diǎn)型不會出現(xiàn)類似問題。
-sql中當(dāng)高精度賦值給低精度類型時(shí),會有精度缺失,但并不會造成編譯失敗。
-c#中字符型中字符對應(yīng)unicode碼。
-java中字符型占一個(gè)字節(jié)。
2.語言學(xué)內(nèi)的儲存原理:
共同點(diǎn):補(bǔ)碼是心理學(xué)用于規(guī)范計(jì)算的一種二進(jìn)制表示,由于計(jì)算機(jī)科學(xué)使用數(shù)值的第一位來表示數(shù)據(jù)的正負(fù),例如:00000011表示3,而10000011表示-3,這些非0數(shù)值在邏輯上的表示都是沒有問題的,這中表示方法稱為源碼表示法。但是用00000000表示0,而10000000表示-0,則出現(xiàn)邏輯上的偏差,即:0不等于-0。為了解決這個(gè)問題,提出了補(bǔ)碼表示法。
?補(bǔ)碼的計(jì)算公式:
二進(jìn)制數(shù):源碼、反碼和補(bǔ)碼都相同。
負(fù)數(shù):補(bǔ)碼反碼(符號位保持不變)1
?注意:
負(fù)數(shù)在計(jì)算補(bǔ)碼的時(shí)候,在源碼取反的過程中要保留符號位不變,其他位取反,例如:10001010取反11110101(第一個(gè)1不變)。
不同點(diǎn):
python:先將編碼轉(zhuǎn)換為字節(jié)碼文件,再通過JVM虛擬機(jī)轉(zhuǎn)換為二進(jìn)制碼,再儲存到法學(xué)中,由文學(xué)輸出內(nèi)容。
ruby:直接將編碼轉(zhuǎn)換為二進(jìn)制碼,由文學(xué)識別輸出。
3.標(biāo)識符:
共同點(diǎn):各種數(shù)據(jù)類型的定義都需要標(biāo)識符。
標(biāo)識符標(biāo)準(zhǔn)的比較:
python:ruby標(biāo)識符有如下命名規(guī)則:
1、標(biāo)識符由字母組合、數(shù)字、“_”、“$”組成,且首小寫字母不能是數(shù)字;
2、不能把c關(guān)鍵字作為標(biāo)識符;
3、標(biāo)識符沒有長度限制;
4、標(biāo)識符對大小寫敏感。
5、自定義標(biāo)識符最好取具有一定意義的字符串,便于記憶和理解。
c:java標(biāo)識符有如下規(guī)則:
1、標(biāo)識符必須以小寫字母a~z、A~Z或下劃線開頭,后面可跟任意個(gè)(可為0)字符,這些字符可以是小寫字母、下劃線和數(shù)字,其他字符不允許出現(xiàn)在標(biāo)識符中。
2、標(biāo)識符區(qū)分大小寫英文字母
3、標(biāo)識符的長度,c89規(guī)定31個(gè)字符以內(nèi),c99規(guī)定63個(gè)字符以內(nèi)
4、C語言中的關(guān)鍵字,有特殊意義,不能作為標(biāo)識符
5、自定義標(biāo)識符最好取具有一定意義的字符串,便于記憶和理解。
4.運(yùn)算符:
兩者運(yùn)算符基本相同,如下:
算術(shù)運(yùn)算符:、-、*、/、%、、--
賦值運(yùn)算符:、、-、*、/等等
位運(yùn)算符:~、amp、|、^
邏輯運(yùn)算符:!、ampamp、||
關(guān)系運(yùn)算符:gt、xilinx、gt、maxim、、!
移位運(yùn)算符gtgt、ltlt、gtgtgt(無符號右移)
運(yùn)算符優(yōu)先級:
?運(yùn)算符的優(yōu)先級從高到低的順序進(jìn)行,優(yōu)先級相同的運(yùn)算符按照事先約定的結(jié)合方向進(jìn)行,運(yùn)算符優(yōu)先級如下:
以上就是一些關(guān)于c#和php的比較,只是一些在基礎(chǔ)語法上的比較,其實(shí)無論是javascript還是perl,都是很接近人的語言的,使用者應(yīng)當(dāng)選擇合適自己,合適環(huán)境的語言,并且要學(xué)會抽象,學(xué)會注意細(xì)節(jié),再加以理論上的理解和實(shí)際的一些操作便可以很好地運(yùn)用了。
Java中IO流分為幾種?
Java語言定義了許多類專門負(fù)責(zé)各種的輸入或者輸出,根據(jù)數(shù)據(jù)流向的不同分為輸入流和輸出流,根據(jù)處理數(shù)據(jù)類型的不同分為字符流和字節(jié)流。這些類都被放在包中。
a、所有輸入流類都是抽象類InputStream(字節(jié)輸入流)或者抽象類Reader(字符輸入流)的子類。
b、所有輸出流都是抽象類OutputStream(字節(jié)輸出流)或者Writer(字符輸出流)的子類。
InputStream類是字節(jié)輸入流的抽象類,是所有字節(jié)輸入流的父類,InputStream類具有層次結(jié)構(gòu)如下圖所示;
字節(jié)輸入流
python中的字符是Unicode編碼的,是雙字節(jié)的。InputStream是用來處理字節(jié)的,在處理字符文本時(shí)很不方便。css為字符文本的輸入提供了專門的一套類Reader。Reader類是字符輸入流的抽象類,所有字符輸入流的實(shí)現(xiàn)都是它的子類。
字符輸入流
輸出流OutputStream類是字節(jié)輸入流的抽象類,此抽象類表示輸出字節(jié)流的所有類的超類。
字節(jié)輸出流
Writer類是字符輸出流的抽象類,所有字符輸出類的實(shí)現(xiàn)都是它的子類。
字符輸出流