타입 변수명; -> 변수가 생성됨. 변수를 선언한다.
자바는 변수에 들어갈 타입이 선언할 떄 결정된다.(정적타입핑)
타입 변수명 = 값;
변수는 선언 즉시 초기화하는 습관을 들이는 것이 좋다.
초기화되지 않은 변수는 쓰레기 값이 들어가 있다.
자바는 전역변수가 없다.
무조건 {} 안에 들어가야 한다.
int a = 10; // 이렇게 밖에 나와 있으면 안 된다.
public class VariableTest {
}
public class VariableTest {
int a = 10; // 이렇게 내부에 들어와 있어야 한다.
}
클래스가 독립적으로 실행되기 위해선 main 함수가 필요하다.
만약 함수가 여러개인 경우 무조건 main()을 호출한다.
public class VariableTest {
// java에서의 메인함수.
// 함수가 여러개인 경우 메인함수부터 호출한다.
public static void main(String[] args) {
...
}
public static void function1 {
...
}
public static void function2 {
...
}
public static void function3 {
...
}
}
자바의 자료형 기본 4가지: 정수, 실수, 문자(단일), 논리
정수 : byte(1byte), short(2byte), int(4byte), long(8byte)
() 안의 숫자는 해당 자료형의 byte 크기이다.
public class VariableTest {
byte age = 127; // 변수는 소문자로 시작해야 한다.
short year = 2025;
int hit = 21000000;
long money = 2200000000L; // 마지막에 L을 붙이지 않으면 Int형으로 인식한다.
}
실수 : float(소수점 7자리, 4byte), double(소수점 15자리, 8byte)
public class VariableTest {
float w = 70.5F; // float은 뒤에 F를 붙여야 한다.
double h = 170.000000555;
}
문자(단일) : char
public class VariableTest {
char gender = '여' // 문자는 '' 홀따옴표로 감싼다.
}
논리형 : boolean
public class VariableTest {
boolean food = true;
boolean eat = false;
}
문자열: String -> 대문자로 시작하는 이유는 클래스이기 때문이다.
public class VariableTest {
String name = "김국민" // ""이중 따옴표로 감싸줘야 한다.
// 여러줄을 입력할 때 사용한다.
String plan = """
나는
훌륭한
자바 개발자가 되고 싶다.
""";
}
System: 부품 -> 컴퓨터
out: output 출력 장치, 기본은 모니터이다.
in: input 입력장치, 기본은 키보드이다.
print: 출력하라.
System.out.print -> 컴퓨터 모니터에 출력하라.
public class VariableTest {
byte age = 127; // 변수는 소문자로 시작해야 한다.
// +연산자가 하나라도 문자열이면 결과는 String(결합연산자)가 된다.
System.out.print("내 나이는 " + age + "세야.");
}
출력의 종류: print, println, printf
print -> 출력후 개행이 실행되지 않는다.
println -> 출력후 개행을 실행한다.
printf -> 출력 포맷을 정한다.
public class VariableTest {
byte age = 127; // 변수는 소문자로 시작해야 한다.
// 이 때 변수의 값을 받아주는 서식문자를 변수의 타입에 맞게 지정해야 한다.
System.out.printf("내 나이는 %d세야!", age);
}
이 때는 아래의 함수를 써야한다.
문자를 숫자로 바꾸고 싶은 경우
String.valueOf(변환할 변수);
숫자를 문자로 바꾸고 싶은 경우
Integer.parsInt(변환 할 변수);
public class VariableTest {
// byte를 숫자로 바꾸고 싶은 경우
byte age = 127;
int age2 = age; // <- 자동형변환
byte age3 = (byte)age2; // 1byte <- 강제형변환 4byte
// 문자를 숫자로 바꾸고 싶은 경우
String data = "100";
int num = data; // 기본형 <- 기본형X
// 부품을 수정해줘야한다.
int num = Integer.parseInt(data);
String data2 = "11.11";
double num2 = Double.parseDouble(data2);
// 숫자를 문자열로 바꾸고 싶은 경우
String data3 = String.valueOf(num2);
}