c++变量重新赋值_Java基础二:一文讲透变量与数据类型
什么是變量:
java是強類型語言,所有的變量都必須先聲明才能使用,聲明變量時必須指定變量存儲信息的類型。變量的聲明一般使用名值對的方式,包含變量名和變量值,通過變量名可以引用變量值,也可以修改變量名的值。
首先,聲明一個變量的基本格式是:
數據類型 變量名;
int type;boolean flag;
float score;
上面提到變量的聲明一般使用名值對的格式,具體格式如下:
數據類型 變量名 = 數值;
int box=100;int a=300;
boolean f=true;
可以在同一行同時聲明多個同一類型的變量,這樣可以簡化我們的代碼,提高可閱讀性,具體格式如下:
int a,b,c;上面例子中,同時聲明了三個整型變量(a,b,c),變量和變量之間使用英文逗號(,)隔開。當然我們也是可以想上面介紹的,為變量賦予初始值。如下面這個例子:
//變量a和變量c分別賦予了初始值。int a=100,b,c=20;
變量聲明后,我們就可以通過變量名引用變量值或者修改變量名所存儲的值了。在同一作用域下,變量只能聲明一次,但是可以多次的賦值,不斷根據程序的需要修改變量原來存儲的變量值。具體格式如下:
變量名 = 新的數值;
引用該變量名的值就更簡單了,直接使用變量名即可。如下面這個例子:
//聲明變量a,并同時賦初始化值是100;int a=100;
//引用變量a,這時候輸出的是變量所存儲的值,應該是100
System.out.println(a);
//為賦值200
a=200;
//再次引用變量a,輸出的也是變量所存儲的值,但這時候應該是200了
System.out.println(a);
三、變量的命名規范
Java語言中,變量命名要符合一定規則。標識符是賦予變量、類或方法的名稱。標識符可從一個字母、下劃線(_)或美元符號($)開始,隨后也可跟數字。標識符是大小寫區別對待的并且未規定最大長度。
有效標識符如下:
identifier , userName ,User_name , _sys_varl ,$change
無效標識符如下:
123abc , abc¥5 ,abc ert , add34)
java的變量命名還有很多約定俗成的習慣,雖然你不按照這樣的命名習慣也不會出現語法錯誤,不過為了提高程序的可讀性,我們建議你還是使用下面的這幾個習慣。
基本數據類型基本數據類型:
基本數據類型是CPU可以直接進行運算的類型。Java定義了以下幾種基本數據類型:
整數類型:byte,short,int,long
浮點數類型:float,double
字符類型:char
布爾類型:boolean
Java定義的這些基本數據類型有什么區別呢?要了解這些區別,我們就必須簡單了解一下計算機內存的基本結構。
計算機內存的最小存儲單元是字節(byte),一個字節就是一個8位二進制數,即8個bit。它的二進制表示范圍從00000000~11111111,換算成十進制是0~255,換算成十六進制是00~ff。
內存單元從0開始編號,稱為內存地址。每個內存單元可以看作一間房間,內存地址就是門牌號。
0 ? 1 ? 2 ? 3 ? 4 ? 5 ? 6 ?...┌───┬───┬───┬───┬───┬───┬───┐
│ ? │ ? │ ? │ ? │ ? │ ? │ ? │...
└───┴───┴───┴───┴───┴───┴───┘
一個字節是1byte,1024字節是1K,1024K是1M,1024M是1G,1024G是1T。一個擁有4T內存的計算機的字節數量就是:
4T = 4 x 1024G? = 4 x 1024 x 1024M
? = 4 x 1024 x 1024 x 1024K
? = 4 x 1024 x 1024 x 1024 x 1024
? = 4398046511104
不同的數據類型占用的字節數不一樣。我們看一下Java基本數據類型占用的字節數:
? ? ? ┌───┐?byte │ ? │
? ? ? └───┘
? ? ? ┌───┬───┐
short │ ? │ ? │
? ? ? └───┴───┘
? ? ? ┌───┬───┬───┬───┐
? int │ ? │ ? │ ? │ ? │
? ? ? └───┴───┴───┴───┘
? ? ? ┌───┬───┬───┬───┬───┬───┬───┬───┐
?long │ ? │ ? │ ? │ ? │ ? │ ? │ ? │ ? │
? ? ? └───┴───┴───┴───┴───┴───┴───┴───┘
? ? ? ┌───┬───┬───┬───┐
float │ ? │ ? │ ? │ ? │
? ? ? └───┴───┴───┴───┘
? ? ? ┌───┬───┬───┬───┬───┬───┬───┬───┐
double │ ? │ ? │ ? │ ? │ ? │ ? │ ? │ ? │
? ? ? └───┴───┴───┴───┴───┴───┴───┴───┘
? ? ? ┌───┬───┐
?char │ ? │ ? │
? ? ? └───┴───┘
byte恰好就是一個字節,而long和double需要8個字節。
整型
對于整型類型,Java只定義了帶符號的整型,因此,最高位的bit表示符號位(0表示正數,1表示負數)。各種整型能表示的最大范圍如下:
byte:-128 ~ 127
short: -32768 ~ 32767
int: -2147483648 ~ 2147483647
long: -9223372036854775808 ~ 9223372036854775807
我們來看定義整型的例子:
15=0xf=0b1111。浮點型
浮點類型的數就是小數,因為小數用科學計數法表示的時候,小數點是可以“浮動”的,如1234.5可以表示成12.345x102,也可以表示成1.2345x103,所以稱為浮點數。
下面是定義浮點數的例子:
float f1 = float f2 = double d = double d2 = -double d3 =對于float類型,需要加上f后綴。
浮點數可表示的范圍非常大,float類型可最大表示3.4x1038,而double類型可最大表示1.79x10308。
布爾類型
布爾類型boolean只有true和false兩個值,布爾類型總是關系運算的計算結果:
boolean b1 = boolean b2 = boolean isGreater = int age = boolean isAdult = age >=Java語言對布爾類型的存儲并沒有做規定,因為理論上存儲布爾類型只需要1 bit,但是通常JVM內部會把boolean表示為4字節整數。
字符類型
字符類型char表示一個字符。Java的char類型除了可表示標準的ASCII外,還可以表示一個Unicode字符:
注意char類型使用單引號',且僅有一個字符,要和雙引號"的字符串類型區分開。
引用類型
除了上述基本類型的變量,剩下的都是引用類型。例如,引用類型最常用的就是String字符串:
String s = "hello";引用類型的變量類似于C語言的指針,它內部存儲一個“地址”,指向某個對象在內存的位置,后續我們介紹類的概念時會詳細討論。
常量
定義變量的時候,如果加上final修飾符,這個變量就變成了常量:
final double r = double area = PI * r * r;常量在定義時進行初始化后就不可再次賦值,再次賦值會導致編譯錯誤。
常量的作用是用有意義的變量名來避免魔術數字(Magic number),例如,不要在代碼中到處寫3.14,而是定義一個常量。如果將來需要提高計算精度,我們只需要在常量的定義處修改,例如,改成3.1416,而不必在所有地方替換3.14。
根據習慣,常量名通常全部大寫。
var關鍵字
有些時候,類型的名字太長,寫起來比較麻煩。例如:
new StringBuilder();這個時候,如果想省略變量類型,可以使用var關鍵字:
var sb =編譯器會根據賦值語句自動推斷出變量sb的類型是StringBuilder。對編譯器來說,語句:
var sb =實際上會自動變成:
new StringBuilder();因此,使用var定義變量,僅僅是少寫了變量類型而已。
變量的作用范圍
在Java中,多行語句用{ }括起來。很多控制語句,例如條件判斷和循環,都以{ }作為它們自身的范圍,例如:
只要正確地嵌套這些{ },編譯器就能識別出語句塊的開始和結束。而在語句塊中定義的變量,它有一個作用域,就是從定義處開始,到語句塊結束。超出了作用域引用這些變量,編譯器會報錯。舉個例子:
定義變量時,要遵循作用域最小化原則,盡量將變量定義在盡可能小的作用域,并且,不要重復使用變量名。
小結:Java提供了兩種變量類型:基本類型和引用類型
基本類型包括整型,浮點型,布爾型,字符型。
變量可重新賦值,等號是賦值語句,不是數學意義的等號。
常量在初始化后不可重新賦值,使用常量便于理解程序意圖。
掃碼關注我們更多精彩等待你發現 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的c++变量重新赋值_Java基础二:一文讲透变量与数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: antd option宽度自适应_网站自
- 下一篇: c++和java哪个难_前端和Java开