형변환
-자동 형변환
정수 + 정수 = 정수
정수 + 실수 = 실수
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 |
댓글