====== Ch.03 변수와 자료형======
===== 기본자료형 =====
**char 자료형**
package chapter03;
public class CharType {
public static void main(String[] args) {
char a = 'A';
System.out.println("a:"+a);
int b = a;
System.out.println("b:"+b);
char c = 66;
System.out.println("c:"+c);
int d = a+b; // 65 + 65
System.out.println("d:"+d);
}
}
===== 자료형-참조자료형 =====
package chapter03;
public class StringEx {
public static void main(String arg[]) {
String name; // 변수 선언
name = "홍길동"; // 변수 초기화
String name2 = "홍길동"; // 선언과 동시에 초기화
String name3 = null; // null값으로 초기화
String name4 = ""; // ""값으로 초기화
System.out.println("name2="+name2);
System.out.println("name3="+name3);
System.out.println("name4="+name4);
}
}
===== 변수의 범위 =====
package chapter03;
public class ScopeEx { // 1. 클래스 블럭
int no; // 1. 클래스 블럭 내에서 사용 가능한 변수
public static void main(String[] args) { // 2. main 메서드 블럭
String name; // 2. main 메서드 블럭 내에서 사용 가능한 변수
if (true) {
// 메서드 블럭 안에서 선언한 변수 사용 가능
name = "홍길동";
// if문 블럭안에서 변수 선언
String email = "hong@test.com";
}
// if문 블럭 밖에서 email 변수를 사용하면 에러 발생
//email = "hong@test.com";
}
}
===== 형변환 (casting) =====
package chapter03;
public class CastingEx {
public static void main(String[] args) {
// 자동형변환 예시
int number = 10; // int 자료형
long number2 = number; // 자동형변환 int < long
System.out.println(number2);
}
}
package chapter03;
public class CastingEx2 {
public static void main(String[] args) {
// 강제형변환 예시
double pi = 3.14; // double 자료형
int pi2 = (int)pi; // 강제형변환
System.out.println(pi2); // 값의 손실 발생
}
}
package chapter03;
public class CastingEx3 {
public static void main(String[] args) {
// 강제형변환 예시
double score = 100; // double 자료형
int score2 = (int)score; // 강제형변환
System.out.println(score2); // 값의 손실 발생하지 않음
}
}