1.基本數據類型有哪些?
基本數據類型有8個:整數:byte、int、long、short。? 浮點型:float、double。? 布爾型boolean。? 字符型:char
2.下列代碼的輸出是什么?為什么?
public static void main(String[] args) {byte a = 127; byte b = (byte)(a+1); System.out.println(b);
}
輸出為-128,因為byte類型的范圍是-128到127,當byte b = (byte)(a+1);時,a為127;加1之后為128,但是不在范圍內,所以返回-128。
3.寫出每一個整型最多能表示多少個字節
Byte(8dit,1字節)? short(16bit,2字節) int(32bit,4字節)? long(64bit,8字節)
4.下列代碼輸出的是什么類型
char a = 'b';
char b = 'c';
Sysout.out.print( a + b);
輸出為int類型
5.隨意定義一個變量i = 3287;獲取該數字中各個位上的數字,最終輸出:個位是7, 十位是8,百位是2, 千位是3
public class Test {public static void main(String[] args) {int i =3287;int gewei = i % 10;int shiwei = (i/10) % 10;int baiwei = (i/10/10) %10;int qianwei = (i/10/10/10) %10;System.out.print("個位:" +gewei+ ",十位:" +shiwei+ ",百位:"+baiwei+",千位:"+qianwei);}}
6.下列代碼的輸出結果是什么?
public static void main(String[] args) {int a = 5;int n = a++; int b = ++n; System.out.println(b);
}.
輸出為6
7.下列代碼的輸出結果是什么?
public static void main(String[] args) {int a = 4;int b = 5;System.out.println(a<b?a:b);}
輸出為4
8.下列代碼的輸出結果是什么?
public static void main(String[] args) {int a = -4;int b = 5;System.out.println(a & b); //兩個操作數,同為1則為1,其余全是0
}
public static void main(String[] args) {int a = -4;int b = 5;System.out.println(a | b); //同為0則是0,其余全是1
}
public static void main(String[] args) {int a = -4;int b = 5;System.out.println(a ^ b); //相同為0,不同為1}
public static void main(String[] args) {int a = -4;System.out.println(a << 2);
}
public static void main(String[] args) {int a = -4;System.out.println(a >> 2);
}
輸出為4、輸出為-3、輸出為-7、輸出為-16、輸出為-1
9.下列代碼片敘述正確的是
public static void main(String[] args) {byte b1 = 1,b2=2,b3,b6;final byte b4 = 4,b5 = 6;b6 = b4 + b5;//因為b4,b5被final修飾了,不會自動轉化為int類型。b3 = b1+b2;//因為在進行相加時會將byte轉化為int類型,但是b3還是byte類型所以會報錯System.out.println(b3+b6);
}
A:輸出結果為:13
B:語句b6 = b4 + b5;編譯出錯
C:語句b3 = b1+b2;編譯出錯
D:運行期間拋出異常
C
10.寫出幾個String類當中的方法,并說明其含義(至少5個)
Length()返回字符串中的長度、equals()判斷字符串的值是否相等、x.substring()截取字符串中的內容、x.indexOf()判斷是不是字符串的子串、replace替換字符串中的內容
11.下面程序的運行結果是_____,為什么
String str1 = "hello";
String str2 = "he" + new String("llo");
System.out.println(str1 == str2);
運行為fales,其中str2是拼接操作創造的新對象,和str1不一樣
12.當編譯并運行下面程序時會出現什么結果( )
public class MyAr{public static void main(String args[]){int[] i = new int[5];System.out.println(i[5]);}
}
會出現異常;因為i的索引為0-4;里面沒有索引為5的
13.已知有數組定義:int MyArray[] = {10,20,30,40,50,60,70,80,90,100},則以下程序段:
執行后s的值是_____________
int s = 0 ;
for ( int i = 0 ; i < MyArray.length ; i + + )
if ( i % 2 == 1 )
s =s+ MyArray[i] ;
System.out.println(s);
值為300
14.有如下程序段: 運行時候是否報錯,如果有錯誤如何修改
// String unset="";String unset=null;if(unset.length()>0 && unset!=null){ System.out.println("Hello Pido! ");}
運行時會報錯誤、應該先判斷unset!=null,因為String unset=null;長度為0了,前面的unset.length()>0已經錯了,所以不會去判斷后面的。
15.有以下程序段: 這里輸出的是_______
public static void main(String[] args) {int i = 0;for(;i<100;i++){if(i==10){break; // 結束循環}}System.out.println("i="+i);
}
輸出為i=10
16.如下Java程序片段 運行后,該程序段的輸出結果是________
String a = "abcdefg";
String b = "abcdefg";
System.out.println(a==b);
輸出為true
17.如下Java程序片段 運行后,該程序段的輸出結果是________
String a = "abcdefg";
String b = "abc" + "defg";
System.out.println(a==b);
輸出為true
18.分析以下需求,并用代碼實現:
(1)根據工齡(整數)給員工漲工資(整數),工齡和基本工資通過鍵盤錄入
(2)漲工資的條件如下: [10-15) +5000 [5-10) +2500 [3~5) +1000 [1~3) +500 [0~1) +200
(3)如果用戶輸入的工齡為10,基本工資為3000,程序運行后打印格式"您目前工作了10年,基本工資為 3000元, 應漲工資 5000元,漲后工資 8000元"
19、分析以下需求,并用代碼實現:
(1)定義一個int類型的一維數組,內容為{6,2,9,15,1,5,20,7,18}
(2)將數組最大元素與最后一位元素進行交換,最小元素與第一位元素進行交換,并打印數組 提示思路:先查找最大值和最小值出現的索引。
20.下列代碼輸出是什么?
class Person{private int id;private String name;public Person(int id,String name) {this.id = id;this.name = name;}
}
public class StudentClass {public static void main(String[] args) {Person a = new Person(23, "a");Person b = new Person(22,"b");swap(a, b);System.out.println(a == a);System.out.println(b == b);}private static void swap(Person a, Person b) {Person temp = a;a = b;b = temp;}
}
true、true