java運算

參數(shù)傳遞

Java中其實是值傳遞的,只不過對于對象參數(shù)蕾久,值的內(nèi)容是對象的引用

值傳遞(pass by value)是指在調(diào)用函數(shù)時將實際參數(shù)復(fù)制一份傳遞到函數(shù)中婉宰,這樣在函數(shù)中如果對參數(shù)進(jìn)行修改歌豺,將不會影響到實際參數(shù)。
引用傳遞(pass by reference)是指在調(diào)用函數(shù)時將實際參數(shù)的地址直接傳遞到函數(shù)中心包,那么在函數(shù)中對參數(shù)所進(jìn)行的修改类咧,將影響到實際參數(shù)。

1. 基本數(shù)據(jù)類型

    @Test
    public void test01(){
        int x = 3;
        System.out.println("x = " + x);

        changeData(x);
        System.out.println("x = " + x);

    }
   
    public void changeData(int e){
        e = 4;
    }

結(jié)果:3

2. 引用數(shù)據(jù)類型

    @Test
    public void test02(){

        Dog dog = new Dog("A");
        func(dog);
        System.out.println(dog.getName());
    }

    public void func(Dog dog){
        dog.setName("B");
    }
class Dog {

    String name;

    Dog(String name) {
        this.name = name;
    }

    String getName() {
        return this.name;
    }

    void setName(String name) {
        this.name = name;
    }

    String getObjectAddress() {
        return super.toString();
    }
}

輸出結(jié)果為:B

當(dāng)在test02中創(chuàng)建Dog對象時蟹腾,在堆中開辟一塊內(nèi)存痕惋,其中保留了name數(shù)據(jù),然后dog持有該內(nèi)存地址娃殖,例如0x123456血巍,當(dāng)調(diào)用func函數(shù)時,會把地址交給形參dog,這是這兩個都指向了這個地址珊随,函數(shù)里面修改時,會修改對象

通過概念我們也能知道柿隙,這里是把實際參數(shù)的引用的地址復(fù)制了一份叶洞,傳遞給了形式參數(shù)。所以禀崖,上面的參數(shù)其實是值傳遞衩辟,把實參對象引用的地址當(dāng)做值傳遞給了形式參數(shù)。

float和double

Java 不能隱式執(zhí)行向下轉(zhuǎn)型波附,因為這會使得精度降低艺晴。

  • 1.1字面量屬于 double 類型,不能直接將 1.1 直接賦值給 float 變量掸屡,因為這是向下轉(zhuǎn)型封寞。
 float f = 1.1;  //錯誤,應(yīng)該改為double f = 1.1 或者float f = 1.1f
  • 1.1f 字面量才是 float 類型仅财。
float f = 1.1f;

隱式類型轉(zhuǎn)換

因為字面量 1 是 int 類型狈究,它比 short 類型精度要高,因此不能隱式地將 int 類型向下轉(zhuǎn)型為 short 類型盏求。

    short j = 1;  //可以
    j = j + 1;    //報錯

    int k = 1;
    short t = k;  //報錯

但是使用 += 或者 ++ 運算符會執(zhí)行隱式類型轉(zhuǎn)換抖锥。

j += 1;
j++;

上面的結(jié)果相當(dāng)于s1 = (short) (s1 + 1);

switch

從 Java 7 開始亿眠,可以在 switch 條件判斷語句中使用 String 對象。

String s = "a";
switch (s) {
    case "a":
        System.out.println("aaa");
        break;
    case "b":
        System.out.println("bbb");
        break;
}

switch 不支持 long磅废,是因為 switch 的設(shè)計初衷是對那些只有少數(shù)幾個值的類型進(jìn)行等值判斷纳像,如果值過于復(fù)雜,那么還是用 if 比較合適拯勉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竟趾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谜喊,更是在濱河造成了極大的恐慌潭兽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斗遏,死亡現(xiàn)場離奇詭異山卦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)诵次,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門账蓉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逾一,你說我怎么就攤上這事铸本。” “怎么了遵堵?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵箱玷,是天一觀的道長。 經(jīng)常有香客問我陌宿,道長锡足,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任壳坪,我火速辦了婚禮舶得,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爽蝴。我一直安慰自己沐批,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布蝎亚。 她就那樣靜靜地躺著九孩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪发框。 梳的紋絲不亂的頭發(fā)上捻撑,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼顾患。 笑死番捂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的江解。 我是一名探鬼主播设预,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼犁河!你這毒婦竟也來了鳖枕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤桨螺,失蹤者是張志新(化名)和其女友劉穎宾符,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灭翔,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡魏烫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肝箱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哄褒。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖煌张,靈堂內(nèi)的尸體忽然破棺而出呐赡,到底是詐尸還是另有隱情,我是刑警寧澤骏融,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布链嘀,位于F島的核電站,受9級特大地震影響档玻,放射性物質(zhì)發(fā)生泄漏怀泊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一窃肠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刷允,春花似錦冤留、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至天通,卻和暖如春泊窘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工烘豹, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留瓜贾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓携悯,卻偏偏與公主長得像祭芦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子憔鬼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容