주석(Comment), 변수(Variable), 출력서식(format), 콘솔 입출력(Scanner 클래스)

Lee Yong Seok·2022년 4월 20일
0
post-thumbnail

주석 (Comment)

1. 프로그램 소스 코드에 부연 설명을 달 때 사용한다.

2. 주석은 프로그램 수행에 영향을 미치지 않는다. 왜냐하면 컴파일 시 제외된다.

3. 자바에는 세 가지 형태의 주석이 있다.

• 라인 주석 : 일반적으로 부연 설명을 달아줄 때 사용한다.

이클립스 주석달기 단축키 ( Ctrl + / )

int age; //나이
String name; //이름

• 블록 주석 : 특정 부분을 사용하고 싶지 않을 때 사용한다.

이클립스 주석달기 단축키 ( Ctrl + Shift + / )

이클립스 주석되돌리기 단축키 ( Ctrl + Shift + \)

/*
작성자 : 홍길동
작성일자 : 2021-01-01
프로그램 설명 :
*/
public class MyProgram {
	...
}

• JavaDoc 주석 : /**로 시작하고 */로 끝마치는 주석이며 자바의 문서를 만들 때 사용한다.

자바에서는 주로 라인 주석과 블록 주석을 자주 사용하기 때문에 JavaDoc 주석에 대해서는
이정도만 이해하고 넘어간다.

변수 (Variable)

• 프로그램을 실행하는데 사용되는 데이터는 메모리(RAM)에 저장된다.

• 변수는 데이터를 저장할 수 있는 메모리 공간을 의미하며, 저장된 값은 변경될 수 있다.

변수 선언

변수 초기화

변수 선언 및 초기화

• '='기호는 수학에서는 '같다'라는 의미지만, 프로그래밍 언어에서는 우측의 실제값을 좌측 변수에 
   저장한다라고 생각하면 된다. 
   
• 메모리가 할당되었을 때 변수명은 메모리의 첫번째 주소값을 가리킨다.

• 하나의 메모리 공간에는 1 바이트의 데이터가 저장된다.

• 자료형이 int 이므로 4 바이트 공간이 할당된다.

• 변수의 이름은 첫 번째 메모리 주소인 008AF7FC 만을 가리키게 된다.

자료형 (Data Type)

기본 자료형 (Primitive Data Type)

• 자바에서 여러 형태의 데이터 타입을 미리 정의(Built-in)하여 제공한다.

• 실제 값(리터럴)을 저장하는 자료형이다.

boolean 형

변수 flag의 초기값은 true이지만, 중간에 false로 값이 변경되었기때문에 false로 출력된다.

아래 화면에서 변수 선언 시 Error의 이유?

이미 flag라는 boolean 자료형이 메모리에 할당되었는데, 값의 변경은 가능하나 다른 값을 
추가로 할당할 수는 없다. 기본적으로 하나의 변수에는 하나의 값만 할당이 가능하다.
<예외> ex)배열

char 형

• 문자 리터럴은 유니코드로 변환되어 저장된다.

• char 는 정수 타입이므로 10 진수, 16 진수 형태의 유니코드 저장 가능하다.

문자형 리터럴은 단일 인용부호를 붙어야한다. 이중 인용부호는 문자열형 리터럴에 사용해야한다.

실수형

실수형은 기본적으로 double 형으로 컴파일되기때문에 float 형을 사용하고 싶다면 

1234.5f/F로 표기해야한다.

마찬가지로 실수형은 double 형으로 컴파일되기때문에 숫자뒤에 d/D를 붙여줄 필요가 없다.

※ 문자 인코딩 (character encoding)

• 문자 셋(문자 집합, Character set, Charset)은 정보를 표현하기 위한 글자나 기호들의 	

집합을 정의한 것이다.

• 문자 인코딩은 문자 셋을 컴퓨터에서 표현하기 위해 약속된 규칙에 따라 변환하는 과정을 말한다

• 아스키(ASCII), 유니코드(UNICODE)

아스키 (ASCII)

• 미국 표준 정보 교환 코드

• 7 비트 표현 방식으로 2^7, 총 128 개의 문자를 표현할 수 있다. ( 0- 127 코드값)

아스키코드에서는 3가지 문자의 해당 10진숫자만 기억하고 넘어가자!

1. 숫자 0은 10진수로 48이라는 숫자에 해당한다.

2. 대문자 A는 10진수로 65라는 숫자에 해당한다.

3. 소문자 a는 10진수로 97이라는 숫자에 해당한다.

위 그림은 다른표현이지만 결과값은 같은 대문자 A이다.

10진수를 2진수로 변환하는 방법은 10진수의 숫자를 2로 나누어 나머지가 0 또는 1이 될 때
까지 나누고 각 숫자의 나머지를 거꾸로 읽어올라가면 된다. 10진수 88은 위의 그림에서 2로
나누었을 때 나머지를 거꾸로 읽어 1011000(2)이라는 2진수로 표기법으로 읽는다.

유니코드 (UNICODE)

• 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현할 수 있다.

• 16 비트 표현 방식으로 2^16, 총 65536 개의 문자를 표현할 수 있다. ( 0- 65535 코드값)

참조형 (Reference Data Type)

• 객체의 저장 공간인 주소를 저장하고, 주소를 통해 객체를 참조하는 타입이다.

• 클래스(Class), 배열(Array), 인터페이스(Interface), 열거형(Enum)

리터럴 (literal)

• 소스 코드의 고정된 값이다.

• 정수, 실수, 문자, 논리, 문자열 리터럴 등이 있다.

• 정수형 리터럴

	10 진수,
	8 진수(숫자 0으로 시작) ex)012
	16 진수(숫자 0x) ex)0x123
	2 진수(숫자 0b)가 있다. ex)ob1

• 정수형 리터럴은 int 형으로 컴파일되고, long 형 리터럴은 숫자뒤에 L / l 을 붙인다.

• 실수형 리터럴은 double 형으로 컴파일되고, float 형 리터럴은 숫자뒤에 F/ f 을 붙인다.

• 문자형 리터럴은 단일 인용부호를 붙인다.

• 문자열형 리터럴은 이중 인용부호를 붙인다.

• 논리형 리터럴은 true, false 가 있다.

출력 서식 (format)

• System.out.printf (”출력 서식”, 출력할 내용)

※ 출력 서식 (format)

	%[argument_index$][flags][width][.precision]conversion

• 출력 서식의 지시자(conversion)를 제외한 나머지는 생략 가능하다.

• width : 출력할 전체 자리수 지정(오른쪽 정렬). 예) %3d, 전체자리수가 3 인 정수

• (flags) 0 : 전체 자리수가 지정된 경우 왼쪽의 남는 자리에 0 을 출력. 예) %03d

• (flags) - : 전체 자리수가 지정된 경우 왼쪽 정렬하고 빈칸에 공백 출력.

• .precision : 소수점 아래 자리수 지정. 잘리는 소수점 자리수는 반올림하여 출력한다.

콘솔 입출력

Scanner 클래스

• 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴한다.

• 입력되는 데이터를 공백(whitespace) 또는 개행(줄바꿈) 으로 구분되는 토큰 단위로 읽는다.
(토큰 : 여러 개의 문자열이 공백을 기준으로 구분되었을 때 문자열 하나하나를 의미한다.)

<문법> Scanner sc = new Scanner( System.in );

• Scanner 클래스는 위 문법을 사용하고 Import(단축키 : Ctrl + Shift + o)를 해야 사용이 가능하다.

• 키보드로 정수형 값 입력 받기

• 키보드로 문자열 값 입력 받기

profile
Today I Learned 🌙

0개의 댓글