[신세계I&C KDT][Java 프로그래밍] #3 연산자, statements (0312, 0313)

박현아·2024년 3월 12일
0

신세계아이앤씨 KDT

목록 보기
3/42

1. 연산자 (Operator)

1) 산술연산자

+ : 수치데이터 연산은 더하기. 문자열과 다른 값을 +하면 연결되어 반환
- : 빼기
* : 곱하기
/ : 정수값으로 나누기하면 결과값은 몫
% : 나머지

2) 대입연산자

  • 용도 : 변수에 임의의 값을 저장하는 역할
    a = b; // a에 b를 저장
    a += b; // a = a+b;
    a -= b; // a = a-b;
    a *= b; // a = a*b;
    a /= b; // a = a/b;
    a %= b; // a = a%b;

3) 비교연산자

  • 용도 : 값(기본형)을 비교하는 기능. 실행 결과는 논리값 (true/false) (참조형 클래스, 인터페이스, 배열은 비교연산자를 사용할 경우가 거의 없다)
    a == b;
    a != b;
    a > b;
    a >= b;
    a < b;
    a <= b;

4) 논리연산자

  • 용도 : 논리값을 이용해서 연산하는 기능. 실행 결과는 논리값 (true/false)
    - 논리값 && 논리값2 : 둘 다 true일 경우 true 반환. '그리고' 라고 해석
    - 논리값 || 논리값2 : 둘 중 하나라도 true인 경우 true 반환. '또는' 으로 해석
    - !논리값 : 논리값이 true면 false, false면 true. 부정연산자라고도 부른다
    cf) short circuit logical 연산자 :&&, || 연산자 앞의 논리값만 확인해서 최종 결과가 반환되는 매커니즘

5) 비트연산자

&
|
^
~

6) 증감연산자

  • 용도 : 임의의 변수값을 1씩 증가하거나 감소하는 기능
    - ++변수명; // 전치
    - 변수명++; // 후치
  • ex) 변수명2 = ++변수명1; // 먼저 증가하고 나중에 할당
    변수명2 = 변수명1++; // 먼저 할당하고 나중에 증가

7) 3항연산자

  • 용도 : 조건을 이용해서 임의의 값을 얻을 때
  • 변수명 = (조건식)? 참문장 : 거짓문장 ;
  • 중첩이 가능
  • if~else 문과 비슷한 기능

2. 표준 입력 (standard input)

1) 개념 : 키보드로 데이터를 입력 받음
2) 모니터 : System.out
키보드 : System.in
3) java.util.Scanner 클래스 이용해서 키보드에서 입력 받을 수 있음

import java.util.Scanner;
Scanner sc = new Scanner(System.in);

4) 값을 얻을 수 있는 메서드가 제공됨

  • 정수값 : int n = sc.nextInt();
  • 하나의 단어 : String s = sc.next();
  • 한 줄 읽기 : String s = sc.nextLine():

3. 문장 (statements)

1) 실행문

  • 순차문 : 위에서 아래로 순차적으로 실행되는 문항. 거의 90% 이상 차지.
  • 제어문
    - 조건문 (분기문) : 조건에 따라서 실행되는 문장이 달라짐
    ex) 단일 if문, if-else문, 다중 if-else문, switch문
    - 반복문 : 조건에 따라서 한 번 실행된 문장이 여러 번 실행됨
    ex) for문, while문, do-while문
    • break, continue 사용

2) 비실행문

  • 주석문
    - 한 줄 주석문 //
    - 멀티 주석문 /* */
    - javadoc 주석문 /** **/ (개발자가 만든 클래스에 대한 매뉴얼인 API문서 만들 때 사용됨)

4. 조건문 (분기문)

1) 단일 if문

  • 조건식 (true/false)에 따라서 실행여부가 결정되는 경우
 if(true) {
	System.out.println("문장1");
 }

2) if~else문

  • 조건식 (true/false)에 따라서 실행하는 문장이 달라지는 경우
if (true) {
	System.out.println("문장2");
} else {
	System.out.println("문장3");
}

3) 다중 if문

  • 여러 번 비교할 때 사용
if(score>=90) {
	msg="A학점 입니다";
} else if (score>=80) {
	msg="B학점 입니다";
} else if (score>=70) {
	msg="C학점 입니다";
} else {
	msg="F학점 입니다";
}

5. 변수 scope

  • 자바의 변수는 기본적으로 블록 scope를 따른다
  • 블럭{ } 안에서 선언된 변수는 블럭 안에서만 사용할 수 있다
  • ex)
main() {
	int num = 10; //로컬 변수
    if(true) {
    	int num2 = 20; //로컬 변수
    }
    System.out.println(num2); //에러 발생!!
}

6. switch문

  • 용도 : 조건이 여러 개인 경우 사용
  • 특징 : switch문에 사용되는 변수의 타입은 6가지만 가능 (byte, short, int, char, String, enum)
    break문이 없으면 일치된 case문 이후의 모든 문장이 실행됨
switch(변수) {
	case1(리터럴): 문장;
    	break;
    case2(리터럴): 문장;
    	break;
    default: 문장;
}

7. 반복문

1) for문

  • 반복 횟수 예측이 쉽게 가능한 경우
  • for (시작값/초기값; 조건식; 증감연산자) {
    문장1;
    문장2;
    }
for( int i = 0 ; i < 6  ; i++  ) {
	System.out.println("Hello");
}

위 3가지 구성 요소 (시작값, 조건식, 증감연산자)가 하나라도 빠지면 원하는 반복이 안 됨. 무한루프에 빠질 수 있다

2) while문

  • 반복 횟수 예측이 어렵거나 무한루프를 원할 때
초기값; 
while (조건식) {
	문장;
    증감연산자;
}
  • 무한 루프 while(true) { }

3) do~while문

시작값;
do {
	문장;
    증감연산자;
} while (조건식);
  • do~while문은 최소 한 번은 do 문장이 실행된다

8. break문, continue문

1) break문

  • 용도 : 반복문을 빠져나올 때

2) continue문

  • 용도 : 반복해야되는 여러 문장 중 특정 문장을 특정 회차에 skip할 때 사용

참고할 사이트

0개의 댓글