3일차 연산자,캐스팅연산자,관계연산자,비트연산자,쉬프트연산자,삼항연산자,연산자리뷰,조건문 - xodufnl/file GitHub Wiki
- *연산자(operator): 변수와 상수 등 데이터 대상(Operand)에 대해 연산 동작을 행하는 기호들
- *연산자 분류: 단항 연산자(하나의 피연산자에 의해 연산)
-
-증감연산자(++,--), 부정연산자(!), 반전연산자(~)
-
이항 연산자 (두개의 피연산자에 의해 연산)
-
삼항 연산자 (세개의 피연산자에 의해 연산)
- *연산자의 우선순위 : 괄호() 안의 식이 가장먼저 실행됨, 좌측에서 우측의 순서로 실행됨, 연산자는 우측에서 좌측으로 실행됨
- 캐스팅
- (데이터형)
- Ex)(int)10.5 ==> 10,(int)'A' ==> 65,(char)66 ==> 'B', (double)10 ==>10.0
- ***최우선순위 연산자는 괄호()
-
Ex)1+2*3=7, (1+2)*3=9
- 10.5+10.5==>21.0
- (int)10.5+(int)10.5=>20, 괄호가 우선순위기 때문에
- (int)(10.5+10.5)=>21
- 관계연산자(비교연산자)
- == 같다 !=같지않다 <작다 >크다
- <=작거나 같다 <||=작거나 같다
-
=크거나 같다 >||=크거나 같다 - OR임, 둘중하나만 성립하면 True
- ==>결과값은 boolean(조건문)
- 비트 연산자 - &, |, ^,
- 논리 곱 - 둘다 True일 경우 True , AND
- 10 & 6
- 1010
- 0110 *======&
- 0010 ==>2(10진수)
- 7 & 4
- 0111
- 0100
- =====&
- 0100 ==>4(10진수)
- 논리 합 - 둘중 하나만 True면 True , OR
- 10 | 6
- 1010
- 0110
- =====|
- 1110 ==>14
- 7 | 4
- 0111
- 0100
- =====|
- 0111 ==>7
- 배타적 논리합 - 다르면 1, 같으면0 , xor
- 10 ^ 6
- 1010
- 0110
- =====^
- 1100 ==>12
- 7 ^ 4
- 0111
- 0100
- =====^
- 0011 ==>3
- <<, >> 비트이동 연산자
- 왼쪽,오른쪽
- 9<<3 ==>72 <---9*2^3
- x<<y ==>x*2^y
- 6>>2
- 1 <-- 6/4
- x>>y ==> x/2^y
- 삼항 연산자식 -> 조건? 값1 : 값2
- ==> 조건이 true =>값1
- ==> 조건이 false =>값2
- int a=10;
- a%2==0?"짝수":"홀수"
- 'A':65, 'a':65+32, '1':49
- 자바소스 파일 레이아웃(자바 구조)
- 1)패키지 선언(1번 사용)
- 2)import 선언(여러개 사용이 가능)
- 3)클래스 선언 -> 클래스명과 파일명은 일치해야한다.
-
public class className{
-
public static void main(String[] args){
-
}
-
}
- -증감연산자(++,--)
- -캐스트연산자(데이터형)
- 2항
- -산술연산자(+,-,*,/,%)
- -쉬프트연산자(x<<y -> x*2^y, x>>y -> x/2^y)
- -비트연산자(&(곱),|(합))
- -관계연산자(*****) (==,!=, <, >, <=, >=) : boolean
- -논리연산자(*****) (&&, ||) : boolean
- -부정연산자(*****) (!) : boolean
- (*****) ->조건문(특히), 제어문에서 많이쓰임
- -대입연산자(=,+=,-=) : 결과값받기
- 1)출력
- System.out.println():한줄씩출력
- System.out.print():한줄에 전체 출력
- System.out.printf():간격 제어 가능, 서식이 있는 경우
- 2)입력
- Scanner
- InputStream : 예외처리가 반드시 필요 ex)try catch
- Math.random() : 랜덤으로
- 3)특수문자
- \t (tab) \n (new line) " ("출력) \ (\출력)
- 1.제어문
- 1)조건문 - 단일 조건문(if(조건문))
-
선택 조건문(if(조건문)~ else)
-
다중 조건문(if(조건문)~ else if(조건문)..else)
- 2)반복문 - for문 : 반복 횟수가 지정, for(int i=1;i<=10;i++)
-
for(;;) 무한반복
-
while : 무한 반복(횟수가 지정되지 않는 경우)
-
int i=1;
-
while(i<=10)
-
while(true)
-
do-while : 무조건 한번이상 수행
-
while vs do-while =>조건 검색 전, 후
-
while(조건){
-
문장
-
}
-
vs
-
do{
-
문장
-
}while(조건)
- 3)선택문
-
swtich~case
-
switch(no){
-
case 1:
-
case 2:
-
}
- 4)반복 제어문
-
break : 반복을 종료
-
for(int i=1;i<=10;i++){
-
if(i==5) break; ==>1,2,3,4
-
}
-
continue : 특정부분을 제외
-
for(int i=1;i<=10;i++){
-
if(i==5) continue; ==>1,2,3,4,6,7,8,9,10