JAVA

210723(금) 자바 4일차 - 입출력 / if / switch

구름이팡팡 2021. 7. 27. 09:35
728x90

<입출력>

1. 직접입력

2. System.in.read();

3. Reader 클래스

4. Scanner 클래스

 

* 콘솔

-입력 : 키보드

-출력: 화면

버퍼는 속도 조절을 위해 존재한다

메모리가 딴짓하고 있을 때 열심히 받아 놓음

System.in.read(); 엔터는 밑으로 내려갔다가 맨 앞으로 동작하는 원리라서 두 번 비워줌

 

* 엔터가 출력되면 나오는 숫자 의미

b값이 없을 경우 엔터도 b로 가기 때문에 엔터 제거 작업 필요 flush

System.in.read();를 추가해서 지운다.

다음줄로 내려간다 \n 13

맨 앞으로 이동 \r 10

 

cf) Systemstatic 클래스라서 System.in 이렇게 쓸 수 있는 것~!!!!!

버퍼드리더 쓰는법

system.in 이나 inputstream이 근원지 - 인풋스트림리더-버퍼드리더 이렇게 길을 닦는 것이다

2번은 예외처리


<bit 연산자 - 0 or 1>

1. 1의 보수 연산자(bit NOT)

~01

~10

# 8421코드

# 음수의 경우에는 8421코드가 적용되지 않는다

# Java는 음수의 표현으로 2의보수(1의보수+1)를 사용한다

# 최상위 비트를 부호비트로 사용한다 (0:+, 1:-)

 

2. 논리연산자(bit)

AND OR XOR

X Y X&Y X|Y X^Y

0 0

0 1

1 0

1 1

 

[문제] 20^7

0xca & 18

 

3. shift연산자(bit연산자) - 이동연산자

1) 왼쪽shift (<<)

: 왼쪽으로 1칸 이동시마다 *2씩 커진다

: 빈공간은 0으로 채운다

2) 오른쪽shift (>>)

: 오른쪽으로 1칸 이동시마다 /2씩 작아진다

: 빈공간은 부호비트으로 채운다

3) 오른쪽shift (>>>)

: 빈공간은 0으로 채운다 - 양수화

 

 

지금의미없어서 수업 x


<if>

1. if(조건) 참일때;

거짓일때(다음문장 수행)

 

2. if(조건) 참일때;

else 거짓일때;

 

3. if(조건) 참일때; 다중if

else if(조건) 참일때;

else if(조건) 참일때;

else if(조건) 참일때;

else 거짓일때;

 


<switch>

: 실수형 타입은 쓸 수 없다 정수형만 가능 더블형 불가 int로 짤라야 함(반올림 안됨)

: break switch를 벗어나라

 

[형식]

switch(정수 or 문자 or 문자열 or ) {

case 1: break;

case 2: break;

case 3: break;

default :

}

 

스위치는 값의 나열 break 걸어줘야 한다

 

728x90