
Q. 자바의 특징 4가지는?
- 운영체제의 독립적
- 객체지향 언어
- 함수형 프로그래밍 지원
-> 지원하는 함수형 프로그램?
람다식, 스트림- 자동 메모리관리
Q. 자바에서 컴파일이란?
자바언어를 바이트코드로 변환
Q. JVM의 역활은?
바이트코드를 운영체제에 맞는 기계어로 변환, 실행
Q. JDK와 JRE의 구분
JRE(Runtime) : JVM + 표준클래스 라이브러리
JDK : JRE + 자바 개발 툴
Q. 변수의 선언과 초기화, 할당의 구분
- 선언 : 타입에 따른 메모리 할당, 메모리셀 주소 인지
- 초기화 : 변수 선언 후 처음 값을 할당 하는것
- 할당 : (초기화를 포함해) 값을 주는 것
Q. 변수명으로 사용 할 수 없는 것
- 숫자로 시작하는 변수명
- 예약어
Q. 문자가 가리키는 '값' 그 자체를 부르는 단어는?
리터럴(Literal)
Q. 변수의 타입에는 기본형과 참조형이 있다. 각 기본형의 타입과 메모리를 적으시오.
정수형 byte(1) short(2) int(4) long(8)
실수형 float(4) double(8)
논리형 boolean(1)
문자형 char(2)Q. int 타입의 메모리 표현 범위를 적으시오.
int는 4byte -> 2^16
부호갚을 제외하여 표현범위는 -2^15~2^15-1
Q. 자동 형변환이 가능한 순서대로 정수형과 실수형을 나열하시요
byte < short/char < int < long < float < double
Q. 연산자를 사용하여 수동 형변환 하는것을 무엇이라 하는가?
캐스팅 연산자
Q. 큰 타입을 작은 타입으로 수동 형변환 하면 어떻게 되는가?
초과하는 만큼 오버플로우가 발생한다
Q. String 변수선언은 리터럴 직접할당 방식과 클래스 인스턴스 생성 방식 두가지가 있다. 이 두 변수의 차이는 무엇인가?
동일한 문자열 리터럴의 두 변수는 참조값을 공유한다.
but 문자열 클래스의 iv는 리터럴이 같아도 따로 생성된다.Q. 위 상황에서 참조값이 아닌 내용을 비교하기 위해 사용하는 메서드를 쓰시오.
equals()
String 타입의 변수를 참조하면 toString()이 자동으로 호출되어
실 참조값을 문자열로 변환해준다.
숫자가 길면 언더바로 구분이 가능하다
int intNum = 12_345_678_910;
🥝String 클래스의 메서드
length() 문자열의 길이 - 인수 없음 charAt() 특정 인덱스 문자 반환 compareTo() 비교, 대소문자 구분 compareToIgnoreCase() 비교, 대소문자 비 구분 concat() 연결 indexOf() 위치 반환 trim() 공백 제거 - 인수 없음 toLowerCase() 소문자화 - 인수 없음 toUpperCase() 대문자화 - 인수 없음
import StringTokenizer
지정한 구분자로 문자열을 쪼깨 토큰으로 만드는 클래스
관련 메서드
int countTokens() 현재 남은 token 개수 반환 boolean hasMoreElements(), boolean hasMoreTokens() 사용가능한 토큰이 남았는지를 boolean으로 반환 Object nextElement(), String nextToken() 토큰 반환, 각각 Object 타입과 String 타입으로 반환
StringBuffer
StringBuilder sb = new StringBuilder(); sb.append("Java"); sb.append(" is"); sb.append(" fun!"); System.out.println(sb.toString()); // 출력 결과: "Java is fun!"
StringBuffer클래스의 인스턴스는append()메소드를 사용할 수 있다. 연결을 다 하고 인스턴스에toString()메서드를 사용하여 호출하자관련 메서드
capacity() StringBuffer iv의 버퍼 크기를 반환 delete() 부분 문자열 제거 insert() 인덱스 위치 추가
🦀🦀🦀
쳇봇한테 append 물어봤다가 오류난 코드들고 씨름하다가 낭패를 봤다..
너무 의지 하지 않는게 좋을 듯 하다.. 망할넘...
탭 필기로 정리하는 방법이 생각보다 시간적으로 비효율적인 것 같아
리뷰로그의 방법을 바꾸려 한다.
무엇보다 악필인 덕에 최대한 단순하게 하려는데도 예상보다 시간이 너무 오래 걸린다
ps.. 자고 일어나니 마우스 고장이 사라져 있었다. 이 무슨...
전날 너무 늦게 자서 모닝색션 타임에 조는걸 넘어서 그냥 자버린것 같다..
전날 수업 끝나고 예습을 해놓길 천만 다행이었지..
전날부터 페어프로그래밍을 하고 있는데 아직은 프로그래밍이라기 보다 페어 학습인 수준이다.
상호간의 모니터링을 통해 통해 복습도 되고 실력있는 페어 덕분에 막히는 부분도 수월하게
진행할 수 있었다.
이것 저것 의견을 공유하며 하는 페어 학습은 꽤나 재밌었다.
저녁에 운동에 시간을 할애한 덕분에 시간이 부족해 졌다
정리를 더 해야하는데 너무 졸려서 못하겠다.. 내일 보충해야 될 것 같다