生活随笔
收集整理的這篇文章主要介紹了
刷题02
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.判斷下面程序的輸出結果:
Object o1
= true ? new Integer ( 1 ) : new Double ( 2.0 ) ;
System
. out
. println ( o1
) ;
解析:編譯的時候,與true無關,三元運算符得是相同類型,所以Integer會自動類型提升 輸出:
public void test2 ( ) { Object o2
; if ( true ) o2
= new Integer ( 1 ) ; else o2
= new Double ( 2.0 ) ; System
. out
. println ( o2
) ; }
解析:不要求同一類型 輸出: 2. 判斷下面程序的輸出結果:
Integer i
= new Integer ( 1 ) ; Integer j
= new Integer ( 1 ) ; System
. out
. println ( i
== j
) ; Integer m
= 1 ; Integer n
= 1 ; System
. out
. println ( m
== n
) ; Integer x
= 128 ; Integer y
= 128 ; System
. out
. println ( x
== y
) ;
解析:Integer內部定義了IntegerCache結構,IntegerCache中定義了Integer[],保存了-128 – 127范圍內的整數。如果使用自動裝箱的方式,給Integer賦值的范圍在-128 – 127 范圍內,可以直接使用數組中的元素,不用new,但如果超過就得new。 目的:提高效率 輸出:
3.利用Vector代替數組處理,從鍵盤讀入學生成績(以負數代表輸入結束),找出最高分,并輸出學生成績等級。 提示:數組一旦創建,長度就固定不變,所以在創建數組前就需要知道它的長度。 而向量類java.util.Vector可以根據需要動態伸縮。 創建Vector對象: Vector v=new Vector(); 給向量添加元素: v. addElement(Object obj); / /obj必須是對象 取出向量中的元素: object obj=v.elementAt(0); 注意第一個元素的下標是0,返回值是object類型的。 計算向量的長度,v.size(); 若與最高分相差10分內: A等: 20分內: B等:30分內: C等:其它: D等
Scanner scan
= new Scanner ( System
. in
) ; Vector v
= new Vector ( ) ; int maxScore
= 0 ; for ( ; ; ) { System
. out
. println ( "請輸入學生成績(以負數代表輸入結束):" ) ; int score
= scan
. nextInt ( ) ; if ( score
< 0 ) { break ; } if ( score
> 150 ) { System
. out
. println ( "請重新輸入:" ) ; continue ; } v
. addElement ( score
) ; if ( maxScore
< score
) { maxScore
= score
; } } char level
; for ( int i
= 0 ; i
< v
. size ( ) ; i
++ ) { Object obj
= v
. elementAt ( i
) ; int score
= ( int ) obj
; if ( maxScore
- score
<= 10 ) { level
= 'A' ; } else if ( maxScore
- score
<= 20 ) { level
= 'B' ; } else if ( maxScore
- score
<= 30 ) { level
= 'C' ; } else { level
= 'D' ; } System
. out
. println ( "Student-" + i
+ "score is " + score
+ ",level is " + level
) ; }
輸出:
總結
以上是生活随笔 為你收集整理的刷题02 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。