一篇文章帶你入門Java變量
引言
♀ 小AD:明哥,我終于出了這口惡氣了。
♂ 明世隱:打爽了是吧。
♀ 小AD:那必須的,打十盤我贏九盤,我隨意。
♂ 明世隱:那小朋友不是搞哭了嗎?
♀ 小AD:必須哭,那家伙鬼哭狼嚎的。
♂ 明世隱:你咋知道?你又沒看到
♀ 小AD:那是我表弟,就在我旁邊哭的,這不是暑假上我家玩來了嗎。
♂ 明世隱:哎呀我擦,可真是牛b啊,欺負小朋友欺負到親戚身上拉,狠起來還真是六親不認,還按在地上摩擦吧。
♀ 小AD:要不是他哭了,我媽過來提我耳朵來,我能打到他卸載游戲!
♂ 明世隱:小朋友能有什么壞心思呢?你過分了啊,你扼殺了未來的最強王者、王者界的一支花。
♀ 小AD:我這是讓他知道社會的險惡,告訴他別惹女人。
♂ 明世隱:你這明明是為了滿足一己私欲,真是喪心病狂。
♀ 小AD:額。。,算是吧,為了感謝明哥,我主動點,今天學點啥?
♂ 明世隱:那就來學習一下變量,就等你送上門來。
概念
在程序運行期間,隨時可能產(chǎn)生一些臨時數(shù)據(jù),程序會將這些數(shù)據(jù)保存在內(nèi)存單元中,每個內(nèi)存單元都用一個標識符來標識。這些內(nèi)存單元被稱為變量。
變量的四個基本屬性
屬性名 | 描述 |
---|---|
變量名 | 合法的標識符 |
變量的數(shù)據(jù)類型 | 可以是基本類型和引用類型 |
存儲單元 | 存儲單元大小是由數(shù)據(jù)類型決定的, 如:int 為4 個字節(jié)32 位 |
變量值 | 在存儲單元中放的就是變量值(如果是基本 類型放的就是具體值,如果是引用類型放的是 內(nèi)存地址,如果null,表示不指向任何對象) |
如何定義變量
定義變量的格式:數(shù)據(jù)類型 變量名 = 初始化值
/* * Java變量學習 */ public class Variable { public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a = 10; } }
♀ 小AD:明哥,這個代碼我知道
♂ 明世隱:你確定?
♀ 小AD:這個好簡單,我真的會
♂ 明世隱:那你說說看。
♀ 小AD:結(jié)合之前學習的,int 這個是剛學習完的數(shù)據(jù)類型,int 表示整形,就是整數(shù)。
♂ 明世隱:嗯,對,這里只是舉例了int,用其他數(shù)據(jù)類型定義也是一樣的。
♀ 小AD:這個a是名稱,你上次給我說過的,但是我不知道這個a有什么用?
♂ 明世隱:沒錯a表示定義的變量名,可以用過a來訪問你定義好的變量,一會寫代碼看看就明白了。
♀ 小AD:這個 = 是表示賦值,這個10就是數(shù)據(jù),開始的時候就學了,表示 a 就是賦值為10。
♂ 明世隱:嗯就是這個意思,也蠻好理解。
♀ 小AD:哥,比如我的銘文,可以根據(jù)我的配置來發(fā)生變化,我的銘文就是變量,而我對銘文的配置就是一個賦值的過程,對不對。
♂ 明世隱:挖槽,你這也太6了,明哥只能高喊666了,天賦真他么的沒誰了。
♀ 小AD:那是必須的。
♂ 明世隱:看來你前幾天挨小朋友的打,沒有白挨。
♀ 小AD:明哥你還要說嗎,我現(xiàn)在還會被小學生欺負不成?我已經(jīng)還回去了。
♂ 明世隱:保不齊人家學兩招,再來治你,不說了,還是先來看看如何使用變量的。
如何使用變量
通過使用變量名來訪問這塊區(qū)域的
♀ 小AD:就通過變量名這么簡單?
♂ 明世隱:對啊,要不然呢?
♀ 小AD:之前講了那么多,我還以為變量是什么高級的東西呢?
♂ 明世隱:你這個說的什么話,高級不高級不重要,重要的是要好用。
♀ 小AD:哦
♂ 明世隱:就跟小魯班的1技能一樣,你手指點擊它,它就會釋放,是不是很簡單,這個變量也是一樣,你通過變量名就可以直接訪問,下面來看一下代碼,就很好理解。
/* * Java變量學習 */ public class Variable { public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a = 10; System.out.println(a); } }
System.out.println(a);
♂ 明世隱:你看簡單不,我想訪問這個10,我只需要訪問 a 就行了
♀ 小AD:看到了呢,這個我明白了。
♂ 明世隱:這是訪問的一種方式,還有一種方式是賦值
♀ 小AD:明哥剛才定義的時候不是賦值了嗎?為啥又說賦值
♂ 明世隱:剛才定義的賦值,切確的說是初始化賦值,就是定義的同時完成賦值,你也可以在后面再賦值,并且可以多次賦值。
♀ 小AD:多次賦值?
♂ 明世隱:對啊,就是修改值的意思,不然怎么叫變量呢,就是可以變化的。
♀ 小AD:就跟我的花唄,越來越多似的?
♂ 明世隱:正解
初始賦值并多次修改
/* * Java變量學習 */ public class Variable { public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a = 10; System.out.println(a); a=20; System.out.println(a); a=30; System.out.println(a); } }
初始不賦值并多次修改
/* * Java變量學習 */ public class Variable { public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a ; a=10; System.out.println(a); a=20; System.out.println(a); a=30; System.out.println(a); } }
2種代碼運行結(jié)果是一樣的
變量的特點
1.Java里變量必須先聲明,初始化后使用
2.使用變量名來訪問內(nèi)存中的數(shù)據(jù)
3.作用域,在其定義所在的一對{}里,只在作用域才生效
4.同一個作用域不能定義重名的變量
1.Java里變量必須先聲明,初始化后使用
上述代碼,報錯信息是“變量a沒有被初始化”,所以不能去使用(獲取)
修改成
public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a =10; System.out.println(a); }
或者
public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a; a=10; System.out.println(a); }
2.使用變量名來訪問內(nèi)存中的數(shù)據(jù)
這個訪問的前面已經(jīng)講過。
3.作用域,在其定義所在的一對{}里,只在作用域才生效
作用域:顧名思義就是 “能起作用的地方”。通俗地說:在java里面花括號{ } 范圍內(nèi)就是作用域的范圍。
♀ 小AD:明哥,這個聽起來有點迷糊。
♂ 明世隱:很簡單怎么會迷糊呢?這樣吧,我問你,我平時間怎么稱呼你?
♀ 小AD:小AD?小班班?小姐姐?小傻瓜?
♂ 明世隱:隨你怎么著吧?那你在游戲里面別人怎么稱呼?
♀ 小AD:***** (此處省略一萬字)
♂ 明世隱:就是S*、菜 * 等等
♀ 小AD:。。。
♂ 明世隱:你以為出了明哥這個作用域范圍,都這么有耐心的嗎?
♀ 小AD:哦。
♂ 明世隱:比如在家里你叫你父親叫什么?
♀ 小AD:叫“爸”啊
♂ 明世隱:對的,那你叫我什么?
♀ 小AD:小明哥,嘿嘿!
♂ 明世隱:叫知道傻笑,叫別的大老爺們呢?
♀ 小AD:大叔、大哥、奧特曼?
♂ 明世隱:對啊,你不會叫他們“爸”吧
♀ 小AD:當然不會,你想啥呢?再這樣不和你玩了啊。
♂ 明世隱:我的意思是你和你爸的關(guān)系,出了“家庭”這個作用域以后,它就不生效了,對吧?
♀ 小AD:嗯,明白了
♂ 明世隱:看例子
/* * Java變量學習 */ public class Variable { int a=100; public static void main(String[] args) { //數(shù)據(jù)類型 變量名 = 初始化值 int a; a=10; System.out.println(a); } }
可以看到在main方法的{}外面也定義了一個 a 值為100,程序運行結(jié)果如下:
證明這個a拿到的是10,并不是100,是不是很好的說明了這個作用域。
4.同一個作用域不能定義重名的變量
再次定義a變量,會有編輯錯誤,提示“重復的變量a”
換個數(shù)據(jù)類型行不行呢?
可以看到錯誤是一樣的,證明在同一個作用域是不是能重復定義的。
♂ 明世隱:這個在生活中也是很好理解的,比如一夫一妻,在中國范圍內(nèi),只能一夫一妻,如果一夫多妻就犯法了。
♀ 小AD:哥你的意思是中國就是比作作用域,夫妻這里就不能重復,重復就不行。
♂ 明世隱:是這個意思
♀ 小AD:比如游戲里一個破軍180攻擊力,再有一個也叫破軍加20攻擊力,那就亂了套了。
♂ 明世隱:哎呀我擦,萬事都離不開游戲了,牛b。
♀ 小AD:哥,學了變量我突然有個好想法。
♂ 明世隱:哦,不會是什么奇奇怪怪的吧
♀ 小AD:不會,絕對的正常。
public static void main(String[] args) { int gold=300; System.out.println("第1滴血:"); System.out.println(gold); gold=200; System.out.println("第2次擊殺獲得:"); System.out.println(gold); gold=160; System.out.println("第3次擊殺獲得:"); System.out.println(gold); gold=110; System.out.println("第4次擊殺獲得:"); System.out.println(gold); gold=40; System.out.println("第5次擊殺獲得:"); System.out.println(gold); }
運行結(jié)果
♀ 小AD:哥,這波怎么樣?
♂ 明世隱:我不得不說你天賦異稟、學以致用!真的不錯!
♀ 小AD:謝謝明哥
♂ 明世隱:學了這波定能更上一分!
♀ 小AD:走開起來
♂ 明世隱:起飛!
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn)
這篇文章主要介紹了SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04java 全角半角字符轉(zhuǎn)換如何實現(xiàn)
在java中可能會用到過全角半角字符轉(zhuǎn)換問題,于是網(wǎng)上搜索整理了一下,曬出來和大家分享,希望可以幫助你們2012-12-12一小時迅速入門Mybatis之實體類別名與多參數(shù) 動態(tài)SQL
這篇文章主要介紹了一小時迅速入門Mybatis之實體類別名與多參數(shù) 動態(tài)SQL,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09