1.조건문의 3가지 종류를 나열하고 설명하시오.
if문
: 조건을 확인하고 true면 {}중괄호 안의 내용을 실행하고, 아니면 빠져나간다.
if(n1 < n2) { // if(boolean 타입을 받는게 와야한다.)
System.out.println("n1 > n2 is true"); //true면 실행, false면 실행안하고 빠져나감.
}
if(n1 < n2) System.out.println("n1 > n2 is true");
//if문에 속한 문장이 하나일 경우 중괄호 생략 가능 but 가능하면 쓰자.
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 ~ else 문
: 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 Hello {
public static void main(String[] args) {
int kor = 80;
int math = 80;
int eng = 60;
int sum;
double avg;
sum = kor + math + eng;
avg = sum / 3.0;
System.out.println("총점은 "+sum+"점 입니다.");
if(avg>=90) {
System.out.println("평균 " + avg + "는 수 입니다.");
}else if(avg>=80) {
System.out.println("평균 " + avg + "는 우 입니다.");
}else if(avg>=70) {
System.out.println("평균 " + avg + "는 미 입니다.");
}else if(avg>=60) {
System.out.println("평균 " + avg + "는 양 입니다.");
}else {
System.out.println("평균 " + avg + "는 가 입니다.");
}
}
}
3.아래를 삼항연산자를 사용하여 프로그래밍 하시오.
-80, 33 ,55 = 최대값을 출력하시오.
public class Hello {
public static void main(String[] args) {
int a= 80, b=33, c=55;
int max;
max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
//max = a > c ? (a > b ? a : (b > c ? b : c)) : c; //지난번에 푼 과정
System.out.println("max is "+ max);
}
}
4.switch 문에서 '걸어서 하늘까지' 를 설명하시오.
switch문
: 조건이 맞는 case를 찾아가서 break까지 실행 후 조건문을 빠져나간다. 만일 조건에 맞는 게 없을 경우 default를 실행한다.
switch(n) 에서 n에는 기본적으로 정수가 온다. (실수는 오면 안된다!)
int n =3;
switch(n) { //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?");
}
int n =3; switch(n) { //n에는 기본적으로 정수가 온다. 실수는 오면 안된다.!
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 Hello {
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번은 실행한다.**
초기값
do{
반복영역
증감
} while(반복조건);
- 예시
public class Hello {
public static void main(String[] args) {
int num = 0;
do {
System.out.println("I like Java " + num);
num++;
}while(num<5);
}
}
결과
I like Java 0
I like Java 1
I like Java 2
I like Java 3
I like Java 4
while문과 do while문의 차이
while문은 조건이 안 맞으면 한번도 실행 안할 수 있지만
do while문은 조건이 맞지 않더라도 무조건 한 번은 실행한다.
7.for 문에서 for 문이 실행되는 순서를 설명하시오.
for(초기값; 반복 조건; 증감);
//예시
for(int i = 0; i<3; i++){
System.out.println("조건에 맞으면 출력");
}
for문의 실행 순서
변수의 범위는 중괄호 안 for문에서 초기화 구문은 딱 한번만 실행됨
8. 9단을 출력하는 프로그램을 만드시오.(while 문 사용할것)
public class Hello {
public static void main(String[] args) {
int i=1; //첫 번째 반복문의 변수 초기화
while(i<10) { //'단' 출력을 위한 첫 번째 반복문
System.out.println("\n"+i+"단");
int j=1; //중첩 반복문의 변수 초기화
while(j<10) { //1~9 곱을 위한 중첩된 반복문
System.out.println(i+"x"+j+"="+i * j);
j++; //중첩 반복문의 변수 증감
}
i++; //첫 번째 반복문의 변수 증감
}
}
}
9.1부터 100까지의 합을 구하시오.
public class Hello {
public static void main(String[] args) {
int num;
int sum=0;
for(num=1; num<=100; num++) {
sum = sum + num;
}
System.out.println("1부터 100까지의 합은: " + sum +"입니다.");
}
}
10.1부터 100까지의 홀수들의 합을 구하시오.
public class Hello {
public static void main(String[] args) {
int num;
int sum=0;
for(num=1; num<=100; num++) {
if(num % 2 == 0) {
sum = sum + num;
}
}
System.out.println("1부터 100까지 중 홀수의 합은: " + sum +"입니다.");
}
}
11.반복문에서의 break 와 continue 를 설명하시오.
중간에 break를 걸리면 true면 조건문을 탈출한다.
중간에 continue걸리면 true면 다시 조건 검사로 돌아간다.
예시 : 처음 만나는 5의 배수이자 7의 배수인 수를 찾는 반복문
public class Hello {
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의 배수인 수를 찾지 못했습니다.");
}
}
- 1과 1000 사이의 숫자중 2의 배수 이자 3의 배수인 수는 모두 몇개인가?
public class Hello {
public static void main(String[] args) {
int i =1;
int count=0;
while((i++)<1000){
if((i%2!=0) || (i%3!=0)) { //2배수이거나 3의 배수가 아니면
continue; //조건문으로 돌아감
}
count++; // 2의 배수이고 3의 배수인 경우 카운트함
//System.out.println(i);
}
System.out.println("count:" + count);
}
13.화폐매수 구하기?
=126500 의 금액을 한국화폐으로 바꾸었을 때 각각 몇 개의 화폐가 필요한지 계산해서 출력하라.
예) int 126500;
오만원 : 2장
만원: 2장
오천원짜리 :1장
천원짜리: 1
오백원짜리 1개
백원짜리 0개
13. 90, 70 100 세 수중 max 값을 구하시오.
//90, 70 100 세 수중 max 값을 구하시오.
int num1 = 80;
int num2 =1000;
int num3=100;
int max;
if( (num1 > num2) && (num1 >num3) ) {
max = num1;
}else if( (num2 > num3) && (num2 >num1) ) {
max = num2;
}else {
max = num3;
}
//두번째 방법
int max = num1;
if( num2 > max) {
max = num2;
}
if( num3 > max) {
max = num3;
}
System.out.println(max);
'IT 면접족보 > 자바 면접족보' 카테고리의 다른 글
자바 면접 족보 정리(7일 차 ) (0) | 2020.12.06 |
---|---|
자바 면접 족보 정리(6일 차 ) (0) | 2020.12.05 |
자바 면접 족보 정리(4일 차 ) (0) | 2020.12.04 |
자바 면접 족보 정리(3일 차 ) (0) | 2020.12.04 |
자바 면접 족보 정리(2일 차) (0) | 2020.12.03 |