[Java] Java 기초 (변수, 상수, 타입 변환, 연산자, 콘솔 입출력)

kai6666·2022년 5월 5일
0

TIL. Java

목록 보기
3/21

변수 (Variable)

변수란 데이터의 저장 공간이다. String 변수1 = "문자열"이라는 코드에서 변수1이 변수에 해당한다. 이것을 쓰는 이유는 아래와 같다.

  • 메모리에 데이터 저장 공간 확보
  • 협업 시 데이터 이름(변수명)을 붙여 소통
  • 데이터 재사용

변수를 쓰기 위해서는 선언과 할당이라는 것을 해야 한다.
선언이란, 데이터를 저장하기 위한 공간을 메모리에 확보하는 것이다. ex. int number;.

할당이란, 확보한 공간에 값을 저장하는 것이다. ex. number = 10;.

선언과 할당은 동시에 할 수 있고, 이를 초기화라고 부른다. ex. int number = 10;.

여기서 대립연산자=는 오른쪽의 값을 왼쪽에 저장하라는 의미이다. 대립연산자 뒤의 값을 바꾸면 바꾸는대로 출력이 가능해 변수는 재할당이 가능하다.

변수명은 아무렇게나 짓기보다는 통상적으로 따르는 규칙을 따르는 편이 나도 상대도 편하다. 일반적으로 변수명은 카멜 케이스를 사용해 영문자와 숫자, '_'로 짓는다. 카멜 케이스란 낙타의 혹처럼 대문자로 끊어 단어를 읽기 좋게 표시하는 방법이다. ex. thisIsCamelCase.
(숫자로 시작하는 건 안 된다.)
(자바에서 이미 쓰는 예약어도 안 된다.)

상수 (Constant)

상수는 변하지 않는 수 즉 고정된 값이다. 회원정보의 성별, 생년월일과 같은 값이 여기에 해당된다. 값을 고정시키므로써 아래와 같은 효과를 누릴 수 있다.

  • 오타로 인한 에러 방지
  • 변하면 안 되는 값 보존
  • 데이터 재사용

상수의 선언은 final 예약어를 통해 이루어진다. (지난 포스팅에서 스치듯 언급한 제어자 중 하나다.) final은 '최종'이라는 의미로, 더 이상 건드리지 않을 값에 넣으면 되는 제어자다.
ex. final double CALCULATOR_PI = 3.14;.

상수 역시도 일반적으로 표기하는 방식이 있다. 바로 SCREAMING_SNAKE_CASE라는 대문자와 언더스코어(__)를 활용하는 방식이다. ex. THIS_IS_SCREAMING_SNAKE_CASE.

리터럴 (Literal)

리터럴은 문자가 가리키는 값 그 자체다. 때문에 "값"과 동일한 개념은 아니고, 값은 리터럴이 평가된 결과다. (컴퓨터에 100이라는 문자를 적는 것, 100이라는 문자를 숫자로 평가해 값으로 인식하는 순서라고 생각하면 된다.)

주의할 점은 float 타입 변수와 long 타입 변수에 리터럴을 할당할 때의 표기법이다.

  • float 타입 변수에 실수형 리터럴을 할당할 때:
    float height = 160f; // 접미사 f 필수
  • long 타입 변수에 정수형 리터럴을 할당할 때:
    final long YEAR = 100L; // 접미사 L 필수

타입 변환

자바에서 변수를 선언할 때 타입도 함께 명시한다고 했는데, boolean을 제외한 기본 타입 7가지는 서로 타입을 변환할 수 있다.

  • 자동 타입 변환

    • 바이트 크기가 작은 타입 👉 큰 타입
    • 덜 정밀한 타입 👉 정밀한 타입
  • 수동 타입 변환

    • 캐스팅 (더 큰 데이터 타입 👉 작은 데이터 타입)
    • () 연산자 사용

연산자

  • 산술 연산자
    + - * / %

  • 비교 연산자

    • 대소 비교 연산자 > <
      (boolean 제외 나머지 기본 타입에 사용 가능)
      (이항 비교만 가능)

    • 등가 비교 연산자 =
      (동등하면 true, 아니라면 false 반환)

    • 조건 연산자
      조건식 ? 참일 때의 결과: 거짓일 때의 결과;
      조건식, 참일 때 결과, 거짓일 때 결과 3개의 피연산자를 필요로 하는 삼항연산자

  • 연산자 우선순위


콘솔 입출력 (I/O)

  • 콘솔 출력
    프로그래밍 할 때 변수에 담긴 값을 확인해야 할 때, 콘솔에 출력할 수 있다.

    • 출력: System.out.print()
      소괄호 안의 내용 단순 출력, 줄바꿈 X

    • 출력하고 줄 바꾸기: System.out.println()
      소괄호 안의 내용 출력, 줄바꿈 O

    • 형식대로 출력: System.out.printf()
      형식 지정자를 통해 변수값을 여러 형식으로 출력해주는 메서드

✨ 형식 지시자
참고하면 좋을 블로그

  • 콘솔 입력
    (아래 코드는 템플릿 같은 것인데 실습을 통해 익히는 편이 낫다고 한다..)

    • Scanner 불러오기: import java.util.Scanner
      데이터 입력 기능의 작은 프로그램인 Scanner를 소스 코드로 불러오기

    • 인스턴스화: Scanner scanner = new Scanner(System in);
      new 연산자로 불러온 Scanner 클래스를 인스턴스화하여 Scanner 객체에 있는 프로그램 기능 사용 가능하게 하기

    • Scanner 메소드 쓰기: String inputValue = scanner.nextLine();
      Scanner 클래스를 인스턴스화한 scanner의 .nextLine()이라는 메소드를 활용해 문자열 데이터 입력 기능 수행. 입력 받은 데이터를 inputValue라는 변수에 저장. (이 메소드말고도 메소드가 다양하니 필요에 따라 쓸 수 있다.)

profile
성장 아카이브

0개의 댓글