Java(자바) 4日次

블로그 移轉·2022년 10월 27일

Java

목록 보기
4/20

Java 面接 族譜 整理 (4日次)

1. 條件文의 3種類를 羅列하고 說明하시오。

  • if文

    條件을 確認하고 true면 { } 中括弧 內의 內容을 實行하고、아니면 빠져나간다。

    if (n1 < n2) {
    	System.out.println("n1 < n2 is true");
       // true면 實行、false면 實行을 하지 않고 빠져나감
    }
    if (n1 < n2) System.out.println("n1 < n2 is true");
    // if文이 屬한 文章이 하나일 境遇 中括弧 省略可能
  • if - else文

    if文의 條件이 false일 境遇 else로 가서 { } 中括弧 內의 內容을 實行한다。必히 if나 else 둘 中 하나는 實行하게 되어있다。

    if (n1 == n2) {
    	System.out.println("n1 == n2 is true");
       // true면 實行後 條件文을 빠져나감。
    } else {
    	System.out.println("n1 == n2 is false");
       // false면 實行後 條件文을 빠져나감。
    }
    /*
    if文과 마찬가지로 if節 또는 else節에 屬한 文章이
    하나일 境遇 中括弧 省略이 可能하다。
    */
  • if - else if文

    if文이 false이고、檢査하고 싶은 條件이 많은 境遇에는 else if를 追加로 複數回 使用하여 條件을 檢査할 수 있다。모든게 false인 境遇 if - else文과 마찬가지로 else로 넘어간다。

    public class Hello {
    	public static void main(String[] args) {
       	int num = 120;
           
           if (num < 0) {
           	System.out.println("0未滿");
           } else if (num < 100) {
           	System.out.println("0以上 100未滿");
           } else {
           	System.out.println("100以上");
               // 모든 if와 else if文이 false면 else를 實行
           }
       }
    }

    實行畫面
    100以上

2. 下段의 프로그램을 作成하시오。

  • 國語 80點
  • 數學 80點
  • 英語 60點

點數와 平均을 出力하고、平均에 따른 秀優美良可를 出力하시오。

public class GradeCheck {

	public static void main(String[] args) {
		
		int kor = 80;
		int eng = 40;
		int math = 30;
		int total;
		double avg;
		
		total = kor + eng + math;
		avg = total / 3.0;
		
		if (avg >= 90) {
			System.out.println("秀 입니다。");
		} else if (avg >= 80) {
			System.out.println("優 입니다。");
		} else if (avg >= 70) {
			System.out.println("美 입니다。");
		} else if (avg >= 60 ) {
			System.out.println("良 입니다。");
		} else {
			System.out.println("可 입니다。");
		}	
	}
}

3. 下段의 內容을 if構文을 活用하여 프로그램을 作成하시오。

  • 80
  • 33
  • 55

最大값을 出力하시오。

public class Max {
	public static void main(String[] args) {
    	int num1 = 80;
        int num2 = 33;
        int num3 = 55;
        int max;
        
        if (num1 > num2) {
        	if (num1 > num3) {
            	max = num1;
            } else {
            	max = num3;
            }
        } else {
        	if (num2 > num3) {
            	max = num2;
            } else {
            	max = num3;
            }
        }
        System.out.println("max is " + max);
    }
}

4. switch文에서 「걸어서 하늘까지」 를 說明하시오。

switch文

條件이 맞는 case를 찾아가서 break까지 實行後 條件을 빠져나간다。萬一 條件에 맞는 게 없을 境遇 default를 實行한다。
switch (n) 에서 基本的으로 整數가 온다。(實數는 오면 안 된다!)

public class Switch {

	public static void main(String[] args) {
		int n = 65;
		
		switch (n) {
			case 1:
				System.out.println("Simple Java");
			case 2:
				System.out.println("Funny Java");
			case 3:
				System.out.println("Fantastic Java");
			default:
				System.out.println("The best programming language");
		}
		
		System.out.println("Do you like Java?");

	}

}

5. 下段의 內容을 프로그램으로 作成하시오。

int num = -10을 割當後 該當하는 整數에 對한 絶對값을 出力하는 프로그램을 作成하시오。

public class Hello {
	public static void main(String[] args) {
    	int num = -10;
        
        if (num < 0) {
        	num = -num;
        }
       	System.out.println("絶對값은 " + num);
    }
}

