java定义基础变量语句_java语言基础-变量
一丶變量的基本概念
1.什么是變量
(1).內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域
(2).該區(qū)域有自己的名稱(chēng)(變量名),和類(lèi)型(數(shù)據(jù)類(lèi)型)
(3.)該區(qū)域的數(shù)據(jù)可以在同一類(lèi)型范圍內(nèi)不斷變化(定義變量的主要目的是因?yàn)閿?shù)據(jù)的不確定性)
2.為什么要定義變量
用來(lái)不斷存放同一類(lèi)型的常量,并可以重復(fù)使用
3.變量的類(lèi)型
一般使用使用Int,byte也比較常用 ?因?yàn)樗菙?shù)據(jù)的最小單元
二丶類(lèi)型的提升&強(qiáng)制轉(zhuǎn)換
1.兩個(gè)不同類(lèi)型無(wú)法進(jìn)行 計(jì)算 ,因?yàn)閮?nèi)存空間大小不一致
2.除非是數(shù)值類(lèi)型,因?yàn)榭梢灶?lèi)型自動(dòng)提升
注:圖中是byte類(lèi)型自動(dòng)類(lèi)型提升為整型 ?音為byte類(lèi)型是一個(gè)八位,int 是四個(gè)八位,所以可以自動(dòng)提升,反之,int 自動(dòng)類(lèi)型轉(zhuǎn)換byte則不可以 ,因?yàn)闀?huì)丟失精度
如果必須要將byte轉(zhuǎn)換為Int 類(lèi)型 ,則需要強(qiáng)制類(lèi)型轉(zhuǎn)換(int有四個(gè)8位,若要強(qiáng)制轉(zhuǎn)為為byte 則會(huì)把前面三個(gè)8位舍棄掉,丟失精度,慎用)
三丶類(lèi)型運(yùn)算細(xì)節(jié)
//1
byte a=4;
a=3+7;
//2
byte b=3;byte c=7;
a=b+c;
System.out.println(a);
1.第一代碼塊執(zhí)行過(guò)程是首先聲明變量,判斷賦給變量的值是否在byte類(lèi)型的取值范圍內(nèi)(-128~127)如果在,則會(huì)自動(dòng)將int類(lèi)型轉(zhuǎn)換為byte類(lèi)型(也就是去掉前面的3個(gè)8位),第二行復(fù)制代碼,因?yàn)?和7的和是整型,所以在賦值時(shí)也是先判斷賦給a的值是否在byte類(lèi)型范圍內(nèi),如果存在,則賦值給a,如果不存在則編譯報(bào)錯(cuò);
2.第二代碼塊同上,聲明兩個(gè)變量,然后把兩個(gè)變量值相加,因?yàn)閎和c是變量,變量的值是變化的,不確定的,因?yàn)闊o(wú)法再程序運(yùn)行之前判斷兩個(gè)變量的值是否在byte取值范圍內(nèi),所有會(huì)直接編譯報(bào)錯(cuò)。
int a=5;int b=Integer.MAX_VALUE;int c=10;
a=b+c;
System.out.println(a);
1.而int 類(lèi)型不會(huì)出現(xiàn)問(wèn)題,因?yàn)檎陀?jì)算得到的所有結(jié)果都是整型,如果運(yùn)算結(jié)果大于整型取值范圍,則會(huì)去掉高位,保留32位
總結(jié)
以上是生活随笔為你收集整理的java定义基础变量语句_java语言基础-变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js ajax java传参_ajax参
- 下一篇: elif是不是java关键字_C# 中的