본문 바로가기

cs/java

(4)
String, StringBuilder, StringBuffer의 차이 1) String 객체의 특성 자바에서 String 객체는 한 번 생성하면 크기가 불변(immutable)한다. 그래서 문자열 연산( + , concat ) 등으로 으로 원래 있던 String 문자열에 다른 문자열을 붙이면, 원래 객체에 추가로 붙는 것이 아니라 새로운 String 객체를 만들고, 거기에 연산을 한 문자열을 저장하고 참조하는 것이다. String 클래스 객체는 Heap 메모리 영역에 생성이 되어 , 한번 생성한 객체의 내부 내용 변화시킬 수 없고 , 기존 객체가 제거되면 가비지 컬렉션의 대상이 된다. 이런 과정을 거치기 때문에 문자열 연산이 많은 경우(ex. jdbc 연결 쿼리) 성능이 좋지 않다. 하지만 불변 객체는 간단하게 사용 가능하고, 동기화에 신경쓰지 않아도 되어 (Thread-..
for문으로 키코드 찍기 public class MyClass { public static void main(String args[]) { String input = "test 01"; for(int i=0; i
while문과 do - while문의 차이 } 출력결과는 둘 다 1 2 3 4 5 6 7 8 9 10 이지만 i 값에 while 조건문에 있는 조건 (i
switch 문에서 break; 사용하는 경우 와 사용하지 않는 경우 예문 1 : break문이 달려 있지않음 예문 2: break 문 달려있음 예문 1의 경우 변수 time 에 따라 case가 하나만 해당 하는 것이 아니다. 내가 출력하고 싶은 내용은 현재 시간이 8시라면 내가 해야 할 일은 출근, 회의, 업무, 외근 이다. (당연함. 8시 출근하고 숨만쉬고잇을순업다;) case마다 break를 달 경우 8시 출근만 출력이 되기 때문에 break를 붙이지 않는 것이다. 예문 2의 경우 변수 num 에 해당하는 case는 하나 뿐이기 때문에 (당연함. break 안 달면 나머지 케이스들 주르르륵 출력되서 랜덤 숫자가 1이 나왔는데 1이나왔습니다 2가나왓습니다 3이나왓습니다 이렇게나옴;) break를 달아서 나머지 케이스가 출력되지 않게 해야한다. 글로 쓰니까 얘는 뭐 이딴..