본문 바로가기
Programming/JAVA(eclipse)

java 4일차_(3일차요점정리)

by yoon9i 2024. 3. 13.

<연산자>
1. 연산자 ( Operator )

1) 산술연산자
+ ( 수치데이터 이용하면 연산은 더하기로 처리됨.
     문자열과 다른값(문자열,비문자열) 을 + 하면 연결되어 반환
     ex) System.out.println("홍길동"+20) => 홍길동20 
-
*
/ ( 정수값으로 나누기하면 결과값은 정수값으로 반환,
   es) 10/3 => 3, 10/3.0 => 3.333333 )
% ( 나머지 )

2) 대입연산자
- 용도: 변수에 임의의 값을 저장(할당,대입)하는 역할.

    a = b; // a 에 b 를 저장(할당,대입)함.
    a += b; // a 에 b 를 더하고 결과를 a 에 저장함. 
   a = a + b;
    a -= b; // a = a - b;
    a *= b;  // a = a * b;
    a /= b; // a = a / b;
    a %= b; // a =  a % b;

ex) 새로운 변수 m 을 선언, n 변수에 저장된 값을 저장하시오.

    int n = 10;
    int m = n;

3) 비교 연산자
- 용도: 값(기본형)을 비교하는 기능. 
         실행결과는 논리값(true/false) 반환됨.
          ( 참조형은 클래스, 인터페이스, 배열은 비교연산자를 
          사용할 경우가 거의 없다. )

     a == b; // a 와 b 가 같냐?
     a != b; // a 와 b 가 같지않냐?
     a > b; // a 와 b보다 크냐?
     a >= b; // a 와 b보다 크거나 같냐?
     a < b; // a 와 b보다 작냐?
     a <= b; // a 와 b보다 작거나 같냐?

     ( js 에서는 ===, !== 추가됨 )

4) 논리 연산자
- 용도: 논리값( true/false ) 을 이용해서 연산하는 기능.
         실행결과는 논리값(true/false) 반환됨.

     && : 논리값1 && 논리값2
     => 논리값1,2 모두 true 인 경우 최종적으로 true 로 반환.
          `그리고(and)` 로 해석.
     || : 논리값1 || 논리값2
     => 논리값1,2 중에 하나라도 true 인 경우에 최종적으로 true 로 반          환. `또는(or)` 로 해석
     ! : !논리값
     => 논리값이 true 면 false 로 false 면 true 로 반환.
          부정연산자라고도 부른다.

* short circuit logical 연산자
  ==> && 또는 || 연산자 앞의 논리값만 확인해서 최종적인 결과가
         반환되는 메커니즘.

5) 비트 연산자

     &
     |
     ^
     ~

6) 증감연산자 ( 증가 연산자 와 감소 연산자 )
- 용도: 임의의 변수값을 1씩 증가하거나 1씩 감소하는 기능
- 문법:
++변수명; // 전치
변수명++; // 후치

--변수명; // 전치
변수명--; // 후치

==> 위와 같이 다른 연산자 없이 독자적으로 사용하는
경우에는 전치 및 후치 결과는 동일하다.

변수명2 = ++변수명1; // 전치, 먼저 증가하고 할당
변수명2 = 변수명1++; // 후치, 먼저 할당하고 증가

==> 위와 같이 다른 연산자와 같이 사용하는 경우에는
전치 및 후치 결과에 따라서 변수명2의 값이 달라질수있다.

7) 3항 연산자
- 용도: 조건을 이용해서 임의의 값을 얻을 때 사용
- 문법:

변수명 = (조건식) ? 참문장:거짓문장

- 특징: 중첩이 가능, if-else 문과 비슷한 기능.

<표준입력>

2. 표준입력
- 개념: 키보드로부터 임의의 데이터를 입력 받음을 의미.
- 문법:

import java.util.Scanner;

class {
   main {
       Scanner scanner = new Scanner(System.in);
       int num = scanner.nextInt(); // 정수
       String s = scanner.next(); // 하나의 단어
       String s = scanner.nextLine(); // 한 줄
   }
}

 

<제어문>

1. 문장(statement)

가. 실행문
- 순차문
: 위에서부터 아래로 순차적으로 실행되는 문장
: 대부분의 문장에 해당, ; (세미콜론) 끝남.
- 제어문
: 조건에 따라서 실행되는 문장이 달라지거나 또는 반복될 수 있는
문장을 의미한다.
-> 조건문(분기문):
단일 if 문: 특정문장을 조건에 따라서 실행여부가 결정되는
              경우.
if-else 문: 조건에 따라서 실행되는 문장이 다른 경우.
다중 if 문: 조건이 여러개인 경우에 사용됨.
 조건에 사용되는 연산자는 다양하다.
switch 문: 조건이 여러개인 경우에 사용됨.
 조건에 사용되는 연산자 지정안함.
 ( 내부적으로 == 만 사용. )
 break 문 사용 가능
-> 반복문:
for 문
while 문
do-while 문

* 반복문에서 사용되는 2가지 키워드
- break 문
- continue 문

나. 비실행문
- 주석문
- 한줄 주석 : //
- 멀티 주석: /* */
- javadoc 주석: /** */

2. 조건문: 단일 if 문
- 용도: 특정문장을 조건에 따라서 실행여부가 결정되는 경우.
- 문법:
// 1) { } (블럭) 지정 안한 경우( 권장안함 )
// if 조건식에 영향을 받는 문장은 문장1만 해당. 
// - 문장2 는 영향이 없음. 
// - 블럭이 없을시에는 바로 하단의 문장에만 적용)
// - 조건식이 true 인 경우는 문장1이 실행, false 면 실행x

if ( 조건식 ) 문장1;
   문장2;

// 2) { } (블럭) 지정한 경우( 권장함 )

if ( 조건식 ) {
   문장1;
}
  문장2;

3. 조건문: if-else 문
- 용도: 조건에 따라서 실행되는 문장이 다른경우.
- 문법:
1) { } (블럭) 지정 안한 경우( 권장안함 )
- 조건식이 true 이면 if 블럭인 문장1 실행, false 이면 
  else 블럭인 문장2 실행

if(조건식)
     문장1;
else
     문장2;

2) { } (블럭) 지정한 경우 ( 권장함)

if(조건식) {
   문장1;
} else {
                문장2;
}


4. 조건문: 다중 if문
- 용도: 조건이 여러개인 경우에 사용됨.
         조건에 사용되는 연산자는 다양하다.
- 문법:
// { }(블럭) 지정한 경우 (권장함)

if(조건식1) {
   문장1;
} else if (조건식2){
                문장2;
} else if (조건식3){
   문장3;
}

- 특징: 조건식에 사용될 수 있는 연산자는 다양하다.