java數(shù)據(jù)類(lèi)型與變量的安全性介紹
一、標(biāo)識(shí)符
在java中規(guī)定標(biāo)識(shí)符中只能包含:字母,數(shù)字及下劃線和$ 符號(hào),但不能以數(shù)字開(kāi)頭,嚴(yán)格區(qū)分大小寫(xiě).
參考標(biāo)準(zhǔn)當(dāng)中的規(guī)定:
1.類(lèi)名:大駝峰,每個(gè)單詞首字母大寫(xiě)(HelloWorld)
2.方法名:小駝峰,從第二個(gè)單詞開(kāi)始每個(gè)單詞首字母大寫(xiě)(helloWorld)
3.變量名:小駝峰
不合法標(biāo)識(shí)符如下(示例):
- 1.public(關(guān)鍵字)
- 2.520shy(數(shù)字開(kāi)頭)
- 3.zhao.d(出現(xiàn)陌生符號(hào))
二、數(shù)據(jù)類(lèi)型
java當(dāng)中的整型與浮點(diǎn)數(shù)都是嚴(yán)格帶有符號(hào)位
java中有8種基本數(shù)據(jù)類(lèi)型
如下(示例):
大家特別應(yīng)該注意:
1.在java種字符型占2字節(jié),因?yàn)樵贑語(yǔ)言種使用的是ASCII編碼,java種使用的是unicode編碼方式.
2.不論是在x64,x86環(huán)境下,int都占用4字節(jié),long占用8字節(jié).
三、變量
因?yàn)镴ava是一門(mén)安全性十分高的語(yǔ)言,在我們?nèi)腴T(mén)的時(shí)候,會(huì)犯各種各樣的小錯(cuò)誤,讓我們一起來(lái)探究一下吧.
1.無(wú)初始化
public static void main(String[] args) { int a; System.out.println(a); }
在java當(dāng)中,局部變量未進(jìn)行初始化,系統(tǒng)會(huì)編譯錯(cuò)誤.
解決方案:
1.初始化
2.賦值
public static void main(String[] args) { int a; a=10;//1.賦值 System.out.println(a); int b=10;//2.初始化 System.out.println(b); }
2.賦值超出范圍
public static void main(String[] args) { int a=2147483648; System.out.println(a); }
在這里我們探討一下整數(shù)的范圍:因?yàn)閖ava的數(shù)據(jù)是具有符號(hào)位的.
在這里我們使用Java的包裝類(lèi)進(jìn)行計(jì)算:
我們可以看到在最上面的程序中賦值超過(guò)了Int的范圍,所以編譯的時(shí)候會(huì)報(bào)錯(cuò).
3.long與float的使用
在java中默認(rèn)整型為int型,浮點(diǎn)型默認(rèn)為double
有以下規(guī)定:
- 1.在定義float類(lèi)型時(shí)在數(shù)據(jù)后面加一個(gè)f
- 2.在定義long類(lèi)型時(shí)在數(shù)據(jù)后面加一個(gè)L
public static void main(String[] args) { float a=3.5f; long b=10L; }
4.除法的使用
public static void main(String[] args) { int a=3; int b=2; System.out.println(a/b); }
這里會(huì)輸出1.5嗎?
在Java中,int值只能保存整數(shù)部分,不管小數(shù)多少,直接舍棄
解決方案:
public static void main(String[] args) { int a=3; int b=2; System.out.println(a*1.0/b); double c=3.0; double d=2.0; System.out.println(c/d); }
5.浮點(diǎn)數(shù)的精度問(wèn)題
public static void main(String[] args) { double ret=1.1; System.out.println(ret*ret); }
因?yàn)楦↑c(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)問(wèn)題,double類(lèi)型的內(nèi)存遵守IEEE 754標(biāo)準(zhǔn),因?yàn)樵诖鎯?chǔ)時(shí)會(huì)有一定的精度誤差,所以浮點(diǎn)數(shù)并不是一個(gè)準(zhǔn)確值,而是一個(gè)近似值.
6.boolean類(lèi)型變量的使用
public static void main(String[] args) { double ret=1.1; System.out.println(ret*ret); }
在Java中不存在0表示假,1表示真的說(shuō)法.
boolean類(lèi)型的變量只有兩種取值,true表示真,false表示假
7.類(lèi)型提升
情況1:
public static void main(String[] args) { int a=2; long b=3L; int c=a+b; }
int與long進(jìn)行計(jì)算時(shí),會(huì)把int轉(zhuǎn)換成long,所以存放給int時(shí)會(huì)報(bào)錯(cuò).
情況2:
public static void main(String[] args) { short a=10; short b=20; short c=a+b; }
原因如下:a和b都是short,在運(yùn)算過(guò)程中會(huì)把a(bǔ),b都提升為Int在計(jì)算.
CPU通常是按照4個(gè)字節(jié)從內(nèi)存中讀寫(xiě)數(shù)據(jù),為了實(shí)現(xiàn)方便,所以低于4字節(jié)的類(lèi)型,會(huì)先提升為Int,在計(jì)算.
四、初始字符串
在java中引入了一種新的數(shù)據(jù)類(lèi)型:字符串類(lèi)型.
public static void main(String[] args) { String s1="woyao"; String s2="jindachang"; System.out.println(s1+s2); }
到此這篇關(guān)于java數(shù)據(jù)類(lèi)型與變量的安全性介紹的文章就介紹到這了,更多相關(guān)java數(shù)據(jù)類(lèi)型 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
eclipse連接不到genymotion問(wèn)題的解決方案
今天小編就為大家分享一篇關(guān)于eclipse連接不到genymotion問(wèn)題的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Java數(shù)據(jù)庫(kù)連接池連接Oracle過(guò)程詳解
這篇文章主要介紹了Java數(shù)據(jù)庫(kù)連接池連接Oracle過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09SpringBoot手動(dòng)使用EhCache的方法示例
本篇文章主要介紹了SpringBoot手動(dòng)使用EhCache的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02純Java代碼實(shí)現(xiàn)流星劃過(guò)天空
本文給大家介紹純java代碼實(shí)現(xiàn)流星劃過(guò)天空,包括流星個(gè)數(shù),流星飛行的速度,色階,流星大小相關(guān)變量設(shè)置。對(duì)java流星劃過(guò)天空特效代碼感興趣的朋友可以參考下本文2015-10-10