java數(shù)據(jù)類型與變量的安全性介紹
一、標(biāo)識(shí)符
在java中規(guī)定標(biāo)識(shí)符中只能包含:字母,數(shù)字及下劃線和$ 符號(hào),但不能以數(shù)字開頭,嚴(yán)格區(qū)分大小寫.
參考標(biāo)準(zhǔn)當(dāng)中的規(guī)定:
1.類名:大駝峰,每個(gè)單詞首字母大寫(HelloWorld)
2.方法名:小駝峰,從第二個(gè)單詞開始每個(gè)單詞首字母大寫(helloWorld)
3.變量名:小駝峰
不合法標(biāo)識(shí)符如下(示例):
- 1.public(關(guān)鍵字)
- 2.520shy(數(shù)字開頭)
- 3.zhao.d(出現(xiàn)陌生符號(hào))
二、數(shù)據(jù)類型
java當(dāng)中的整型與浮點(diǎn)數(shù)都是嚴(yán)格帶有符號(hào)位

java中有8種基本數(shù)據(jù)類型
如下(示例):

大家特別應(yīng)該注意:
1.在java種字符型占2字節(jié),因?yàn)樵贑語言種使用的是ASCII編碼,java種使用的是unicode編碼方式.
2.不論是在x64,x86環(huán)境下,int都占用4字節(jié),long占用8字節(jié).
三、變量
因?yàn)镴ava是一門安全性十分高的語言,在我們?nèi)腴T的時(shí)候,會(huì)犯各種各樣的小錯(cuò)誤,讓我們一起來探究一下吧.
1.無初始化
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的包裝類進(jìn)行計(jì)算:


我們可以看到在最上面的程序中賦值超過了Int的范圍,所以編譯的時(shí)候會(huì)報(bào)錯(cuò).
3.long與float的使用
在java中默認(rèn)整型為int型,浮點(diǎn)型默認(rèn)為double

有以下規(guī)定:
- 1.在定義float類型時(shí)在數(shù)據(jù)后面加一個(gè)f
- 2.在定義long類型時(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ù)的精度問題
public static void main(String[] args) {
double ret=1.1;
System.out.println(ret*ret);
}
因?yàn)楦↑c(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)問題,double類型的內(nèi)存遵守IEEE 754標(biāo)準(zhǔn),因?yàn)樵诖鎯?chǔ)時(shí)會(huì)有一定的精度誤差,所以浮點(diǎn)數(shù)并不是一個(gè)準(zhǔn)確值,而是一個(gè)近似值.
6.boolean類型變量的使用
public static void main(String[] args) {
double ret=1.1;
System.out.println(ret*ret);
}
在Java中不存在0表示假,1表示真的說法.
boolean類型的變量只有兩種取值,true表示真,false表示假
7.類型提升
情況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)算過程中會(huì)把a(bǔ),b都提升為Int在計(jì)算.
CPU通常是按照4個(gè)字節(jié)從內(nèi)存中讀寫數(shù)據(jù),為了實(shí)現(xiàn)方便,所以低于4字節(jié)的類型,會(huì)先提升為Int,在計(jì)算.
四、初始字符串
在java中引入了一種新的數(shù)據(jù)類型:字符串類型.
public static void main(String[] args) {
String s1="woyao";
String s2="jindachang";
System.out.println(s1+s2);
}
到此這篇關(guān)于java數(shù)據(jù)類型與變量的安全性介紹的文章就介紹到這了,更多相關(guān)java數(shù)據(jù)類型 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn)教程
開發(fā)過程中,后臺(tái)的參數(shù)校驗(yàn)是必不可少的,下面這篇文章主要給大家介紹了關(guān)于SpringBoot參數(shù)校驗(yàn)的最佳實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
使用Java的方式模擬Flutter的Widget實(shí)現(xiàn)多層括號(hào)嵌套
這篇文章主要介紹了使用Java的方式模擬Flutter的Widget的實(shí)現(xiàn)多層括號(hào)嵌套問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
Java編程實(shí)現(xiàn)的二維數(shù)組轉(zhuǎn)置功能示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)的二維數(shù)組轉(zhuǎn)置功能,結(jié)合實(shí)例形式分析了Java二維數(shù)組的遍歷、運(yùn)算、賦值等實(shí)現(xiàn)轉(zhuǎn)置的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
java遞歸菜單樹轉(zhuǎn)換成pojo對(duì)象
這篇文章介紹了java遞歸菜單樹轉(zhuǎn)換成pojo對(duì)象的具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-08-08
Java throw Exception實(shí)現(xiàn)異常轉(zhuǎn)換
這篇文章主要介紹了Java throw Exception實(shí)現(xiàn)異常轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Java運(yùn)行Python腳本的幾種方式小結(jié)
在跨語言編程中,有時(shí)候我們需要在 Java 應(yīng)用程序中執(zhí)行 Python 腳本,這可能是為了利用 Python 豐富的庫生態(tài)系統(tǒng),或者是為了在已有 Java 系統(tǒng)中集成一些 Python 特有的功能,本文給大家介紹了實(shí)現(xiàn)這幾種目標(biāo)的方法,需要的朋友可以參考下2024-12-12

