Languages/Java

[HUFS/컴퓨터 프로그래밍] #3 변수와 데이터형식

성중 2021. 2. 26. 21:20

System.out 표준 출력 장치(모니터)로 출력

클래스 변수로 작성한 프로그램이 돌아가는 것을 확인하게 해줌

System.in 표준 입력 장치(키보드)에서 읽음


#표준출력

*System.out.println() 괄호 안의 내용을 출력한 후 한 행을 바꿈 ln -> line feed

*System.out.print() 괄호 안의 내용을 출력

 

*System.out.printf() 서식을 지정해 괄호 안의 내용 출력 f -> format

width: 전체 자릿수

precision: 소수 자릿수

나머지는 생략하지만 %와 conversion은 꼭 넣어줘야 함

conversion: d(정수) f(실수) s(문자열)

System.out.printf(“이름: %s”, “김자바”);

+형식 문자열에 포함될 값이 2개 이상인 경우 순번(arqument_index$) 표시해야 함

System.out.printf(“이름: %1$s, 나이: %2$d”, “김자바”, 25);

!서식의 개수와 큰 따옴표 뒤에 나오는 숫자(또는 문자)의 개수가 같아야함

ex) System.out.printf(“%d / %d = %f”, 100, 200, 0.5);

 

메소드: Java에서 특정 기능을 처리, 함수와 비슷한 개념

필드: 객체의 상태를 나타내는 것, 속성

 

#printf() 메소드의 서식 지정

%c: 문자, 반드시 한 글자이고 작은따옴표(‘ ’)로 묶여 있어야 함

%d: 정수를 10진수로 출력

%X: 정수를 16진수로 출력

%o: 정수를 8진수로 출력

#표준 입력

키보드에서 입력된 내용을 변수에 저장하기

*키코드: 키보드의 키를 숫자로 된 키코드로 읽음 -> 대입 연산자로 int 변수에 저장

System.in의 read() 사용

int keyCode = System.in.read();

문자 1개 -> 1바이트 / (한글은 Scanner()를 사용해야 함)

반환할 문자수에 맞게 입력해줘야 함(엔터는 두 개의 키코드를 차지함)

 

*Scanner를 사용한 입력(한글입력 가능)

사용법) 제일 위에 import java.util.Scanner;

Scanner s = new Scanner(System.in);

변수 = s.메소드()

Scanner를 선언해주고 양식을 잘 맞춰서 입력해주자!

콘솔창에 입력을 하며 활용한다!


#변수

-변수선언

(변수 타입) (변수) = (값);’ 형태

ex) int x = 3;

 

*변수 선언 방법

*예약어 / 변수 이름으로 만들 수 없다

변수 이름 규칙

어지간하면 영문자랑 언더바( _ )만 쓰자

*Camel case:변수 이름은 보통 소문자로 시작해서 띄어쓰기가 필요한 부분을 대문자로 쓰는 방식으로 한다. ex)daysOfWeek


*실수형 float에 값을 대입할 때는 숫자의 맨 뒤에 ‘f’를 붙여준다

ex) float b = 123.45f;

 

변수에 값을 부여하면 메모리에 변수가 생성됨 -> 변수 초기화

이 때의 변수 값 -> 초기 값


로컬 변수 (Local Variable) / 해당 중괄호 { } 블록 내에서만 활용 가능

#데이터 형식

8개의 기본 타입을 제공

 

 

-비트 / 0(OFF) 1(ON) 으로 표현하는 컴퓨터에서 가장 작은 단위 / 2진수

스위치 하나당 1비트 / n비트로 2의 n승의 가짓수를 표현

 

-바이트 = 8비트

2진수 – 10진수 – 16진수로 자유롭게 변환해서 표현해보자!

 

Java에서의 형태는 밑의 정수리터럴을 참고하자

 

-숫자형 데이터

1. 정수형(소수점X)

어지간하면 int를 쓰자

 

*리터럴 (literal)

소스코드에서 직접 입력된 값

정수리터럴: 다음 경우를 자바에서 정수로 인식

 

*숫자 연산의 규칙/ result의 정수, 실수 선택을 주의하자

2. 실수형(소수점O)

float쓸 때는 ‘f’ 붙여주는 거 잊지 말자

ex) float var = 3.14f;

*float는 소수점 7자리, double은 소수점 15자리를 넘어가면 정밀도가 떨어진다.

 

-문자형 데이터

*아스키 코드(ASCII): 문자(영문, 기호, 숫자)를 0~127에 대응시킨 코드


*char형식: 문자 또는 기호 ‘한 글자’를 저장하는 형식 ~ 유니코드 활용(2바이트)

+반드시 작은따옴표로 묶어야 함

변수를 char로 선언할 시 printf 서식별(%c, %d)로 다양한 출력이 가능

..(실습3-12,13)

-문자열: 여러 글자를 표현 (char x string o) String 대문자 주의!

ex) String name = “봉준호”;

-------------------------------------------------------

-이스케이프 문자: \ -> 문자열 내부에 “” 포함

ex) String str = “나는\“자바\”를 좋아합니다.”

-> 나는 “자바”를 좋아합니다

 

+ 문자열 출력 제어

 

- 논리형 데이터

*불(Boole): true와 false 두 가지 상태 값을 사용해 조건문과 제어문의 실행을 변경