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

 

 

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

 

형 변환(casting) 예제(3)

 
 
public class TypeConversion {
 public static void main(String[] args) {
  String strNum1="12345";
  String strNum2="67890";
//  String strNum1=args[0];
//  String strNum2=args[1];
  int    tempNum1=1000;
  //String--> int
  int intNum1=Integer.parseInt(strNum1);
  int intNum2=Integer.parseInt(strNum2);
  int sum = intNum1+intNum2;
  double douNum1=Double.parseDouble(strNum1);
  //int--> String
  String stringSum = Integer.toString(sum);
  System.out.println(stringSum);
  String strNum3=Integer.toString(tempNum1);
  System.out.println(strNum3);
 }
}

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

 

 

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

 

형 변환(casting) 예제(2)

 
 
CatingRangeMain.java
public class CatingRangeMain
{
   public static void main(String[] args)
   {
      char cc='ㄱ';//
      System.out.println(cc);// char를 찍자
      System.out.println((int)cc); // int로 바꾸어 찍자
      cc='ㄴ';//
      System.out.println(cc);// char를 찍자
      System.out.println((int)cc); // int로 바꾸어 찍자
      cc='ㄷ';//
      System.out.println(cc);// char를 찍자
      System.out.println((int)cc); // int로 바꾸어 찍자
      System.out.println("------------------------------");
      for(int i=1;i<=100;i++){
         System.out.print((char)i+" ");//찍고 공백 추가 그자리
         // (char)i --> int를 char로 casting
         if((i%10==0)){// 10으로 나누어 떨어지는 가?
            System.out.println();//한칸을 내려라
         }
     }
   }
}

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

 

 

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

 

형 변환(casting) 예제(1)
 
 
public class DataCastingTest {
  public static void main(String[] args)  {
 byte ba=10;
 byte bb=20;
 byte bc=10+20;
 //byte bd=ba+bb; 
 byte be=(byte)(ba+bb);  
 System.out.println("01 : "+bc);
 System.out.println("02 : "+be);
 
 short sa=30;
 short sb=50;
 short sc=30+50;
 //short sd=sa+sb;
 short se=(short)(sa+sb); 
 System.out.println("03 : "+sc);
 System.out.println("04 : "+se);
 int ia=20;
 int ib=30;
 int ic=20+30;  
 int id=ic+sa;
 System.out.println("05 : "+ic);
 System.out.println("06 : "+id);
 
 long la=40l;
 long lb=50L;
 long lc=la+lb;                 
 System.out.println("07 : "+la);  
 System.out.println("08 : "+lb);
 System.out.println("09 : "+lc);
 
 float fa=45.0f;
 float fb=46.67F;
 //float fc=30.4; 
 float fd=30;   
 float fe=fa+fb;
 
 double da=12;
 double db=45+Float.MAX_VALUE;
 double dc=da+db;
 //int di = 30.4;
 System.out.println("10 : "+dc);
 System.out.println("11 : "+"int 범위: "+Integer.MIN_VALUE+" ~ "+Integer.MAX_VALUE);
 System.out.println("12 : "+"float 양의 범위: "+Float.MIN_VALUE+" ~ "+Float.MAX_VALUE);
 System.out.println(5/3);
 System.out.println((float)5/3);
 System.out.println((double)5/3);
 }
}

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 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“, “안녕하세요”

+ Recent posts