Java趣味短碼

2021-09-01 15:17:08 字數 2151 閱讀 3543

今天跟公司的童鞋聊天的時候,談到了關於短碼和**的精簡的方式,所以整理出來。

需求很簡單。

首先定義乙個類

class

item

;

然後主函式的場景大概是這樣

public

static

void

main

(string

args

)elsei =

0;if(

x.key

>i)

else

}

這裡面有兩個子場景,就是接下來要討論的。

子場景1

if(x

.key

>i)

else

子場景2

if(x

.key

>i)

else

那麼我們如何來簡化實現這兩類場景呢?

第乙個場景很簡單,可以如下優化:

i =(

x.key

>i ?

x.l :

x.r);

第二個場景比較棘手!

因為表示式不能被賦值。

那麼我們需要乙個傳值函式。

public

static

<

t>

boolean

to_(

t s

,t d)d

=s;return

true

;}

有了如上函式我們就可以這樣寫

booleanr =

(x.key

>i ?

to_(i,

x.l)

:to_(i

,x.r

));

r是乙個結果值用來檢測型別是否正確。

如下是完整的**。

package

tpackge

;class

item

;public

class

test01 d =

s;return

true;}

/** * @param args

*/public

static

void

main

(string

args

)else

system

.out

.println(x

.l);system

.out

.println(x

.r);system

.out

.println(i

);system

.out

.println

("--------------------------"

);i =(

x.key

>i ?

x.l :

x.r);

system

.out

.println(x

.l);system

.out

.println(x

.r);system

.out

.println(i

);/*

if ( x.key > i)else

*/system

.out

.println

("--------------------------"

);i =0

;//if ( x.key > i ) else

system

.out

.println(x

.l);system

.out

.println(x

.r);if((

x.key

>i ?

to_(i,

x.l)

:to_(i

,x.r

)))}}

《短碼之美》 1 入門

1 利用scanf 函式在讀至檔案結束時的返回值為 1,輸入正常返回值為1則剛好 1之後就會是0,在邏輯中為假,推出迴圈。include float a,b 0 intmain 2 執行環境在處理負整數時,幾乎都是採用2的補數形式,用2的補數表示 1時,1的所有位數全部都是1,因此取反運算之後,就會...

java 藍橋杯 趣味算式

匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...

JAVA長連線與短連線

最近在使用極光推送,聽用過的同事講了句 使用長連線,心跳機制等知識點,很是熟悉,但是又不能明確的說出其中的不同,所以這裡總結下。長連線,指在乙個連線上可以連續傳送多個資料報,在連線保持期間,如果沒有資料報傳送,需要雙方發鏈路檢測包。短連線是指通訊雙方有資料互動時,就建立乙個連線,資料傳送完成後,則斷...