📚 etc.

[Java] 변수, 타입, 연산자

이오🐥 2023. 9. 1. 10:00

이번 자바는 자바 기초 내용인데, c언어를 공부했을 때가 새록새록 떠오르는 내용이었다..!

그동안 너무 편하게 print()하고 있었던 것...


 01 변수, 타입, 연산자 개요 

  1. 변수
    • variable. 변하는 수. 데이터를 저장하는 공간.
    • int age;
  2. 타입
    • type. 데이터의 형태.
    • 기본 타입
      • 정수(byte, short, int, long), 실수(float, double), 논리(boolean), 문자(char)
      • primitive type. 값을 직접 갖는 데이터
      • 변수 생성 예시
      int mathScore;
      double seight;
      boolean finished;
      char alphabet;
      

        타입  기본값 기억 공간 크기 표현 범위
      정수 byte 0 8비트 -128 ~ 127
        short 0 16비트 -32,768 ~ 32,767
        int 0 32비트 -2,147,483,648 ~ 2,147,483,647
        long 0L 64비트 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
      실수 float 0.0f 32비트 {+/-3.4 * 10^(-38)} ~ {+/-3.4 * 10^(38)} 의 근삿값
        double 0.0d 64비트 {+/-1.7 * 10^(-308)} ~ {+/-1.7 * 10^(308)} 의 근삿값
      논리 boolean false 8비트 true, false
      문자 char \u0000 16비트 0(\u0000) ~ 65,535(\uFFFF)
    • 레퍼런스 타입
      • 배열, 클래스, 인터페이스(String, …), 열거
      • 주소값을 갖는 데이터
      • 예를 들어 String
  3. 연산자
    • operator
    • 데이터 연산을 위한 기호
    • 대입 연산자 (=)
      • 오른쪽 값을 왼쪽 변수에 저장
      String message;
      message = "안녕?";
      
    • 산술 연산자
      • 숫자 계산을 위한 연산자
    • 증감 연산자 (++, —)
      • 변숫값을 1만큼 증가 또는 감소

 

 02 변수의 생성과 사용 

  • 문자열 변수
String food;
food = "치킨";
System.out.println(food);
  • 정수형 변수
int age;
age = 21;
System.out.println(age);
  • 실수형 변수
double weight;
weight = 73.63;
System.out.println(weight);
  • 논리형 변수
boolean hungry;
hungry = false;
System.out.println(hungry);

 

 03 변수의 활용 

  • 변수 생성 및 초기화
    • 변수 이름 짓기 - lowerCamelCase
    • 변수의 이름은 영어로 소문자의 명사형, 여러 단어인 경우 각 단어 앞글자를 대문자
    int mathScroe = 88;
    char alphabet = 'A';
    

 

  • 변수의 값 변경
String str = "가나다라";
str = "ABCD";
  • 상수, 값 변경이 불가능한 변수
final int NOT_FOUND = 404;

 

  • 변수의 값 복사
double origin = 3.14;
double copy = origin;

 

  • 문자열 연결
String a = "안녕";
String b = "하세요";
String c = a + b;

 

  • 문자열과 숫자의 연결
public class StringConcatenation {
    public static void main(String[] args) {
        int month = 8;
        int day = 23;
        int n = 1;
        double weight = 5.4;

        System.out.println("-------------------------");
        System.out.println("고양이의 " + month + "월 " + day + "일 다이어트 일지");
        System.out.println("-------------------------");
        System.out.println("식사횟수: " + n + "회");
        System.out.println("몸무게: " + weight + "kg");
    }
}

/* 출력

-------------------------
고양이의 8월 23일 다이어트 일지
-------------------------
식사횟수: 1회
몸무게: 5.4kg

*/

 

  • 형식 문자열 출력  
System.out.printf("형식 문자열", 값1, 값2, ...);

 

%s String 삽입
%d int 삽입
%f double 삽입
%b boolean 삽입

 

 04 타입 변환 

  • 숫자 연산의 결과 타입
    • 정수 + 정수는 정수지만, 정수 + 실수는 실수!
  • 타입 불일치
    • 대입할 값과 변수의 타입이 다르면 컴파일 에러 발생
  • 타입 변환과 캐스팅
    • 자동변환
      • 작은 타입의 데이터는 같은 범주의 큰 데이터 타입으로 자동 변환
      • double > float > long > int > short, char > byte
      double p = 2;
      // 2.0으로 자동 변환
      
    • 직접 변환 (casting)
      • Casting은 같은 범주인 데이터 해석을 다르게 하는 것으로, 소괄호 사이에 해석타입을 명시
      int r = (int) 10.4;  // down-casting 넓은 범위 -> 좁은 범위
      double s = (double) 7;  // up-casting 좁은 범위 -> 넓은 범위
      
  • 문자열과 숫자 간 타입 변환
    • 문자열을 숫자로 변환
      int x = Integer.parseInt("3");
      int y = Integer.parseInt("7");
      System.out.println(x + y);  // 10 출력
      
      double z = Double.parseDouble("-9.81");
    • 숫자를 문자열로 변환
      String a = "" + 1234;   // 문자열 "1234"
      String b = Integer.toString(123);   // 문자열 "123"
      String b = Double.toString(1.23);   // 문자열 "1.23"

Lab 1 온도 변환 프로그램 만들기

public class Converter {
    public static void main(String[] args) {
        double f = 77.0;
        double c = (f - 32.0) / 1.8;

        System.out.printf("화씨 %.1f도는 섭씨로 %.1f도입니다.", f, c);
    }
}

 


음 어려운 내용은 아니었지만,,

꽤 다른 부분이 많네!