Scanner를 사용하여 키보드로 값을 입력하는 방법
java.util.Scanner클래스 이용
import java.util.Scanner; //Scanner를 사용하기 위해서 외부로부터 가져온다.
// Scanner 이름 = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
sc.next() : 사용자가 입력한 값중 공백이 있을 경우 공백 이전까지의 값만 가져온다.
sc.nextLine() : 사용자가 입력한 값중 \n(개행문자)를 포함하는 한 라인을 읽고 \n버린 나머지 값만 가져온다.
sc.nextByte(), sc.nextShort(), sc.nextInt(), sc.nextLong()
sc.nextFloat(), sc.nextDouvle()
위처럼 정수나 실수를 입력받는 코드를 작성했을 때 \n토근이 함께 들어오기 때문에
sc.nextLine()을 통해서 비워주는 코드를 작성해야한다.
sc.close() : 더이상 Scanner를 사용하지 않을때 사용한다.
포멧안에서 쓸 수 있는 키워드
System.out.printf(문자열포맷,값1,값2); System.out.printf("저의 이름은 %s입니다. 나이는 %d이고 키는 %.1f입니다.","아무개", 55,180.5);
%d: 정수
%c: 문자
%s: 문자열
%f: 실수(소수점 아래로 원하는 만큼 표시하기 위해서는 %.nf)`
값을 기록하고 사용하기위한 메모리 공간이다.
값을 보관하거나, 보관된 값을 가져와 사용할 수 있다.
일반 변수는 실제 데이터를 직접 저장한다.
// 자료형 : 변수의 크기 및 모양을 지정해주는 부분
// 변수이름 : 변수를 식별하기 위해 붙여주는 이름
int num; //정수형 변수 num을 선언
참조 변수는 객체의 메모리 주소를 저장한다.
참조 변수 자체는 객체를 직접 저장하지 않고, 객체가 저장된 메모리 위치를 가르킨다.
Java에서는 배열, 클래스, 인터페이스 등 모든 객체 타입이 참조 변수로 취급된다.
참조 변수와 일반 변수의 차이
- 저장 방식의 차이
-일반 변수: 값 자체를 메모리에 저장
-참조 변수: 객체의 메모리 주소를 저장- 메모리 할당
-일반 변수 : 스택 메모리에 할당
-참조 변수: 힙 메모리에 할당된 객체를 가르킴- 기본값
-일반 변수 : 각 타입에 대한 기본값 (int는 0, boolean은 false등),
-참조 변수 : 기보값은 null- 메모리 관리
-일반 변수: 명시적으로 해제되지 않으며 스코프를 벗어나면 자동으로 해제
-참조 변수 : 가비지 컬렉션에 의해 자동으로 관리
-정수 자료형
byte(1),short(2),int(4),long(8)
각 자료형마다 표현할 수 있는 수의 범위가 다르다.
byte by = 10;
short sh = 10;
int in = 10;
long lo = 10;
-실수 자료형
float(4),double(8)
float보다 double이 더 정밀한 수를 표현할 수 있다.float fl = 4.24f; double dou = 4.24;
-문자 자료형
'char(2)'
문자 하나를 담을 수 있는 자료형
자바는 2바이트 유니코드로 표현한다.char ch1 = '서'; char ch2 = '지'; char ch3 = '은'; ```
-논리 자료형
boolean(1)
true(참)와 false(거짓)을 저장하는 자료형boolean b1 = 10 > 5; // true boolean b2 = 20 == 10; // false
String(객체)
문자열 같은경우 할당해야할 메모리크기가 가변적이므로 원시타입이 아닌 객체로 변수를 만들어준다.
ex) 문자열비교시 -> 문자열.equals(비교문자열)
'문자열.charAt(index)' : 문자열에서 내가 원하는 index의 글자를 가져온다.
'index' : 순서를 지칭할 때 사용하는 것(0부터 시작한다.
String str1 = "안녕하세요 안녕하세요 안녕하세요 안녕하세요";
String str2;
System.out.println("str2 == str3 : " + (str2.equals(str3)));
//문자열.equals(비교하고싶은 문자열)
문자열내에서 탭, 백슬래시, 작은따옴표등을 코드로 사용하기 위한 방식
탭문자 : \t
백슬래시 : \\
작은따옴표 :\'
큰따옴표 : \"
개행문자 : \n
예시
System.out.println("저는 이렇게 말했습니다 \"저는 배가 고파요\""); System.out.println("저는\n지금\n배가 고파요");
상수
한번만 값을 할당할 수 있는 메모리
final int MY_AGE;
MY_AGE = 90;
//MY_AGE = 111; 값을 초기화하면 더이상 변경할 수 없다.