220409 자바 리뷰

이전영·2022년 4월 9일
0

정확히 개념을 모르고 지나갔던 continue, break를 다시 보았다. 아니 Do it 자바책을 처음부터 다시 보았다. continue를 먼저 보자면,

for(num = 1;num<=100; num++){
	if(num % 2 ==0)
    	continue;
    total +=num;
}

위 코드에서 흐름은 num = 1 부터 1씩 증가하며 100까지 반복
만약 num이 짝수라면 밑에 total +=num이 실행되지 않고 위로 올라가 num++가 수행된다.

continue문은 반복문을 수행할때 특정조건에서는 수행하지않고 건너뛰어야 할때 사용한다.

while(조건식){
}

조건식이 참이면 수행. 거짓이면 while문을 빠져나온다.

break;

만약 중첩 반복문이 있다고 가정하자.
가장 안쪽의 반복문에서 break;를 선언하면 하나의 반복문에서 탈출하게된다.

조건연산자를 사용하여 부모님의 나이 비교하기

public class OperationEx4 {

    public static void main(String[] args){
        int fatherAge = 45;
        int motherAge = 47;

        char ch;
        ch = (fatherAge > motherAge) ? 'T' : 'F';

        System.out.println(ch);
    }
}
if (fatherAge > motherAge){
	char ch='T'
    }
else{
	char ch='F'
    }

헷갈리던 로컬,인스턴스, 클래스 변수 마무리 하자.

7. 변수 종류

가. 로컬변수

  • 메서드 안에서 선언된 변수이다.
  • 메서드가 호출될 때 생성되고 메서드가 종료될때 제거된다.
    stack 메모리에 저장된다. 임시적으로 사용된다.
  • 접근 지정자를 사용하지 못한다.
  • 기본적으로 메서드 불록({}) scope를 따른다.
  • 반드시 사용 전에 초기화 해야된다.

나. 인스턴스 변수

  • 메서드 밖에서 선언된 변수이다.
  • 객체 생성할때 생성되고, 객체가 제거될 때 삭제된다.
  • heap 메모리에 저장된다. 클래스의 인스턴스 정보(속성)을 저장하는 용도이다.
  • 사용 전에 초기화 하지 않으면 기본값으로 자동 설정된다.
  • 기본적으로 클래스 블록({}) scope를 따른다.

다. 클래스 변수

  • 메서드 밖에서 선언된 변수이다.
    인스턴스 변수와 차이점은 변수 선언시 static 키워드를 사용한다.
  • 프로그램이 실행될 때 자동으로 생성되고, 프로그램이 종료 될 때 삭제된다.
  • 프로그램은 한번만 실행되기 때문에 클래스 변수도 단 한번만 생성된다.
    객체 생성전에 생성이 된다. 따라서 '클래스명.변수'형식으로 접근한다.
    -일반적으로 데이터 누적용으로 사용된다.
    -method Area 영역에 저장된다. (static 키워드 및 상수 저장 영역)
  • 초기화 하지 않으면 자동으로 기본값으로 자동 설정된다.

Call By Value

자바의 매개변수는 값 복사를 통해서만 전달된다.

메서드 호출시 매개변수로 전달되는 값은 기본 데이터인 경우에는 변수에 저장된 실제값이 전달되고 참조 데이터형인 경우에는 변수에 저장된 객체의 주소값이 전달된다.

profile
개발자 2년차

0개의 댓글

관련 채용 정보