화면에 글자출력하기
System.out.print() : 괄호안의 내용을 출력하고 줄바꿈 하지않는다
System.out.println() : 괄호안의 내용을 출력하고 줄바꿈을 한다.
<예제>
변수란? : 하나의 값을 저장할 수 있는 저장공간
변수타입 변수이름; // 변수를 선언하는 방법
int x; // 정수(integer)를 저장하기 위한 변수 x를 선언
x = 5; // 변수x에 5를 저장
수학에서는 '='은 같음을 의미하지만, 자바에서는 오른쪽의 값을 저장하라는 의미의 대입연산자이다.
int x; // 변수의 선언
x = 5; // 변수에 대입
위의 두 줄을 줄여서
int x = 5; 라고 쓸수 있다.
<예제>
변수의 타입
<숫자>
int, long : 정수를 저장하기 위한 타입(20억이 넘을 땐 long)
float, double : 실수를 저장하기 위한 타입(float은 오차없이 7자리, double는 15자리)
<문자>
char : 문자를 저장하기 위한 타입
String : 여러 문자(문자열)을 저장하기 위한 타입
<예제>
상수 : '값을 저장할 수 있는 공간', 변수와 달리 값을 한번 저장하면 다른 값으로 변경할 수 없다.
상수를 선언하는 방법은 변수와 동일하며, 변수의 타입 앞에 final을 붙여주어야 한다.
final int MAX_VALUE; // 정수형 상수 MAX_VALUE를 선언
MAX_VALUE = 100; // 상수에 처음으로 값 저장
MAX_VALUE = 200; // 에러발생!!, 상수에 저장된 값을 변경할 수 없음
변수 = 하나의 값을 저장하기 위한 공간
상수 = 값을 한번만 저장할 수 있는 공간
리터럴 = 그 자제로 값을 의미하는 것
<리터럴 타입>
논리형 : false, true/ 접미사 없음
정수형 : 123,0b0101, 077, 0xFF, 100L/ 접미사 : L
실수형 : 3.14, 3.0e8, 1.4f, 0x1, 0p-1/ 접미사 : f,d
문자형 : 'A', '1', '\n'/ 접미사 없음
문자열 : "ABC", "123", "A", "true"/ 접미사 없음
long타입의 리터럴에 접미서 'l' 또는 'L'을 붙이고 접미사가 없으면 int타입의 리터럴이다
byte와 short타입의 변수에 값을 저장할 때는 int타입의 리터럴을 사용한다.
실수형에서는 float타입의 리터럴에 ㄷ접미사 'f' 또는 'F'를 붙이고,
double 타입의 리터럴에는 접미사 'd' 또는 'D'를 붙인다.
정수형에서는 int가 기본자료형이고, 실수형에서는 double이 기본자료형이라서 접미사 'd'는 생략 가능하다.
'' = 문자 리터럴
"" = 문자열 리터럴
문자열 리터럴은 ""안에 아무런 문자도 넣지 않는 것을 허용하며 빈문자열 이라고한다.
문자열 + any type -> 문자열 + 문자열 -> 문자열
any type + 문자열 -> 문자열 + 문자열 -> 문자열
<예제>
int x = 10; int y = 20;
위의 두 식에서 변수 x와 y에 저장된 값을 바꾸려면 x의 값을 y에 저장하고, y값을 x에 저장하면 원하는 값을 얻을 수 있
int tmp; // 임시로 값을 저장하기 위한 변수(빈 컵 역할) tmp = x; // x의 값을 tmp에 저장 x = y; // y의 값을 x에 저장 y = tmp; // tmp에 저장된 값을 y에 저장
<예제>
값(Data)의 종류(Type)는 '문자와 숫자'로 나눌수 있다.
숫자는 다시 '정수와 실수'로 나눌 수 있다.
문자 = 'A', '1', "ABC"
-숫자- = 정수 : 123, 0, -100 실수 : 3.14, -3.0+10^8
값(Data)의 종류(Type)에 따라 값이 저장될 공간의 크기와 저장 형식을 정의 한것이 자료형(Data Type)다.
자료형에는 문자형(char), 정수형(byte. short, int, long), 실수형(float, double)가 있다.
기본형 변수는 실제 값(data)을 저장, 참조형 변수는 어떤 값이 저장되어 있는 주소(memoty address)를 값으로 갖는다.
기본형(Primitive type) = 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 계산을 위한 실제 값을 모두 저장한다 8개
참조형(reference type) = 객체의 주소를 저장한다 8개의 기본형을 제외한 나머지 타입
정수형은 int가 기본이고 실수형에서는 double가 기본이다
%d = 10진 정수의 형식
%x = 16진 정수의 형식으로 출력
%f = 부동 소수점의 형식으로 출력
%c = 문자로 출력
%s = 문자열로 출력
실수형 값의 출력에 사용되는 지시자 = %f, %e, %g가 있는데, %f(소수점 6가리까지만 출력한다)를 주고 쓰고, %e는 지수형태로 출력, %g는 값을 간략하게 표현한다.
화면으로 입력받는 Scanner
import java.util.Scanner; // Scanner 클래스를 사용하기 위해 추가
Scanner scanner = new scanner(System.in); // Scanner 클래스의 객체를 생성
nextLine()이라는 메서드를 호출하면, 입력대기 상태에 있따가 입력을 마치고 엔터키를 누르면 입력한 내용이 문자열로 반환된다.
문자열을 숫자로 변환하려면 Integer.parseInt()라는 메서드를 이용해야 하며, 메서드는 문자열을 int타입의 정수로 변환한다.
Scanner클래스에는 nextInt()나 nextFloat()와 같이 변환없이 숫자로 바로 입력받을 수 있는 메서드들이 있다.
int num = scanner.nextInt(); // 정수를 입력받아서 변수 num에 저장
<예제>
오버플로우 = 해당 타입이 표현할 수 있는 값의 범위를 넘어서는 것
부호없는 정수 = 표현범위가 '0 ~ 15'이므로 이 값이 계속 반복되고,
부호있는 정수는 표현범위가 '-8 ~7'이므로 이 값이 무한히 반복된다