본문 바로가기
웹개발 수업/JAVA

웹개발_JAVA 3

by gugigugi92 2023. 1. 17.

형변환


-자동 형변환
정수 + 정수 = 정수
정수 + 실수 = 실수
3+ 0.0 = 3.0
5 / 2 = 2
5 / 2.0 = 2.5
문자 + 정수 = 정수

-강제 형변환
(자료형)값;
예) (double)3

package castingTest;

public class CastingTest1 {

	public static void main(String[] args) {
		// 자동 형변환
			System.out.println(5/2);
			System.out.println(5.0/2);
			
		// 강제 형변환
			System.out.println((double)5/2);
			System.out.println((int)8.43 + 2.59);
			System.out.println((int)(8.43 + 2.59));
			
			// 8.43+ 2.59 = 10이 되게
			System.out.println((int)8.43+(int)2.59);
	}
}

출력결과


-문자열 형변환


1. 다른 자료형을 문자열로
문자열과 다른 일반 자료형을 연결하면 결과는 문자열이 된다.
어떤 값이던간에 " "+ 값은 문자열 결합

ex) 3+ " a"= 3a 

 

package castingTest;

public class CastingTest2 {
	public static void main(String[] args) {
		char data = 48;
		System.out.println('A'+3);  //68
		System.out.println((int)'A'); //65
		System.out.println(data); // 문자 '0'의 Askey는 48
		System.out.println((int)data); //48
	}
}

출력결과

package castingTest;

public class CastingTest3 {

	public static void main(String[] args) {
			System.out.println("1"+3); //13
			System.out.println("1"+3+8); //138
			System.out.println("1"+(3+8)); //111
			System.out.println("1 더하기 3은 "+(1+3)); //1 더하기 3은 4
	}

}

출력결과

2. 문자열을 다른 자료형으로 
일반 자료형은 일반 자료형끼리만 형변환이 가능하다.
문자열 타입은 클래스 타입이므로,    일반 자료형의 클래스 타입의 도움을 받아야 한다.

Integer.parseInt("") => 문자열에서 변환된 정수 값
Float.parseFloat("") => 문자열에서 변환된 실수 값
Double.parseDouble("") => 문자열에서 변환된 실수 값

	package castingTest;
	
	public class CastingTest4 {
	
		public static void main(String[] args) {
			System.out.println(Integer.parseInt("1")+3+9); 
			//"1"은 String(클래스 타입), int 형 클래스 타입 -> .parseInt 메서드 사용시 문자"1"을 숫자 1로 만들어준다.
			System.out.println(Double.parseDouble("3.9")+9);
		}
	
	}

출력결과



입력 
커서가 깜빡이고 있는 상태.
입력하기 전에 출력을 통해 어떤 값을 입력해야할지 사용자에게 알려주어야 한다.

입력 클래스
Scanner sc = new Scanner(System.in);
Scanner   sc          =           new Scanner(System.in);
클래스  변수명  대입연산자                 값

입력 메소드
next(): 사용자가 입력한 문자열 값
-사용자가 입력한 값중 공백 또는 줄바꿈 문자를 구분점으로 각 문자열을 분리한다.
-첫 번째  문자열은 첫 번째 next()에 담고
-두 번쩨 문자열은 두 번쩨 next()에 담는다.

nextLine(): 사용자가 입력한 문자열 값
-공백 또는 줄바꿈 문자도 값으로 취급하기 때문에 그대로 입력받는다.

package inputTest;

import java.util.Scanner;

public class InputTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
//	초기값 : 아직 어떤 값을 넣을 지 모를 때 넣는 값
//	정수 : 0
// 	실수 : 0.0
//	문자 : ''
// 	문자열 : null, ""
		String name = null;
		System.out.print("이름:");
		name = sc.nextLine();
		System.out.println(name+"님");	
//		String firstName = null, lastName = null;
//		lastName= sc.next();
//		firstName= sc.next();
//		System.out.println(lastName +firstName + "님");

	}
}

*실습1

	package inputTest;

import java.util.Scanner;

public class InputTasak {
   public static void main(String[] args) {
//      두 정수를 입력한 뒤 곱셈 결과 출력
//      단, next()만 사용한다.
      Scanner sc = new Scanner(System.in);
      String message = "두 정수를 입력하세요.", example = "예)1 3", format = "%d * %d = %d";
      // 메세지, 계산 식 저장
      String data1 = null, data2 = null;
      // 입력받을 문자 1,2 선언 /초기화
      int number1 = 0, number2 = 0, result = 0;
      // 입력 받은 정수형 데이터 1,2 결과값 선언/초기화
      System.out.println(message);
      System.out.println(example);
      data1 = sc.next(); // 입력받은 문자 1
      data2 = sc.next(); // 입력받은 문자 2
      
      number1 = Integer.parseInt(data1); // 입력받은 문자1을 정수형1으로 변경
      number2 = Integer.parseInt(data2); // 입력받은 문자2을 정수형2으로 변경
      
      
      result = number1 * number2; //결과값 저장
      
      System.out.printf(format, number1, number2, result); // 결과 출력
   }
}

출력결과

*실습2

package inputTest;

import java.util.Scanner;

public class Input {
   public static void main(String[] args) {
//      3개의 정수를 한 번에 입력받은 후 덧셈 출력
//      nextInt() : 입력받은 정수
//==================================================   
	   
//      3개의 정수를 담을 변수 3개 선언, 결과값 변수 선언
      int number1 = 0, number2 = 0, number3 = 0, result = 0;
//      입력 클래스 선언
      Scanner sc = new Scanner(System.in);
//      출력할 메세지 변수에 담기, 출력할 서식문자 형식 변수에 담기
      String message = "세 정수를 입력하세요.", example = "예)1 5 7", format = "%d + %d + %d = %d";
//      메세지 출력
      System.out.println(message);
      System.out.println(example);
//      입력받은 3개의 정수를 각 변수에 대입
      number1 = sc.nextInt(); // 정수형 입력받음
      number2 = sc.nextInt(); 
      number3 = sc.nextInt();
      
//      각 변수를 더한 결과를 변수에 대입
      result = number1 + number2 + number3;
      
//      결과값 출력
      System.out.printf(format, number1, number2, number3, result);
      
   }
}



연산자


기능이 있는 특수문자

연산자의 우선순위
최우선 연산자 
단항 연산자
산술 연산자
쉬프트 연산자
관계 연산자
논리 연산자 
삼항 연산자
대입 연산자

결합성
하나의 수식에 동일한 연산자가 여러 개 사용되면 알맞은 방향으로 결합되어 연산되는 성질

'웹개발 수업 > JAVA' 카테고리의 다른 글

웹개발_JAVA 6  (2) 2023.01.25
웹개발_JAVA 5  (0) 2023.01.19
웹개발_JAVA 4  (0) 2023.01.18
웹개발_JAVA 2(변수,상수,출력메서드)  (0) 2023.01.13
웹개발_JAVA 1  (0) 2023.01.13

댓글