2023.05.18 - [취업반 기록] - 연산자[논리연산,삼항연산, 간단한 Quiz, 출력함수]
연산자[논리연산,삼항연산, 간단한 Quiz, 출력함수]
2023.05.17 - [JAVA기초] - operator (연산자) operator (연산자) 2023.05.17 - [JAVA기초] - Wrapper Class Wrapper Class 2023.05.09 - [JAVA기초] - 자료형(데이터타입) 변수 선언, Wrapper클래스 자료형(데이터타입) 변수 선언, W
ji7290.tistory.com
이전 글에서는 논리,삼항연산 , 출력함수에 대해 다뤄보았다.
현재 글에서는 이스케이프 시퀀스에 대해알아보자.
이스케이프 시퀀스란?
=> 출력시 모양으로나타나지는 않으나 특수한 기능을 수행하는 글자
변수 cr, if, tab, vs를 아스키코드로 변환하면
다음과 같은 숫자들이 나온다.
이클립스의 한계상 cmd로 테스트해보자
주소창에 cmd를 입력해서 cmd창에서 테스트해보자
java operator.Ex07.java를 입력해서 cmd로 출력해보자.
이 구문에서는 커서를 왼쪽으로 한칸이동시키기때문에 문자열 A가 한칸 앞으로가고
A가 덮어씌워져서 B가 출력되는것이다.
\t는 tap간격만큼 간격을 띄운다.
backslash : 특수 글자 앞에 붙어서 기능을 제거하는 역할을 한다.
%d같은 서식제어문자 같은 경우에는 %%를 붙여야 %하나로 인식된다.
왜냐하면 %s%d처럼 서식제어문자를 연속으로 출력하는경우가 많기 때문이다.
예상치못한 오류가있을 때 err로 예외처리하여 대처할 수있다.
ASCII코드
키보드에 있는 단순글자를 처리할때는 1바이트로 충분하다 (-128~127)
system.in은 2바이트이다. 그래서 자바는 줄단위로 처리할 수 있는 입력기를 만들어서 써야했다.
1바이트 입력객체를 기반으로 2바이트 단위 입력객체를 만들고 ->
2바이트 입력객체를 기반으로 줄단위(버퍼단위)입력 객체를 만들었다.
위의 과정들을 간편화 하고 어느정도 예외 까지 내장 처리할 수 있게만든 클래스가 Scanner이다
Scanner sc = new Scanner(System.in) 스캐너의 매개변수에 System.in이 들어가있는이유다.
정수형, 실수형은 nextInt(), nextDouble()인데
문자열은 sc.next()인 이유가 입력데이터의 기본 처리자료형이 문자열이기때문이다(중요)
nextInt()는 띄어쓰기 까지 버퍼를 비워주고, nextLine()은 엔터키까지 버퍼를 비워준다.
()는 버퍼이다.
만약 nextint()라면 스캐너가 버퍼의 정수부분만 골라내서 입력받을 수 있게하는 것이다.
자바에서 버퍼는 데이터를 임시로 저장하고 처리하는데 사용되는 메모리영역이다.
자바에서는 `Buffer` 클래스와 그 하위 클래스들을 제공하여 다양한 유형의 버퍼를 지원한다.
가장 일반적으로 사용되는 버퍼 클래스로는 `ByteBuffer`, `CharBuffer`, `IntBuffer`, `FloatBuffer`, `DoubleBuffer` 등 이러한 버퍼 클래스들은 각각 다른 데이터 유형을 처리할 수 있도록 설계되었다.
버퍼는 일반적으로 다음과 같은 기능을 제공한다.
1. 데이터 저장: 버퍼는 데이터를 일시적으로 저장하기 위한 메모리 공간을 제공한다.
버퍼에 데이터를 쓰면, 데이터는 버퍼에 저장되고 나중에 읽을 수 있다
.2. 데이터 전송: 버퍼는 데이터를 입출력 스트림 사이에서 전송하는 데 사용된다.
버퍼를 통해 데이터를 한 번에 묶어서 전송하면 입출력 작업의 효율성을 향상시킬 수 있다.
3. 데이터 처리: 버퍼는 데이터를 일괄적으로 처리하는 데 사용될 수 있다.
Quiz
이름,나이,몸무게,체중을 이용해서 bmi구하기
name,age,weight,height변수를 각각의 타입에 할당시켜주고
bmi 는 몸무게/ 키 x2
scanner로 입력받아서 각각의 정보를 printf로 출력해줬다.
중간점검
지금까지 자료형, 변수,상수 ,연산자, 입력과 출력을 배웠다.
이다음 글에서는 제어문과 분기문을 다뤄보자.
제어문과 분기문의 핵심: 내가 입력하는 코드에따라서 프로그램의 전체흐름이 달라질 수 있다.
'JAVA기초' 카테고리의 다른 글
for문 (0) | 2023.05.23 |
---|---|
제어문과 분기문(control statement) (1) | 2023.05.19 |
연산자[논리연산,삼항연산, 간단한 Quiz, 출력함수] (0) | 2023.05.18 |
operator (연산자) (2) | 2023.05.17 |
Wrapper Class (0) | 2023.05.17 |