목록이것이 자바다 (108)
충분히 쌓여가는
java 명령어로 JVM이 구동되면 JVM은 운영체제에서 할당받은 메모리 영역(Rumtime Data Area)을 메소드 영역, 힙 영역, 스택 영역으로 구분해서 사용 메소드 Method 영역 : 바이트코드 파일을 읽은 내용이 저장되는 영역 클래스 별로 상수, 정적 필드, 메소드 코드, 생성자 코드 등이 저장됨 힙 Heap 영역 : 객체가 생성되는 영역 객체의 번지는 메소드 영역과 스택 영역의 상수와 변수에서 참조할 수 있다 스택 Stack 영역 메소드를 호출할 때마다 생성되는 프레임 Frame이 저장되는 영역 메소드 호출이 끝나면 프레임은 자동 제거됨 프레임 내부에는 로컬 변수 스택이 있고, 여기에서 참조 타입 변수가 생성되고 제거된다
자바의 데이터 타입은 기본 타입 Primitive type과 참조 타입 reference type로 분류됨 기본 타입으로 선언된 변수는 값 자체를 저장 참조 타입으로 선언된 변수는 객체가 생성된 메모리 번지를 저장 참조 타입 : 객체 object의 번지를 참조하는 타입 배열, 열거, 클래스, 인터페이스 타입이 있다 변수들은 모두 스택 stack이라는 메모리 영역에 생성된다
break 문은 반복문인 for 문, while 문, do-while 문을 실행 중지하거나 조건문인 switch 문을 종료할 때 사용한다 만약 반복문이 중첩되어 있을 경우 break 문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료시키지 않는다 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(레이블)을 붙이고, "break 이름"을 사용하면 된다 예제 바깥쪽 for 문은 'A' ~ 'Z'까지 반복하고, 중첩된 for 문은 'a' ~ 'z'까지 반복한다 중첩된 for 문에서 lower 변수가 'g'를 갖게 되면 바깥쪽 for 문까지 빠져나오도록 바깥쪽 for 문에 Outter라는 라벨을 붙였다 package ch04.sec07; public class BreakOutterExa..
for 문의 초기화 식에서 선언된 변수는 for 문 블록 안에서만 사용되는 로컬 변수 for 문을 벗어나서도 사용하고 싶다면 초기화식에서 변수를 선언하지 말고 for 문 이전에 선언해야 함 int i; for (int i=1; i float 타입은 연산 과정에서 정확히 0.1을 표현하지 못하기 때문에 x에 더해지는 값이 0.1보다 약간 클 수도 있기 때문 package ch04.sec04; public class FloatCounterExample { public static void main(String[] args) { for(float x=0.1f; x