식별자, Data Type, 상수, 형변환
[01] 식별자(Identifier)
- 개발자가 자유롭게 지정할 수 있는 클래스 이름, 메소드 이름, 변수 이름등
- 이름 자체로 어느정도 내용이 식별이 되어야 합니다.
1. 클래스 이름(class name)
- 변수와 함수의 집합, 어떤 데이터를 저장(변수)하고 처리(함수)하는 단위.
- 첫자는 대문자가 아니어도 에러는 발생이 안되나 일반적으로 첫자는 대문자를 이용합니다.
또한 마디마다 대문자를 이용합니다.
2. 메소드명(함수, method name)
- 클래스 안에서 데이터를 처리(연산, 인쇄등)하는 기능 역활을 함.
- 자동차의 엔진은 변수이나 작동을 한다면 함수에 해당함.
- 첫자는 일반적으로 소문자로 시작합니다.
- 메소드의 마디의 시작 문자는 대문자를 이용합니다.
3. 변수의 작성 규칙(variable rule)
- 클래스 안에서 처리되는 데이터를 저장함.
- 급여를 계산시, 성적을 계산시 그 데이터 자체는 변수에 저장하며
세금, 수당, 실수령액 계산등은 함수에 해당하고 총점, 평균 계산도
함수(기능)에 해당함.
- int kuk = 10; 이라고 선언 했을 경우 kuk는 변수가 됩니다. 또한 식별자로 포함이 됩니다.
- String name="왕눈이"; 이런 경우는 객체변수에 해당이 됩니다.
- 알파벳, 대소문자, 숫자, _, $만 이용
- 첫 문자가 숫자이면 안됨
- 대소문자 완벽히 구별(파일명, 폴더 모두 해당)
- 키워드(예약어)와 같으면 안됨
- 길이 제한 없음(변수, 메소드명은 5자 ~ 15자 안팎)
- 이름만 보고 알아 볼수 있도록 의미 부여
[02] 데이터 형(data type)
- CPU와 메모리의 한계 때문에 데이터타입은 정확하게 지정해야 합니다.
1. 논리형(logical)(*)
- boolean: 1 Byte(8 Bit)
- 초기값 : false
- 갖을 수 있는 값의 범위:true, false
- 조건문에서 조건이 참/거짓인지 판별하는 기준으로 쓰입니다.
- 제어문에서 많이 사용됩니다.
2. 문자형(character)
- char: 2 Byte(16 Bit)
- 초기값 : \u0000
- 범위: \u0000 ~ \uFFFF(Unicode 0~65535)
char grade = 'A';
3. 문자열 형(Stirng)(*)
String str = "ABCD";
4. 실수 숫자형(real number)
- float: 4 Byte
. 초기값: 0.0
. -1.40e-45 ~ +3.40e+38
- double: 8 Byte
. 초기값: 0.0
. 값의 범위: -4.94e-324 ~ 1.79e+308
- 형변환(data type casting)
. 작은 타입의 데이터형은 큰 타입의 데이터형으로 아무런 작업 없이 변환할 수 있습니다.
. 큰 타입의 데이터형을 작은 타입의 데이터형으로 변환할시에는 캐스트 연산자를 써서 형변환을 해야합니다.
. Casting시에는 데이터 짤림이 발생하는지 확인해야 합니다. 데이터 짤림이 발생하면 캐스팅은 피해야 합니다.
. 실수를 정수로 바꾸는 경우에 주로 사용합니다.
---------------------------------------------------------------------------------------------
/*
Date : 2011. 12. 8
source : Hello.java
Author : 김백민
Email : silverbullet087@gmail.com
*/
class Hello
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
---------------------------------------------------------------------------------------------
class CharToCode
{
public static void main(String[] args)
{
//int code = 0; // 10진수 = 65
//char ch = (char)code;// (int)ch 나동형변환
for(int i=0;i<=200;i++){
char ch = (char)i;
System.out.println(ch);
}
/*
System.out.println(code);
System.out.println(ch);
*/
}
}
---------------------------------------------------------------------------------------------
class SpecialChar
{
public static void main(String[] args)
{
char single = '\'';
String dblQuote = "\"Hello\"";
String root = "c:\\";
System.out.println(single);
System.out.println(dblQuote);
System.out.println(root);
}
}
---------------------------------------------------------------------------------------------
class StringTest
{
public static void main(String[] args)
{
String a = 7 + " ";
String b = " " + 7;
String c = 7 + "";
String d = "" + 7;
String e = "" + "";
String f = 7 + 7 + "";
String g = "" + 7 + 7;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
}
}
---------------------------------------------------------------------------------------------
class ByteOverflow
{
public static void main(String[] args)
{
byte b = 0;
int i = 0;
//반복문을 이용해서b위 갑을 1씩, 0부터 270까지 증가시킨다.
for(int x=0; x<=270; x++)
{
System.out.print(b++);
System.out.print('\t');
System.out.println(i++);
}
}
}
---------------------------------------------------------------------------------------------
class PrecisionTest
{
public static void main(String[] args)
{
float f = 1.2345678901234567890f;
double d = 1.2345678901234567890;
float f2 = 0.100000001f;
double d2 = 0.100000001;
double d3 = 0.1000000000000001;
System.out.println(f);
System.out.println(d);
System.out.println(f2);
System.out.println(d2);
System.out.println(d3);
}
}
---------------------------------------------------------------------------------------------
class CastingEx2
{
public static void main(String[] args)
{
byte b = 10;
int i = (int)b;
System.out.println("i=" + i);
System.out.println("b=" + b);
int i2 = 300;
byte b2 = (byte)i2;
System.out.println("i2=" + i2);
System.out.println("b2=" + b2);
}
}
---------------------------------------------------------------------------------------------
'자기개발 > Java' 카테고리의 다른 글
Chapter 5 배열(Array) (0) | 2012.01.21 |
---|---|
Chapter 4 조건문과 반복문 (0) | 2012.01.12 |
Chapter 3 연산자 (0) | 2012.01.12 |
문자열의 일부를 다른 무자열로 치한 코드 (0) | 2012.01.11 |
JDK 1.7.0 설치 (0) | 2012.01.11 |