| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 스프링
- 비즈니스레이어
- 서비스레이어
- SpringBoot
- 바인딩변수
- @RequestMapping
- @Valid
- frontController
- PointCut
- Java
- AOP
- gradle
- application.properties
- 어노테이션
- 생성자주입
- produces
- MVC
- springjdbc
- 유효성검사
- springmvc
- Model
- @RequestParam
- jointpoint
- @ResponseBody
- @
- 의존주입
- .xml
- spring
- after-throwing
- c:if
- Today
- Total
메모장
[과제] 멘토씨리즈 자바 문제풀이 본문
< 변수와 자료형 >
- 메모리에 값을 저장하기 위해 할당 받아 사용하는 특정공간을 변수 (이)라고 합니다.
변수를 선언하기 위해서는 변수에 담을 데이터의 형태 (자료형) 와 변수 이름이 필요합니다.
2. 변수 이름으로 사용 할수 있는것 !
- 변수 이름의 특징 -
▶ 첫 글자는 숫자로 시작 x , 일반적으로 영어 소문자로 시작
▶ 특수문자는 $, '_' (언더바) 만 사용가능하다
▶ 영어+숫자 조합은 괜찮다 !
3. 다음 코드에서 컴파일 에러가 발생하는 곳을 찾아보고 , 그 이유를 적기 !
package section02;
public class PRACTICE_02_03 {
public static void main(String[] args) {
String fruit = "Apple";
}
System.out.println("I like" + fruot);
}
main 메서드 안에서 선언된 문자열 "Apple"은 그 main 중괄호 안에서만 사용이 가능하다 !
지금 main 중괄호 밖에서 출력 하고 있으므로 오류가 발생한다.
4. 다음코드를 실행했을때 콘솔창에 출력되는 결과는 무엇일까 ?
package section02;
public class PRACTICE_02_04 {
public static void main(String[] args) {
int numI = 'A';
System.out.println(numI);
char numC = 66;
System.out.println(numC);
}
}
정답 65, B
'A' 라는 문자형은 아스키 코드가 적용되어 int 정수로는 65 이다 !
또한 66 이라는 숫자 또한 아스키 코드표에 의하여 이에 해당하는 문자형은 B 이다.
5. 다음코드에서 컴파일 오류가 발생하지 않으려면 코드를 어떻게 수정해야 할까 ?
float pie = 3.1415;
float 라는 자료형 뒤에는 식별자인 대문자 'F' 나 소문자 'f' 를 숫자 뒤에 붙여서 float 형 임을 알려줘야 한다.
정답 :
float pie = 3.1415F;
6. 다음과 같은 결과가 나오도록 ( ) 빈칸에 알맞은 코드를 작성해보세요 .
package section02;
public class PRACTICE_02_06 {
public static void main(String[] args) {
int n1 = 7;
System.out.println(n1);
double n2 = "( )" n1;
System.out.println(n2);
} 실행결과
} 7
7.0
정답 : (double) 을 붙여 자동 형변환을 시켜준다 !
자동 형변환 : 크기가 작은 자료형에서 큰 자료형으로 대입할 경우 자동 변환
강제 형변환 : 크기가 큰 자료형에서 작은 자료형으로 대입할 경우 강제로 자료형을 변환
< 연산자 >
- 다음 문장이 맞으면 o 표 , 틀리면 x 표 하세요
▶ 피연산자의 개수에 따라 연산자를 단항 / 이항 / 삼항 으로 구분한다 ( o )
▶ 연산자는 우선 순위가 존재한다. ( o )
▶ 연산의 결과로 하나 이상의 값이 출력될 수 있다 ( o )
▶ 논리 연산의 결과는 boolean 으로 출력된다 ( o )
2. 다음 코드를 실행 했을때 콘솔창에 출력 되는 결과는 무엇인가?
package section03;
public class PRACTICE_03_02 {
public static void main(String[] args) {
int x = 613;
System.out.println(++x);
System.out.println(++x);
System.out.println(x++);
System.out.println(--x);
}
}
정답 : 614, 615, 615, 615, 615
전위 증감 연산자는 우선순위가 높아서 바로 실행 된다.
따라서 첫번째 값 614, 두번째값 615
후위 증감 연산자는 우선순위가 매우 낮아 늦게 실행된다.
출력이 먼저 실행되고 나서 증가 하기 때문에 세번째값 역시 615
그 이후 616 으로 증가한 x 는 전위 감소 연산자로 인하여 다시 615로 출력된다.
3. 2개의 피연산자를 부호로 비교하여 그 부호 관계가 true 인지 false인지 판별하는 연산자로 비교 연산자라고도 불리는 연산자는 ? --------> 관계 연산자
4. 다음과 같은 결과가 나오도록 코드를 수정해 보세요 .
package section03;
public class PRACTICE_03_04 {
public static void main(String[] args) {
int a = 300;
int b = 150;
System.out.println(b/a);
} 실행결과
} 0.5
↓
package section03;
public class PRACTICE_03_04 {
public static void main(String[] args) {
int a = 300;
int b = 150;
System.out.println((double)b/a);
}
}
정답 : int 자료형 이라서 계속 정수만 출력 된다 . 자동형변환으로 실수가 출력될수 있도록 만들어줌
5. 다음 코드를 실행했을때 콘솔창에 출력되는 결과는 무엇인가?
package section03;
public class PRACTICE_03_05 {
public static void main(String[] args) {
String a = (7 > 9)? "apple" : "banana";
a += " juice";
System.out.println(a);
}
}
정답 : 삼항연산자는 조건이 true 일때 앞에 false 일때 뒤에 피연산자가 채택된다.
( 7 > 9) 조건식이 false 이므로 " banana " 가 출력 되어야 하며
뒤에 " juice" 가 붙기 때문에 출력값은 banana juice 가 나온다.
< 제어문 1 >
- 다음 코드를 실행했을때 콘솔창에 출력되는 결과는 무엇입니까 ?
package section02;
public class PRACTICE_03_05 {
public static void main(String[] args) {
int num = 11;
int result = 1000;
if(num > 10) {
result = 1100;
}
System.out.println(result);
}
}
정답 : if 제어문에서 조건식이 참이라면 중괄호 안에 선언된 값을 따른다. 따라서 result 는 1100 이 되었으므로
정답은 1100 이 출력 된다.
2. 다음 코드를 실행했을때 콘솔창에 출력되는 결과는 무엇입니까 ?
package section02;
public class PRACTICE_03_05 {
public static void main(String[] args) {
int score = 77;
char result = 'A';
if(score >= 60) {
result = 'D';
} else if(score >= 70) {
result = 'C';
}
System.out.println(score + "점의 학점은 " + result + "입니다.");
}
}
정답 : if 제어문을 살펴보면 60 이상이면 D , 아니면 70 이상이면 C 값을 출력해 라고 설명 하고 있다.
그러나 77점은 60점이상이라는 조건식에 만족하므로 첫번째 조건식에 참 이어서 D에서 멈춘다.
77 점의 학점은 D 입니다. <------- 라고 출력된다.
3. 2번 코드의 실행 결과를 다음과 같이 변경하고 싶을 때, 코드를 어떻게 수정해야 할까?
77점의 학점은 C 입니다.
정답
package section02;
public class PRACTICE_03_05 {
public static void main(String[] args) {
int score = 77;
char result = 'A';
if(score >= 60 && score < 70) {
result = 'D';
} else if(score >= 70) {
result = 'C';
}
System.out.println(score + "점의 학점은 " + result + "입니다.");
}
}
정답 : D의 범위를 60이상 70미만이라고 지정 해줌으로서 조건식에 참으로 들어가지 않도록 한다 !
60 이상 이고 70 미만 일때 AND '&&' 를 사용해준다.
4. 다음 ( ) 빈칸에 알맞은 단어를 작성해 보세요.
- 조건문에 사용하는 조건식은 ( boolean ) (으)로 결과를 확인할 수 있는 모든 식을 사용할 수 있습니다.
// 조건식이 참인지 거짓인지로 제어문이 실행된다.
5. 다음 문장이 맞으면 o 표 , 틀리면 x표 하세요.
- if-else if 문에서 else if 문의 수는 제한이 없습니다 ( o )
- if-else if 문에서 if 조건문과 else if 조건문이 모두 참이면 둘다 실행 된다 ( x )
else if 의 수는 제한이 없고 if 와 else if 중 하나의 조건식만 참으로 해당되고 실행된다.
6. 다음과 같은 결과가 나오도록 아래 빈칸에 코드를 switch 문 으로 구현해 보세요
package section02;
public class PRACTICE_03_05 {
public static void main(String[] args) {
int a = 25;
switch(a/10) {
case ( 2: ) // 빈칸에 답을 넣었다.
System.out.println("a는 20 이상의 숫자 입니다.");
}
} 실행결과
} a는 20 이상의 숫자 입니다.
정답 : switch 안 조건식이 int 값이므로 2가 나오는데 case 2: 의 출력을 원한다고 만들어주면
정상적으로 a는 20 이상의 숫자 입니다. <-----가 출력된다.
< 제어문 2 >
1 . 다음 ( ) 빈칸에 알맞은 단어를 작성해 보세요
- 반복문은 ( 동일 ) 한 동작을 여러 번 반복하여 실행하는 구문 입니다.
2. 반복문의 종류를 모두 나열해 보세요
- for문 : 주로 반복 횟수가 정해져 있을 때 사용
- 중첩for문 ( 2중 for문) : for문 안에 또 다른 for문을 사용하는 경우
- while문 : 조건에 의해 정해진 횟수만큼 반복하는 문법
- do-while : while문과 같이 조건을 만족할 때까지 반복, while문과 다른점은 루프를 한 번 실행한 후에 조건식을 검사
3. 1부터 100 까지의 정수 중에서 짝수만을 더해 출력하는 코드를 for문을 사용해 작성해보세요
package section02;
public class PRACTICE_03_05 {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // 2로 나눴을때 나머지가 0 이면 짝수 이다.
sum += i;
}
System.out.println(sum);
}
}
}
4. 두 개의 주사위가 같은 값이 나올때 까지 while 문을 사용해 반복하고, 반복횟수와 주사위 눈의 번호를 출력해보세요
package section02;
import java.util.Random;
public class PRACTICE_03_05 {
public static void main(String[] args) {
Random rand = new Random();
int dice1 = 0; // 주사위1
int dice2 = 0; // 주사위2
int cnt = 0; // 반복횟수
while (true) {
dice1 = rand.nextInt(6) + 1; // 1~6까지 주사위1
dice2 = rand.nextInt(6) + 1; // 1~6까지 주사위2
if (dice1 == dice2) {
System.out.println("반복횟수: " + cnt);
System.out.println("주사위 눈 번호: " + dice1); // 주사위 1 번호
System.out.println("주사위 눈 번호: " + dice2); // 주사위 2 번호
break;
}
cnt++; // 반복횟수를 카운트 해준다
}
}
}
'JAVA > [멘토씨리즈]' 카테고리의 다른 글
| [멘토 씨리즈] JAVA 배열 (0) | 2024.04.09 |
|---|---|
| [멘토 씨리즈] JAVA 제어문2 (0) | 2024.04.09 |
| [멘토 씨리즈] JAVA 제어문1 (0) | 2024.04.09 |
| [멘토 씨리즈] JAVA 연산자 (0) | 2024.04.09 |
| [멘토씨리즈]JAVA 변수와자료형 (0) | 2024.04.09 |