디지털 컨버전스/JAVA
[Java] 기본 입력 , 제어문
gimyeondong
2020. 2. 6. 09:05
- UI : 사용자 인터페이스
- UX : 사용자경험
- 입력기능은 예외가 발생할 수 있다.
- 예외처리
- 예외전가 throws Exception
- System.in.read() - 단일 문자 입력
- 입력 Buffer로부터 Data를 ASCII 코드 만큼 입력 받음
- int 형으로 입력 받으므로 적절한 형 변환이 필요함
- Buffer
- CPU에서 처리될 작업들이 기다림
- 작업처리가 순차적으로 처리되는 것이 아님
- 사용자입력(우선순위 높은 작업) -> CPU의 스케줄링이 운영체제에 의해 변경
- 입출력 인터럽트(I/O Interrupt) 신호 -> CPU작업 일시정지 -> 스케줄링 재조정
- 모든 입력하나당 CPU가 계속 멈추는 것은 비효율적
- 중간의 램메모리영역(Buffer)에 입력 데이터 저장
- (ex. Enter를 눌렀을 때) 인터럽트, 일괄처리
- CPU가 중단되는 회수를 줄여줌
- 보안장치, 완충장치
- Scanner : 문자열, 숫자를 입력 받기 위한 코드
- 불린과 스트링은 형변환(캐스팅) 안된다.
- 코드 축약 : 장단점이 있다.
- 짧아지는 대신 가독성 떨어짐
- 변수를 다른곳에서 활용해야 하는 경우 불리
- int -> Integer.parseInt
- long -> long.parseLong
- float -> Float.parseFloat
- double -> Double.parseDouble
- 제어문
- 순차적인 흐름을 조건에 따라 통제하는 명령
- 사용자의 요구에 따라 프로그램이 동작
- 내려가던 흐름이 돌아가거나 특정 코드 건너뛰기, 분기점
- 제어문의 종류
- 조건 : if - else
- 반복 : while, do while, for
- 선택 : switch - case
- 흐름 변경 : continue, break
- 알고리즘 공부를 병행하면 좋다. (대기업 공채, 외국계)
- 제어문의 구조 : 키워드(){}
- if - else 문
- if( 조건문 ) { 실행문1; }
- 조건문 : 연산결과가 boolean값으로 나오는 것들 (관계연산자, 논리연산자)
- 조건문이 true가 나오면 중괄호 안 실행, false는 중괄호 건너뜀
- else if : 종속성 문법
- else는 소괄호 없이
- Ctrl + A 전체선택
- Ctrl + I 자동들여쓰기
- while문
- 사용자가 원하는 만큼 명령들을 여러 번 실행하는 제어구조.
- 특정 조건이 만족되는 동안 명령을 계속적으로 실행한다.
- while문의 문법
- 식이 참일 경우에만 루프 처리를 반복한다.
- while(조건문){실행문1;}
- 조건문이 true일 동안 실행해라 ( while ~동안)
- 무한루프 : 버그가 아님
- int i; 선언
- stack메모리에 저장 , stack메모리는 운영체제도 사용
- 선언만 해놓으면 운영체제가 사용했던 쓰레기값이 들어간다.
- 자바에서는 초기값을 넣어 쓰레기값을 밀어내야함
- 에러
- 컴파일에러 : 번역과정에서 감지되는 에러, 에러메세지를 보여줌
- 로지컬에러 : 논리오류
- while문 기본3요소 : 초기값, 조건, 증감