상세 컨텐츠

본문 제목

java:3일차

코딩 기록

by jii 2023. 1. 5. 00:41

본문

타입 변환

변수의 타입을 변환.

(자료형)데이터;

자료형 크기(범위): byte<short/char<int<long<float<double

 

1.자동타입변환(업캐스팅)

큰 범위 타입<=작은 범위 타입

작은 타입을 큰 타입에 저장할 때 자동으로 타입이 변환된다.

package contents;

public class C05_Casting {
	public static void main(String[] args) {
		int num=10;
		System.out.println((double)num);
		
		//1.자동타입 변환
		double a=1;//정수를 실수 타입에 대입
		System.out.println(a);//1.0
		
		int num1=20;
		double num2=num1;//자동으로 타입이 변환되어 저장된다. 
		System.out.println(num2);//20.0
		
		int b='A';//문자를 int 타입에 대입
		System.out.println(b);//65
	}
}

2.수동타입변환(다운캐스팅, 강제 타입 변환)

작은 범위 타입<=(타입 변환)큰 범위 타입

큰 타입을 작은 타입에 저장할 때 사용자가 수동으로 (타입변환)을 작성해야 한다.

->타입 변환시 데이터 값도 함께 변경됨!

package contents;

public class C05_Casting {
	public static void main(String[] args) {
		int num=10;
		System.out.println((double)num);
		
		//2.수동 타입 변환
		int c;
		//c=1.5->에러
		c=(int)1.5;//강제로 타입 변환을 해서 대입해야함.
		System.out.println(c);//1
		
		//cast 연산자 활용
		int num3=10;
		int num4=4;
		double divide =num3/(double)num4;
		System.out.println(divide);
	}
}

3.문자열 형태의 숫자를 정수 또는 실수 타입으로 변환

정수-> int num=Integer.parseInt(str1);

실수->double num=Double.parseDouble(str2);

String 타입은 수치 데이터가 아니므로 cast 연산자 사용 불가

package contents;

public class C05_Casting {
	public static void main(String[] args) {
		int num=10;
		System.out.println((double)num);
        
		//3.문자열 숫자를 정수 또는 실수로 변환
		String str1="100";
		//int numI=str1;
		int numI=Integer.parseInt(str1);
		System.out.println(numI+50);//150
		
		String str2="12.34";
		double numD=Double.parseDouble(str2);
		System.out.println(numD+10.5);
		
		System.out.println(str1+str2);//100 12.34->문자열 이어붙임
		System.out.println(numI+numD);//숫자 덧셈
	}

}

#예제:정수 부분의 합 구하기

package practice;

import java.util.Scanner;

public class Prac08 {
	public static void main(String[] args) {
		Scanner	sc=new Scanner(System.in);
		
		System.out.print("실수1을 입력하시오: ");
		double num1=sc.nextDouble();
		System.out.print("실수2을 입력하시오: ");
		double num2=sc.nextDouble();
		
		int a=(int)num1;
		int b=(int)num2;
		
		System.out.println("정수 부분의 합은 "+(a+b));
	}
}

#관계 연산자

참.거짓으로 결과 산출

public class C06_OperatorCompare {
	public static void main(String[] args) {
		//논리타입 boolean은 true,false를 나타냄
		int n=10;
		boolean b1=n>5;
		System.out.println("b1="+b1);//true
		
		boolean b2=n<8;
		System.out.println("b2="+b2);//false
		
		boolean b3=n==10;  //같은가?
		System.out.println("b3="+b3);
		
		boolean b4=n!=10;  //같은가?
		System.out.println("b4="+b4);
		
		System.out.println(100>50);
		System.out.println(100!=50);
	}
}

#논리 연산자

조건식에 대한 결과를 참 또는 거짓으로 산출

1. &&:논리곱(and)연산자

양쪽 조건식이 모두 참->참

 

2. ||:논리합(or)연산자

하나의 조건식이라도 참->참

 

3. !:부정(not)연산자

뒤 조건식의 결과를 뒤집음

'코딩 기록' 카테고리의 다른 글

java : 5일차  (0) 2023.01.15
java:4일차  (0) 2023.01.05
java : 2일차  (0) 2023.01.05
java : 1일차  (0) 2023.01.02
c언어:포인터  (0) 2022.12.10

관련글 더보기

댓글 영역