김영한 자바 입문 - 2
패키지(package)
: 자바 파일을 구분하기 위한 폴더
- 해당 패키지에 들어가는 자바 파일 첫줄에 package 패키지명;와 같이 소속된 패키지를 선언해야 함
변수 선언과 초기화
- 변수를 선언하면서 컴퓨터의 메모리 공간을 확보, 확보한 공간에 데이터를 저장할 수 있음. 변수명으로 해당 데이터에 접근이 가능함
- 초기화 없이 print를 시도하면 컴파일 에러 발생
package variables;
public class Var1 {
public static void main(String[] args) { // psvm으로 한번에 입력 가능
int a; // 변수 선언
a = 10; // 변수 초기화
a = 50; // 변수 값 변경 10->50
int c,d; // 여러 개의 변수 선언
int b = 10; // 선언과 초기화 한번에
int e = 10, f = 20; // 여러 개 선언과 초기화 한번에
}
}
- 현재 학습하는 변수는 지역 변수(Local Variable)인데, 지역 변수는 개발자가 직접 초기화를 해야함. 추후 배울 클래스 변수와 인스턴스 변수는 자바가 자동으로 초기화를 진행함
- 컴파일 에러는 자바 문법에 맞지 않을 때 발생, 빠르고 명확하게 찾을 수 있기에 좋은 에러
(런타임 에러가 나쁜 에러로 취급됨)
*윈도우 실행 단축키
: ctrl + shift + f10
변수 타입
- int: 정수 타입
- double: 실수 타입
- boolean: 참/거짓
- char: 문자 하나, 작은따옴표(')를 사용하여 감싸줌
- String: 문자열, 큰따옴표(")를 사용하여 감싸줌 첫글자가 대문자로 시작하는 특별 타입
실무에서 쓰이는 데이터 타입은?
- 정수: int, long (요즘은 메모리가 저렴하므로 작은 단위의 데이터 타입은 사용하지 않음)
- 실수: double (float는 표현 길이와 정밀도가 낮음)
- 불린형: boolean
- 문자열: String (char은 거의 사용하지 않음)
변수 명명 규칙
- 클래스는 대문자, 나머지는 소문자로 시작 (낙타표기법 사용)
- 상수는 모두 대문자를 사용하고 언더바로 구분
- 패키지는 모두 소문자를 사용
문제풀이 및 해설
문제1.
다음 코드에 반복해서 나오는 숫자 4, 3을 다른 숫자로 변경할 수 있도록 다음을 변수 num1, num2로 사용하도록 변경하세요.
package variable.ex;
public class VarEx1Question {
public static void main(String[] args) {
System.out.println(4 + 3);
System.out.println(4 - 3);
System.out.println(4 * 3);
}
}
// 문제풀이
package variable.ex;
public class VarEx1Question {
public static void main(String[] args) {
int num1 = 4, num2 = 3;
System.out.println(num1 + num2);
System.out.println(num1 - num2);
System.out.println(num1 * num2);
}
}
문제2.
변수 num1을 선언하고, 이에 10을 할당하세요
변수 num2을 선언하고, 이에 20을 할당하세요
두 변수의 합을 구하고, 그 결과를 새로운 변수 sum에 저장하세요
sum 변수의 값을 출력하세요
// 문제풀이
package variable.ex;
public class VarEx2 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
int sum = num1 + num2;
System.out.println(sum);
}
}
문제 3.
long 타입의 변수를 선언하고, 그 변수를 10000000000(백억)으로 초기화한 후 출력하는 프로그램을 작성하세요
boolean 타입의 변수를 선언하고, 그 변수를 true로 초기화한 후 출력하는 프로그램을 작성하세요
package variable.ex;
public class VarEx3 {
public static void main(String[] args) {
long a = 10000000000L;
System.out.println(a);
boolean b = true;
System.out.println(b);
}
- long 타입을 사용할 때에는 데이터 뒤에 L을 붙인다
(소문자 l은 1과 혼동 가능성이 있으므로 대문자 사용 권장)