본문 바로가기
Coding Note/Java

Java 1-2) 변수 / 입력

by 푸린이 2021. 12. 7.

 

https://greencolin-developer.tistory.com/3

 

Java 1-1) 주석 / 출력

1. 주석 - 코드를 설명하는 역할 - 컴파일(compile, 기계어로 변환) 되지 않음 // 한 줄 주석문 /* 범위 주석문 */ - HTML : - Python : # """ """ /* System.out.println("Hellow"); System.out.println("World")..

greencolin-developer.tistory.com

이어서

 

3. 변수

3-1. 상수와 변수

- 숫자(상수) : 지정한 숫자

  • 2진수 : 0, 1
  • 8진수 : 0 ~ 7
  • 10진수 : 0 ~ 9
  • 16진수 : 0 ~ 9 A B C D E F(15)  0XF → 15(10진수)

- 변수(공간) : 그릇(크기는 다양) == variable

  1. 변수 선언. 변수명 작명
  2. 종류에 따라 다른 값을 넣을 수 있는 자료형 지정

     문자, 숫자, 문자열, 논리값 (그릇 종류 별로 넣을 수 있음)

     자료형 지정 변수명;   → 변수의 선언(그릇을 준비)

     변수명 = 값;   → 변수의 값 대입(그릇에 내용물을 넣는다.)

 

3-2. 변수의 작명 규칙

3-2-1. 소문자와 대문자는 다른 변수로 취급 (대소문자 구분)

int a;
int A;

 

3-2-2. 예약어(프로그램에 설정된 언어) 사용 불가

- ex. int를 변수명으로 사용 불가

 

3-2-3. 맨 앞을 숫자로 지정 불가 (상수)

int num123;

- 위 경우처럼 숫자가 뒤나 중간에 오는 경우는 가능

 

3-2-4. 연산자 사용 불가

int +number;
int -number;
int *number;
int /number;
int =number;

- 사칙연산, = 사용 불가

int _number;
int number_position_char;
int numberpositionchar;
int numberPositionChar;
int numPosChar;

- _(언더바)는 사용가능하지만 사용빈도 낮음

- 마지막 줄처럼 줄여서 쓰는 것을 추천

 

3-2-5. 권장사항

- 흔한 명칭은 사용 피하는 것이 좋다.

  ex. length, object, size

 

3-3. 변수 사용

int number;
number = 123;

System.out.println(number);

- 정수 == integer

- number이라는 그릇을 준비하고, 그릇에 123이라는 내용물을 넣어 출력

 

3-4. 변수 자료형의 종류

3-4-1. 숫자 자료형

  1) 정수 : byte, short, int, long

    (1) byte

byte by;
by = 127;
by = 128;  // 오류
by = -128;
by = -129;  // 오류

- 1 byte == 8 bit

- 0000 0000 ~ 1111 1111(꽉 채워졌을 때) → 256개(0~255)

- 맨 앞에 있는 bit는 부호 0 → + / 1 → -

- (-128 ~ 127)까지 표현 가능

 

    (2) short

short sh;
sh = 12345;

- 2 byte == 16 bit

 

    (4) int

int i;
i = 23232133;

- 4 byte == 32 bit

- 특수한 경우를 제외하곤 실무에서 거의 int를 많이 씀

 

    (5) long

long l;
l = 23232323254565L;

- 8 byte == 64 bit

- 마지막에 L을 표기하지 않으면 int로 인식

 

  2)  : float, double

    (1) float

float f;
f = 123.45678F;

- 4 byte

- 마지막에 F를 표기하지 않으면 double로 인식

- 원을 그릴 때 잘 안그려져서 사용 빈도수 낮음

 

    (2) double

double d;
d = 12.3456789;

- 8 byte

- 자주 씀

 

3-4-2. 문자(열) 자료형

  1) 문자 (사용 빈도수 적음)

    (1) char(character)

char c;
c = 'A';
c = 'b';
c = '+';
c = '한';
c = ' ';

c = '하나';  // 오류

- 2 byte (한글 포함)

- 코드 : ASCII(아스키/영문자, 숫자) < UNIcode(한글 가능) < MULTIByte

- 한 문자만 넣을 때

- ' ' 사용

- 연산자, 한글, null 문자(공백)도 가능

- 두 글자 이상은 오류

 

  2) 문자열 : 단어나 문장

String str;
str = "Hello";
str = "nice to meet you";

System.out.println(str);

- String은 원래 클래스 (wrapper class)

 

3-4-3. 논리형 (true/false)

  1) boolean

boolean b;
b = true;

System.out.println(b);

- true(1)/false(0) : 예약어

- 숫자 넣으면 오류

- true, false 둘 중 하나만 입력

 

4. 입력

4-1. 콘솔에 입력하게끔

Scanner scan = new Scanner(System.in);

- Scanner 입력할 때 Scanner-java.util 선택

- 맨 위에 import java.util.Scanner; 자동으로 나타남

 

4-2. 변수마다 적용해보기

4-2-1. 정수

int i = scan.nextInt();
System.out.println(i);

- 콘솔에 입력한 값(정수)을

  → 출력해라

- 4 byte의 저장할 공간을 만듦

- 콘솔에 32를 입력하고 Enter를 누르면 32가 출력된다.

 

4-2-1. 실행 시 확인할 문자열 출력 (정수)

int iNumber;
System.out.print("정수 = ");
		
iNumber = scan.nextInt();
System.out.println("입력받은 수 : " + iNumber);

- 콘솔창에 '정수 ='가 떴을 때 해당 값을 입력

- print로 작성하면 입력할 값을 한 줄에 입력 가능

 

4-2-2. 실수

double dNumber;
System.out.print("실수 = ");
		
dNumber = scan.nextDouble();
System.out.println("입력받은 실수 : " + dNumber);

- 정수와 동일한 형태

 

4-2-3. 논리형

boolean b;
System.out.print("true/false = ");
		
b = scan.nextBoolean();
System.out.println("논리형 : " + b);

- 논리값인 true와 false만 입력가능

- 다른 값 입력 시 오류

 

4-2-4. 문자열

String str;
System.out.print("string = ");
		
str = scan.next();
System.out.println("입력된 문자열 : " + str);

- String은 변수가 아닌 클래스, scan.next();로 받는다

- hello를 입력하면 제대로 출력되지만 hello world를 입력하면 잘린다.

- next()는 공백을 받지 못하고 잘라버린다.

 

4-3. 문장 읽어오기 (BufferedReader)

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

- buffered 저장공간

- input stream 입력의 흐름을

- reader 읽겠다

- 해당 문장 입력 시, 맨 윗줄에 위와 같은 import가 생성됨

 

public static void main(String[] args) throws Exception {
}

- BufferedReader 사용 시 윗줄에 throws Exception를 작성해주어야한다. 그렇지 않으면 오류가 발생해서 입력을 할 수 없다. 아마도 예외처리를 하기 위함인 것 같다. 이건 뒤에서 배우겠지

 

String str;
System.out.print("string = ");
		
str = br.readLine();
System.out.println("입력된 문자열 : " + str);

- 띄어쓰기가 유효해진다.

댓글