자기개발/Java

Chapter 2. 변수

실버블렛 2012. 1. 12. 22:01
반응형

 식별자, 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