본문 바로가기

신용권5

이것이 자바다 확인 문제 풀이 5장, 챕터5, Chapter5 [신용권의 이것이 자바다 챕터 4 조건문과 반복문 확인 문제 풀이] ■ 문제1 답 : 4번 ① ㅇㅇ. 참조 타입에는 배열, 열거, 클래스, 인터페이스가 있다. ② ㅇㅇ. 참조 타입 변수는 스택에 생성되며, 변수가 참조하는 객체가 힙에 생성된다. ③ ㅇㅇ. 참조 타입에서 비교 연산은 주소값 비교이다. ④ ㄴㄴ. 참조 타입은 null 값으로 초기화 할 수 있다. 아직 참조할 게 없다는 뜻. ■ 문제2 답 : 3번 ① ㅇㅇ. 로컬 변수는 스택에 생성되고 코드 블록이 끝나면 지워진다 ② ㅇㅇ. 메소드 코드, 상수, 열거 상수는 정적 메소드 영역에 생성된다. (변수가 스택, 객체가 힙) ③ ㄴㄴ. JVM이 알아서 가비지 콜랙터로 지워버리니, 개발자가 굳이 코드 짤 수고 불필요 ④ ㅇㅇ. 배열 및 객체는 힙에 생성.. 2021. 8. 8.
이것이 자바다 5장 복습 : 참조 타입 (2/) String, 배열 ◆ String 사실 문자열을 스트링 변수에 저장한다는 말은 틀린 표현이다. (일반적으로 이런 식으로 표현하긴 하지만..) 문자열은 기본 타입이 아니라 참조 타입이기 때문에, 직접 변수에 저장되는 것이 아니라 String 객체로 생성되고 변수가 String 객체를 참조하는 셈인 것이다. ◆ new new 연산자는 힙 영역에 새로운 객체를 만들어 낸다. 만약 아래와 같이 작성한다면, 둘이 가리키는 객체는 같지만. public class MyTest { public static void main(String[] args) { String name1 = "Justin"; String name2 = "Justin"; char ans = (name1==name2) ? 'T':'F'; System.out.print.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 4장, 챕터4, Chapter4 [신용권의 이것이 자바다 챕터 4 조건문과 반복문 확인 문제 풀이] 문제1 답: #조건문의 종류: if, switch #반복문의 종류: for, while, do-while 문제 2 답: 2번 switch 문에는 double이 올 수 없다. 가능한 타입들은 : byte, char, short, int, long, String 뿐이다. 문제3 답: public class Ex03 { public static void main(String[] args) { int sum=0; for (int ii=1; ii 2021. 8. 8.
이것이 자바다 확인 문제 풀이 3장, 챕터3, Chapter3 [신용권의 이것이 자바다 챕터 3 연산자 확인 문제 풀이] 문제1 답: ③ 연산식은 하나 이상의 값을 산출 할 수 없다. 예를 들어, 1+1은 무조건 2만 가능하다. 1==3의 결과는 무조건 false이다. 문제2 답: 31 ++x의 x는 바로 +1이 적용되어서 11이고 y--의 y는 이후 -1이 적용되어서 여전히 20이다. 11+20을 하므로 31이 답이다. public class Exercise02 { public static void main(String[] args) { int x = 10; int y = 20; int z = (++x) + (y--); System.out.println(z); } } 문제3 답: 가 삼항 연산은 아래처럼 진행된다. (조건)? 맞을때의결과 : 아닐때의결과 !scor.. 2021. 8. 8.
이것이 자바다 확인 문제 풀이 2장, 챕터2, Chapter2 ■ 문제1 - 답: 4 ① ㅇㅇ. 변수는 하나의 값만 저장 ② ㅇㅇ. 변수는 선언할 때 지정한 타입의 값만 저장할 수 있음 (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ③ ㅇㅇ. 변수가 선언된 중괄호를 벗어나면, 그 변수 못씀. (그래서 for/if 블록 안 변수 들은, 해당 블록 밖 main() 블록에서 못 쓸 수도 있으니, 변수 선언/초기화 시점을 잘 지정해야함.) ④ ㄴㄴ. 변수는 초기화 안되면 못 읽음. 디폴트로 0으로 지정되어 읽을 수 있는 거 아님. (배열/array의 경우 초기화 안해두어도 int 타입으로 선언만 하면, 내부 값을이 일괄 0으로 지정되긴 함..) ■ 문제2 답: -변수 이름 사용 불가한 것: 6hour (.. 2021. 8. 8.