java語言基礎面試題

1、switch後面使用的表達式可以是哪些數據類型
byte,short,char,int,枚舉類型,String類型
2、使用switch語句改寫下列if語句:

int a = 3;
int x = 100;
if(a==1)
	x+=5;
else if(a==2)
	x+=10;
else if(a==3)
	x+=16;
else
	x+=34;

結果:

int a = 3;
int x = 100;
switch(a){
	case 1:
		x+=5;
		break;
	case 2:
		x+=10;
		break;
	case 3:
		x+=16;
		break;
	default:
		x+=34;
}

3、三元運算符,if-else和switch-case結構使用場景的理解;
①、能用三元運算符和switch-case的,都能用if-else,反之不行;
②、能用三元運算符和switch-case的就使用這兩種,因爲運行效率高
4.如何從控制檯獲取String和int型的變量,並輸出?使用代碼實現

import java.util.Scanner;
Scanner scan = new Scanner(System.in);
String info = scan.next();
int i = scan.nextInt();
System.out.println(info)
System.out.println(i)

5、使用for循環遍歷100以內的奇數,並計算所有奇數的和並輸出。

int num = 0;
for(int i= 0; i<100;i++){
  if(i%2 != 0){
	 	System.out.println(i);
		num += i;
  }
}
System.out.println(num);

6、輸入兩個正整數m和n,求其最大公約數和最小公倍數。比如:12和20的的最大公約數是4,最小公倍數是60;
說明:使用break關鍵字

Scanner scan = new Scanner(System.in);
System.out.println("請輸入第一個正整數:");
int m = scan.nextIn();

System.out.println("請輸入第2個正整數:");
int n = scan.nextIn();


//獲取兩個數中的最小數
//1.獲取兩個數中的較小值
int min = (m < n) ? m : n;
//2.遍歷
for(int i = min; i >= 1; i--){
	if(m%i == 0 && n % i == 0 ){
			System.out.println("最大公約數爲"+i);
			break;//在循環中執行到break,就跳出循環
	}
}

//獲取最小公倍數
//1.獲取兩個數中較大的值
int max =  (m < n) ? m : n;
//2.遍歷
for(int i = max; i <= m*n; i++){
	if(i % m == 0 && i % n == 0){
			System.out.println("最小公倍數爲"+i);
			break;//在循環中執行到break,就跳出循環
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章