6. 反復文에서 while文과 do while文의 差異는?

  • while文

    먼저 條件을 檢査하고 結果가 true면 中括弧 領域을 實行

    while (反復條件) {
    	反復領域
       增減
    }
    public class While {
    
    	public static void main(String[] args) {
    		int num = 0;
    		
    		while (num < 5) {
    			System.out.println("I like Java " + num);
    			num++;
    		}
    	}
    }

    實行畫面
    I like Java 0
    I like Java 1
    I like Java 2
    I like Java 3
    I like Java 4

  • do while文

    먼저 中括弧의 領域을 實行、條件을 檢査 後 結果가 true면 反復決定。絶對 1回는 實行한다。

7. for文과 for文이 實行되는 順序를 說明하시오。

for (初期값; 反復條件; 增減);
for (int i = 0; i < 3; i++) {
	System.out.println("條件에 맞으면 出力");
}
  • for文의 實行順序

    變數의 範圍는 中括弧 內 for文에서、初期化 構文은 딱 1回만 實行된다。

8. 九々段을 出力하는 프로그램을 作成하시오。(while文 使用)

public class Gugudan {

	public static void main(String[] args) {
		
        int i = 1;
		int result = 0;
		
        while (i <= 9) {	// 段 出力을 爲한 첫 番째 反復文
        	System.out.println("\n" + i + "段");
            int j = 1;	// 重疊反復文의 變數 初期化
            
            while (j <= 9) {	// 1~9곱을 爲한 重疊된 反復文
            	System.out.println(i + "x" + j + " = " + i * j);
                j++;	// 重疊反復文의 變數의 增減
            }
        	i++	// 첫 番째 反復文의 變數의 增減
        }
	}
}

9. 1부터 100까지의 合을 求하시오。

public class For {

	public static void main(String[] args) {
		int sum = 0;
		
		for (int i = 1; i <= 100; i++) {
			sum += i;
		}
		
		System.out.println("1부터 100까지의 合은 " + sum +"입니다。");
	}

}

10. 1부터 100까지의 奇數들의 合을 求하시오。

public class For {
	public static void main(String[] args) {
    	int num;
        int sum = 0;
        
        for (num = 1; num <= 100; num++) {
        	if (num % 2 != 0) {
            	sum += num;
            }
        }
        System.out.println("1부터 100까지 中 奇數의 合은 : " + sum + "입니다。");
    }
}

11. 反復文에서의 break와 continue를 說明하시오。

中間에 break가 걸리면 true면 條件文을 脫出한다。
中間에 continue가 걸리면 true면 再次 條件 檢査로 돌아간다。

  • 例示 : 처음 만나는 5의 倍數이자 7의 倍數인 數를 찾는 反復文
    public class Break {
    	public static void main(String[] args) {
       	int num = 1;
           boolean search = false;
           
           // 처음 만나는 5의 倍數이자 7의 倍數인 數를 찾는 反復文
           while (num < 100) {
           	if ((num % 5 == 0) && (num % 7 == 0)) {
               	search = true;
                   break;	// while文을 脫出
               }
               num++;
           }
           if (search) {
           	System.out.println("찾는 整數 : " + num);
           } else {
           	System.out.println("5의 倍數이자 7의 倍數인 數를 찾지 못했습니다。");
           }
       }
    }

12. 下段의 內容을 프로그래밍 하시오。

  • 1과 1000사이의 數字 中 3의 倍數이자 5의 倍數인 첫 番째 數는?

    public class Hello {
    
    	public static void main(String[] args) {
       
      		int num = 1;
        	boolean search = false;
           
          	while (num < 1000) {
          		if ((num % 3 == 0) && (num % 5 == 0)) {
          	    	search = true;
          	        break;	// if文 脫出
          	    }
          	    num++;
          	}
           
          	if (search) {
          		System.out.println("찾는 整數 : " + num);
          	} else {
          		System.out.println("3의 倍數이자 5의 倍數인 數를 찾지 못했습니다。)
          	}    
      	}
    }
profile
移轉했읍니다。

2개의 댓글

comment-user-thumbnail
2022년 10월 27일

なぜ1番~6番しかあるんですか?

1개의 답글