📚 etc.
[Java] 변수, 타입, 연산자
이오🐥
2023. 9. 1. 10:00
이번 자바는 자바 기초 내용인데, c언어를 공부했을 때가 새록새록 떠오르는 내용이었다..!
그동안 너무 편하게 print()하고 있었던 것...
01 변수, 타입, 연산자 개요
- 변수
- variable. 변하는 수. 데이터를 저장하는 공간.
- int age;
- 타입
- 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
- 연산자
- 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);
}
}
음 어려운 내용은 아니었지만,,
꽤 다른 부분이 많네!