Java

Java 문법(3) - 연산자, 조건문, 선택문, 반복문

sangchu 2022. 2. 6. 21:30

- 연산자 -

대입연산자(=)

  • 좌측과 우측의 자료형이 동일할 때 사용 가능
  • 다른 자료형간에 하고싶으면 형변환 사용

 

덧셈, 뺄셈, 곱셈연산자(+,-, *)

 

나눗셈연산자(/)

  • 나눗셈을 실행한 뒤 생기는 몫을 반환

17/3 ⇒ 5출력

 

나머지연산자(%)

  • 나눗셈 실행 시 생기는 몫과 나머지 부분 중 나머지를 반환

 

복합대입연산자(+=, -= 등)

 

비교연산자

  • 연산자의 좌우 값을 비교
  • 결과는 boolean형(true 혹은 false)로 반환

  

 

 

전위/후위 연산자(++, --)

  • int 자료형에 사용할 수 있는 연산자

 

논리연산자 - AND(&&), OR(||), NOT(!)

 

비트연산자

  • 비트 단위의 연산을 위한 연산자
  • 각 비트 하나씩 연산
  • &, |, ^, ~

 

시프트연산자

  • <<, >>

 

연산자 우선순위

 

오버플로와 언더플로

  • 컴퓨터는 메모리에 0과 1을 이용한 2진수로 데이터를 저장함
  • 우리가 저장하는 값은 실제로 2진수로 변환하여 저장됨
  • 메모리에 할당되는 공간 중 제일 첫 비트(bit)는 음/양을 나타내는 부호자리 → 0일경우 0 및 양수, 1일 경우 음수 → int형은 32bit(4byte) 크기의 자료형이지만 제일 첫 bit는 부호를 나타내는 숫자이므로 -2^31부터 2^31 -1까지의 데이터를 저장할 수 있음
  • 오버플로(Overflow): 저장하고자 하는 데이터가 자료형이 저장할 수 있는 최대치보다 큰 숫자를 저장하려고 할 때 생기는 에러
  • 언더플로(Underflow): 저장하고자 하는 데이터가 자료형이 저장할 수 있는 최소치보다 작은 숫자를 저장하려고 할 때 생기는 에러

 

 

- 조건문/선택문 -

if문

  • if (조건){ }
    • 소괄호 내에는 true 혹은 false가 될 수있는 조건이 필요
    • 중괄호는 if 조건을 만족할 시 동작하는 구간, 중괄호 내부에서 선언된 변수는 지역변수

else문

  • if 조건 만족하지 않을 시 동작

else if문

switch문

  • if문과 다르게 int형 조건을 기본으로 가짐
  • int형, char형이 가능
  • case문과 default문으로 구성
  • case문
    • switch 문 내에서 여러 번 사용 가능
    • 만약 case 문의 숫자가 switch문의 조건을 만족하는 숫자 → 해당 case문부터 break; 명령을 만날 때까지 프로그램 실행
    • break문: switch문, 반복문 탈출하는 문법
  • default문
    • case문에 만족하는 조건이 없을 시 동작
    • 필요하지 않으면 생략 가능
    • 하나의 switch문 안에 default문 단 하나만 사용 가능

 

 

- 반복문 -

for문

  • for(시작조건; 실행조건; 증감식; ) { }
  • 시작조건은 가장 처음 1회만 실행
  • 실행 조건이 true 만족 시 for문 동작
  • break문 쓰면 for문 언제든 벗어날 수 있음

이중 for문

while문

  • 오직 실행 조건만으로 동작
  • 동작 조건을 먼저 확인하고 동작내용을 실행할지 하지 않을지 판단

do while문

  • 우선 1회 동작한 뒤 동작 조건을 확인하여 반복 여부를 판단
do {
	// 동작 내용
} while( /* 동작 조건 */ );

break / continue문

  • continue문
    • 반복문에만 사용되는 문법
    • continue문을 만나면 반복문의 조건이 있는 곳으로 돌아가게 됨

 

 

 

 

 

 

'바로 실행해보면서 배우는 java'를 학습하며 정리한 문서

'Java' 카테고리의 다른 글

Java 문법(6) - 클래스와 객체, 접근제한자  (0) 2022.02.07
Java 문법(5) - 배열 기초, String  (0) 2022.02.06
Java 문법(4) - 메소드  (0) 2022.02.06
Java 문법(2) - 메모리, 자료형  (0) 2022.02.06
Java 문법(1) - 시작  (0) 2022.02.06