개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

형 변환(casting)
 
 
때로 숫자 타입을 다른 타입의 숫자로 바꾸어야 할 때가 있다.
기본 데이터 타입의 형 변환
작은 수가 큰 수로 형 변환되는 것은 자동이다.(묵시적)
반대의 경우는 강제 형 변환이 필요(명시적) -오버플로우 발생
덜 정밀한 수가 정밀한 수로 형 변환되는 것은 자동이다.(묵시적)
반대의 경우는 강제 형 변환이 필요(명시적) -오버플로우 발생
데이터 타입의 연산에 의한 형 변환
큰 수와 작은 수를 연산했을 때
큰 수로 형 변환된다.
덜 정밀한 수와 정밀한 수를 연산했을 때
정밀한 수로 형 변환된다.
정수와 실수를 연산했을 때
실수형으로 형 변환된다.
자동 형 변환의 예 double d = 3*4.5F;
3*4.5F의 결과는 float형이 된다.(정수와 실수의 연산)
float형의 결과가 double d에 할당되면서 float형이 double형으로 자동 형 변환된다.

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

할당
 
 
할당 
변수에 데이터를 넣는 것
기본타입에서 할당은 “Copy of value”
기본 법칙
오른쪽에서 왼쪽으로만 할당
변수끼리도 할당 가능
변수에  상수가 존재하더라도 다른 것을 할당하면 마지막 할당한 것이 할당 “ = ”연산자 사용
할당의 예
선언과 할당을 동시에 : int a = 100;
선언과 할당을 분리 : int a; a= 100;
여러 개를 동시에 선언과 할당 : int a = 100, b = 200;
분리하여 여러 개를 동시에 선언과 할당 :
 int a,   b; a = 100,b=200;
변수끼리의 할당 : int a = 100, b; b = a;

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

상수 예(2)
 
public class SansuStatic {
 public static final int MAN=1;
 public static final int WOMAN=2;
}
public class SansuStaticMain {
 
 public final static int MEN   = 3;
 public final static int WOMEN = 4;

 

 public static void main(String[] args) {
  int people1=WOMEN;
  switch(people1){
     case 3: System.out.println("남자");break;
     case 4: System.out.println("여자");break;
  }
  //int SansuStatic.WOMAN=4; 상수에 assign 못함
  int people2=SansuStatic.WOMAN;
  switch(people2){
     case 1: System.out.println("남자");break;
     case 2: System.out.println("여자");break;
  }
 }
}

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

상수 예(1)
 
//LiteralTest.java
public class LiteralTest{
   public static void main(String[] args) {
      int a = 100;
      int b = 200L;
    long c = 300L;
      long d = 400l;
      System.out.println("a = " + a);    System.out.println("b = " + b);
      System.out.println("c = " + c);    System.out.println("d = " + d);
      System.out.println("=============================");
    char ca = 'a';
     char cb = "b";
      System.out.println("ca = " + ca);
      System.out.println("cb = " + cb);
      System.out.println("=============================");
      String str1="안녕하세요! 오늘부터 우리는 자바 오덕후!!";
      String str2='안녕하세요! 오늘부터 우리는 자바 오덕후!!';
      System.out.println("문자열 출력1: "+str1);
      System.out.println("문자열 출력2: "+str2);
      System.out.println("=============================");
      System.out.println("==String Concatenation Test==");
      System.out.println(a+b+" 문자 ");
      System.out.println(a+" 문자 "+b);
      System.out.println(" 문자 "+a+b);
      System.out.println(" 문자 "+(a+b));
   }
}

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

상수
 
상수
미리 정해진 실제 값
상수 자체가 수이며 이미 만들어져 있는 것
literal이라 부름
상수는 그 자체가 값이기 때문에 변경할 수 없음.
 ( 5 = 100  -> 오류)
변수에 저장되지 않으면 쓸모가 없다.
변수를 상수로 만들 수도 있다.(public final int a = 100;)
상수의 종류
정수형 상수의 구분
100 : 명시하지 않으면 int형 상수 -default
100L, 100l : long형 상수
실수형 상수의 구분
5.34 : 명시하지 않으면 double형 상수 -default
5.34F, 5.34f : float형 상수
5.34D, 5.34d : double형 상수
문자 상수의 예
'A', 'B'
문자열 상수의 예
"abcd“, “안녕하세요”

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

변수
 
변수란
데이터 타입에 명시된 형태의 데이터를 담을 수 있는 메모리이다.(그릇)
변수는 데이터 타입을 통해 존재할 수 있다.
변수는 데이터를 보관하기 위해서이다. <- 변수의 목적
int a=5;
4바이트 메모리확보(정수형)
메모리의 주소에 a라는 이름을 메핑시킴
a라는 변수를 통해서 해당 메모리에 5라는 값 할당
32비트 정수형 데이터가 스택 메모리에 저장
 (00000000 00000000 00000000 00000101)
// VariableTest.java
public class VariableTest{
   public static void main(String[] args) {
      int a = 1;
      System.out.println("a = " + a);
      int b = 2;
      System.out.println("b = " + b);
      a = b;
      System.out.println("a = " + a);
      a = 10;
      b = 20;
      int c = a + b;
      System.out.println("a + b = " + c);
      int d=10;
      d=d+20;
      System.out.println("d + 20 = " + d);
   }
}

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

심볼테이블
 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

데이터타입의 두 번째 목적
메모리의 형태를 지정하는 것이다.
메모리의 형태란 비트의 조합을 말한다.
int 정수 형이다.
다시 말해 데이터 타입이란 메모리의 크기(size)와 메모리의 형태(type)를 지정하는 것이라 정의할 수 있다.
int a; //4바이트 메모리 생성, 정수 형태의 메모리
char c; //2바이트 메모리 생성, 정수 형태의 메모리
float f; //4바이트 메모리 생성, 실수 형태의 메모리

+ Recent posts