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 문과 비슷한 기능
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문
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(변수) {
case 값1(리터럴): 문장;
break;
case 값2(리터럴): 문장;
break;
default: 문장;
}
7. 반복문
1) for문
- 반복 횟수 예측이 쉽게 가능한 경우
- for (시작값/초기값; 조건식; 증감연산자) {
문장1;
문장2;
}
for( int i = 0 ; i < 6 ; i++ ) {
System.out.println("Hello");
}
위 3가지 구성 요소 (시작값, 조건식, 증감연산자)가 하나라도 빠지면 원하는 반복이 안 됨. 무한루프에 빠질 수 있다
2) while문
- 반복 횟수 예측이 어렵거나 무한루프를 원할 때
초기값;
while (조건식) {
문장;
증감연산자;
}
3) do~while문
시작값;
do {
문장;
증감연산자;
} while (조건식);
- do~while문은 최소 한 번은 do 문장이 실행된다
8. break문, continue문
1) break문
2) continue문
- 용도 : 반복해야되는 여러 문장 중 특정 문장을 특정 회차에 skip할 때 사용
참고할 사이트