삼항 연산자
(조건식) ? : (참일 때 오는 부분) : (거짓일 때 오는 부분)
(조건식) ? 참일때의 값 : 거짓일때의 값
삼항 연산자는 사용부분 통재로 값
경우의 수가 두가지일때 사용하는 것이 좋다.
최우선 연산자
(), .
단항 연산자
!, 형변환연산자
이항 연산자
산술 연산자
+ - * / %
쉬프트 연산자
>> <<
관계 연산자
> < >= <= == !=
논리 연산자
&& ||
삼항 연산자
? :
대입 연산자
=
제어문
위에서 아래로만 흐르던 코드의 흐름을 제어하기 위해 사용하는 문장
조건문(선택 제어문)
if ~ else if ~ else
switch ~ case ~ default
반복문(반복 제어문)
while
for
조건문
조건에 따라 경우의 수를 나눌 때
흐름을 나누어 줄 때
선택지를 주어줄 때
특정한 상태를 물어볼 때(입력한 번호가 3이니? 비밀번호가 "apple"이니?)
if문
if(조건식){
조건식의 연산 결과가 true값일 때 실행
}
else if(조건식2){
조건식2의 연산 결과가 true값일 때 실행
}
...
else{
위의 조건식들이 모두 false값일 때 실행
}
조건식 중 참인 것을 만나면 그 내부를 수행하고 세트를 탈출한다.
else if와 else문은 생략이 가능하다.
switch문 // 같은지 비교할 때 사용
경우의 수가 변수의 값의 등가 비교로 인해 나뉠 때 사용
변수에 담긴 값에 따라 알맞은 case로 이동하고 문장을 실행한다.
하지만 그 밑에 case가 더 있다면 그 안에있는 문장들도 실행된다.
따라서 각 케이스들을 나누어 주려면 알맞게 break;를 사용해야 한다.
switch(변수){
case 값1:
변수에 담긴 값이 값1 일 때 실행
case 값2:
변수에 담긴 값이 값2 일 때 실행
...
default:
변수에 담긴 값이 위의 값들이 아닐 때 실행
}
기타 제어
break : 속해있는 switch문이나 반복문을 탈출한다
continue:
누적 대입 연산자(복합 대입 연산자, 누적 연산자)
+=, -=, *=, /=
int data = 10;
data = data+5;
data += 5;
String msg = "A";
msg = msg+"B";
msg = "B"+msg;
증감 연산자
++, --
(data += 1) >> data++;
(data -= 1) >> data--;
전위형
변수를 사용하기 전에 증감시키기
++data;
data = 10;
syso(++data); //11
syso(data); //11
후위형
변수를 사용하고 그 다음에 증감시키기
data++;
data = 10;
syso(data++); //10
syso(data); //11
반복문
특정한 코드나 행위를 반복해야 할 때 사용하는 문장
조건에 의한 반복문
while, do~while
횟수에 의한 반복문
for
while문
조건에 의한 반복문
while(조건식){
조건식의 연산 결과가 true일동안 반복할 문장
}
do ~ while문
do{
조건식의 연산결과가 true일동안 반복할 문장
}while(조건식);
무한반복
while(true){
무한반복할 문장
}
while문 뒤의 () 안에는 조건식, 즉 boolean 타입의 값이 와야한다.
따라서 그 안에 trrue라는 값을 넣을 수가 있고, 그 값은 상수로 작성했기
때문에 변하지 않는다. 따라서 그 while문은 무한정으로 반복하게 된다.
내부에서 특정한 조건일때를 if문으로 만들고 break를 통해 탈출할 수
있도록 탈출구 하나 이상을 만들어 주어야 한다.