반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 쉬프트 연산
  • js
  • 제이쿼리
  • 청춘고양이
  • 중복 제거 로또
  • ScrollEffectJs
  • css
  • js 비밀번호
  • 가위바위보js
  • 제이쿼리 버튼클릭시 색 변경
  • 자바
  • 객체 안의 함수
  • js 패스워드 변경
  • 자바db연동
  • 초보개발
  • 제이쿼리 패스워드 변경
  • spring 기본설정
  • 제이쿼리 비밀번호
  • js 로또 번호
  • 스크롤js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

JAVA

형 변환

2022. 6. 6. 20:30
반응형
	public static void main(String[] args) {
		//정수 연산시 형변환(int보다 작은 자료형들의 덧셈연산) ->int형으로 형변환
		byte x=10;
		char y=20;
		short z=30;
		
		int result1 = x+y+z; //컴파일 오류.. 덧셈연산시 모든 피연산자는 int형으로 형변환
		
		//정수 연산시 형변환(int보다 큰자료형이 포함된 덧셈연산) ->큰자료형으로 형변환
		long w=40;
		
		long result2 = x+y+z+w; //컴파일오류 ..int보다 큰자료형 연산식에 포함되면 큰자료형으로 형변환
		
		//실수 연산시 형변환(정수형,실수형 섞여있을때)->실수자료형으로 형변환
		
		float v=3.14f;
		double o=3.14;
		
		double result3 = x+y+z+w+v+o;
		
		
		

	}

}​
public class C01typeChange {

	public static void main(String[] args) {
		//자료형변환
		//특정 자료형에 의해 저장된 데이터가 다른 자료형 공간에 전달될때
		//자료형을 일치시키는 작업
		//자동형변환(암시적형변환) : 컴파일러에 의해 자동으로 자료형 일치
		//강제형변환(명시적형변환) : 프로그래머에 의해 강제적으로 자료형 일치
		
		
		//자동형변환
		//byte<char<int<long<float<double
		byte byteval = 10;
		
		int intval = byteval; //자동형변환
		
		char charval = '가';
		intval = charval;	// 자동형변환
		
		long longval = intval; //자동형변환
		
		
		float floatval = longval; //자동형변환
		
		double doubleval = floatval; //자동형변환
		

	}

}
public class C02typeChange {

	public static void main(String[] args) {
		//강제형변환
		//넓은공간에 있는 값을 좁은공간에 대입하려고하는 경우 컴파일에러가 발생
		//이러한경우게 강제적으로 형변환을 프로그래에 의한 개입으로 처리
		//강제변환하는경우에는 데이터손실 가능성이 높다
		
		int intval = 44032;
		System.out.printf("%c\n", intval);
		char charval = (char)intval;
		System.out.printf("%c\n", charval);
		
		long longval = 500;
		intval = (int)longval;
		System.out.printf("%d\n", intval);
		
		double doubleval = 3.14;
		intval = (int)doubleval; 
		System.out.println(intval);
		
		int num=129;			//00000000 00000000 0000000 10000001
		byte byteval=(byte)num; //                          10000001
		System.out.println(num);
		System.out.println(byteval);
		
	}

}
public class C04ArithTypeChange {

	public static void main(String[] args) {
		int num = 10;
		int div = 4;
		
		double result1 = num/div;
		double result2 = (double)num/div;
		
		System.out.println("result1 : " + result1);
		System.out.println("result2 : " + result2);
	
	}

}
public class C03ArithTypeChange {

	public static void main(String[] args) {
		//정수 연산시 형변환(int보다 작은 자료형들의 덧셈연산) ->int형으로 형변환
		byte x=10;
		char y=20;
		short z=30;
		
		int result1 = x+y+z; //컴파일 오류.. 덧셈연산시 모든 피연산자는 int형으로 형변환
		
		//정수 연산시 형변환(int보다 큰자료형이 포함된 덧셈연산) ->큰자료형으로 형변환
		long w=40;
		
		long result2 = x+y+z+w; //컴파일오류 ..int보다 큰자료형 연산식에 포함되면 큰자료형으로 형변환
		
		//실수 연산시 형변환(정수형,실수형 섞여있을때)->실수자료형으로 형변환
		
		float v=3.14f;
		double o=3.14;
		
		double result3 = x+y+z+w+v+o;
		
		
		

	}

}
public class C05ArithTypeChange {

	public static void main(String[] args) {
		//----------------------
		//문자열 + 숫자
		//----------------------
//		System.out.println("문자열1" + "문자열2"); 		//단순 연결
//		System.out.println("문자열1"+','+"문자열2");	//단순 연결
//		System.out.println("문자열1"+2);//숫자->문자열자동형변환,연결
//		System.out.println(2+"문자열1");//숫자->문자열자동형변환,연결
//		System.out.println(2+1+"문자열1");
		
		//----------------------
		//문자열->숫자로 강제 형변환
		//----------------------
		
//		System.out.println("10" + "20"); //단순 연결
//
//		//문자열 -> 숫자형으로 변환(정수)
//		int n1=Integer.parseInt("10");	//문자열인10을 정수형으로 형변환
//		int n2=Integer.parseInt("20");	//문자열인20을 정수형으로 형변환
//		
//		System.out.println(n1 + n2); 	//30
//		
//		//문자열 -> 숫자형으로 변환(실수)
//		double n3=Double.parseDouble("3.14");
//		double n4=Double.parseDouble("4.15");
//		System.out.println(n3+n4);
		
		//----------------------
		//숫자->문자열로 강제 형변환
		//----------------------
		
		int n1=10;
		double n2=20.4;
		
		System.out.println(n1+n2);
		
		String str1=String.valueOf(n1);
		String str2=String.valueOf(n2);
		
		System.out.println(str1+str2);
		
		System.out.println((int)Double.parseDouble("3.14"));
		
		String str11 = 2 + 3 + "";
		String str22 = 2 + "" + 3;
		String str33 = "" + 2 + 3;
		System.out.println(str11);
		System.out.println(str22);
		System.out.println(str33);
	}

}
반응형
저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

연산자  (0) 2022.06.06
Scanner  (0) 2022.06.06
양의 정수, 음수, 실수, 자료형  (0) 2022.06.03
인터페이스  (0) 2022.05.25
추상  (0) 2022.05.25
    'JAVA' 카테고리의 다른 글
    • 연산자
    • Scanner
    • 양의 정수, 음수, 실수, 자료형
    • 인터페이스
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바