20240902

Dodo Lee·2024년 9월 2일

※반복문※

: 프로그램 수행 흐름을 바꾸는 역할을 하는 제어문

for문

for(초기식; 조건식; 증감식){
수행될 코드;
}

while문

while(조건식){
수행될 코드;
[ 증감식 or 분기문 ];
}

--> 탈출 조건(증감식, 분기문)이 중요(시험)

do while문

do{
수행될 코드;
[ 증감식 or 분기문 ];
}while(조건식);
--> while문과 차이: do 안의 내용을 1회는 무조건 시행
--> while 뒤에 ; 꼭 필요

※분기문※

: 반복문에서는 break문. 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문
ex)

for(int i = 1;; i++{
system.out.printin(i + "출력");
if(i >= 10){
break;
}
}

자바에서 문자열 비교는 == 연산자 사용 불가!
비교연산자(==)는 보통 기본자료형끼리의 연산에서만 사용 가능함
String 은 기본자료형이 아닌 참조형 !!!

문자열1.equals(문자열2)
-> 문자열 1과 문자열2가 같으면 true / 다르면 false 반환

※별 모양 만들기※

public void practice12(){
System.out.print("정수 입력 : ");
int num = sc.nextInt();

for(int i = 1; i <=num; i++) {
	if(i == 1 || i == num) {
		for(int y = 1; y <= num; y++) {
			System.out.print("*");
		}
	}else {
		for(int y = 1; y <= num; y++) {
			if(y == 1 || y == num) {
				System.out.print("*");
			}else {
				System.out.print(" ");
			}
		}
	}
	System.out.println();
}

}

※배열(Array)※

  • 같은 자료형의 변수를 하나의 묶음으로 다루는 것
  • 배열은 저장된 값마다 인덱스 번호가 0부터 시작하여 설정
  • 한 번 크기를 정하면 변경 불가

== JVM 메모리 구조 ==

1. Stack

  • 메소드를 호출하면 자동 생성
  • 메소드가 끝나면 자동소멸
  • 지역변수, 매개변수, 메소드 호출 스택 등
    2. Heap
  • new연산자에 의해 동적으로 할당하고 저장되는 공간
  • 객체, 배열 등
    3. Static
  • static 예약어로 선정된 필드
  • 메소드가 저장되는 공간

== 배열 선언과 할당 ==

1. 배열 선언
1) 자료형[] 배열명;
2) 자료형 배열명[];

2. 배열 할당
1) 자료형[] 배열명 = new 자료형[배열크기];

ex) int[] arr = new int[3];
**배열 선언 : 메모리에 배열은 참조하는 변수 공간을 만듦
--> 값 직접 저장X, 배열의 주소를 저장

== 기본/참조 자료형 ==

1. 기본 가료형(primitive type)
: int, double, boolean 같은 일반 자료형은 stack영역에 있음
2. 참조 자료형(reference type)
: 배열(Array), 객체(Object), String은 heap영역에 할당
*heap 영역에 할당된 공간은 !절대! 비어있을 수 없다
-> 최초 할당 시, JVM 기본값이 자동저장된다
(boolean: false / 나머지 : 0 / 참조형 null)

profile
연습생

0개의 댓글