# 형변환
1. 강제 형변환
(자료형) : 형변환 연산자
(자료형)값
(double)10 //10.0
public static void main(String[] args) {
// 강제 형변환
double num1= 97.0; > // 정수로 바꾸고 싶다 -
int num2= (int)num1 > //97
// double 타입을 int 바꿀수 없음, byte 가 int 보다 크기 때문에
// 형변환 int 를 앞에 다가 써준다.
System.out.println("실수 > 정수: " + num2);
char ch = num2; // > char ch= (char)97 // 현재 num2 = 97
//문자 2 byte = 정수4byte b 정수의 bite가 더 크기때문에 형변환 char
System.out.println("정수 > 문자: " + ch);
}
2.자동 형변환
a) 정수 + 실수 = 실수
3 + 0.0 = 3.0
b) 문자 + 정수 = 정수
3 + ' ' = 35
c) 'A' + 5 = 70
정수, 실수, 문자 + 문자열 = 문자열
3 + "Hello" = "3Hello"
10 + "" = "10"
'3' + "" = "3"
public static void main(String[] args) {
int num3= ch; // > int num3= (int)a;
// - 4byte- = - 2byte-
// 형변환 할때는 조금더 큰 바이트에다가 맞춰서 변형 해줌
system.out.println("문자>정수 : " + num3);
system.out.prinln('A' + 10); // >문자 숫자랑 더하게 되면 숫자가 나옴. 정수4b / 문자 2 이기 때문
// '65'+ 10 = 75
system.out.println('5' + '5'); // 53+53 // > 아스키코드표 '5' > 정수 53
int five = '5';
system.out.println(five):
}
# 연산자
: 연산자 의미
-> 3 * x + 5 / 연산을 수행하는 기호(+ , -, *, / 등)
# 피연산자
- 연산자의 연산 수행 대상
※ 모든 연산자는 연산결과를
반환한다.
- 연산자의 우선순위
하나의 식에 둘 이상의 연산자가 있을 때, 먼저 연산하는 순위를 자동결정 하는것
원하는 우선순위가 있을 경우 괄호()를 사용할 수 있지만, 매번 수동으로 하기 번거로움
2 + 6 * 7
> 이렇게 식이 되었있을때 우리는 자동적으로 곱하기를 먼저 한다고 생각한다.
> 하지만 + 더하기를 먼저 계산하고 싶을때는 ( ) 가로를 해주는데 일일히 이렇게 하기가 번거로움
(최 단 산 관 리 삼 대)
-최우선 연산자
-단항 연산자
-산술 연산자
-관계 연산자(비교연산자)
-논리 연산자
-삼항 연산자
-대입 연산자
- 결합성
한 문장 안에 우선순위가 같은 여러개 있을 때
맞는 방향으로 결합하여 연산하는 성질
- 보통 왼쪽 > 오른쪽
ex) 1 + 2 + 3 + 4
sol)
>(1+2)+3 +4
>(3+3)+4
>6+4
>10
※예외
: 대입연산자, 단항연산자는 오른쪽 > 왼쪽
x = y = 5
> x = 5 (오른쪽에서 왼쪽으로 )
> 5
#최우선 연산자
( ) > 괄호
#단항 연산자(피연산자가 하나)
형변환 연산자: (자료형)값
: 피연산자의 부호를 반대로 변경
int num= -10;
num = -num; //-num = -10 > -(-10)
sysout(num) //10
# 산술 연산자
+ , -, *, / (사칙연산)
% (모듈러스): a%b // > a를 b로 나눈 나머지
10 % 3 // 1
#관계 연산자(비교연산자)
: 두 피연산자를 비교해서 true 또는 false 반환
> , < : 초과, 미만
>= , <= : 이상, 이하
== : 같다
!= : 다르다
ex) a < b - a보다b가 크다
a == b - a 와 b는 같다
a!= b - b는 a랑 다르다
ex) x = 2 y=4
x * 2 < y * 4
4 < 16 // true > 우선순위가 이미 정해져 있음 * 는 산술연산자. 산술연산이 우선순위.
- 조건식
: 관계연산자를 이용해서 만들어지는 식 / 조건을 제시하는 식
: 자바에서는 0과 1 대신 결과가 참 또는 거짓(true, false) 이라는 값 사용.
논리형) boolean true,false
# 논리 연산자
: 조건식을 연결할 때 사용하는 연산자
*A 와 B는 (조건식 가정)
1 . A && B
(AND결합) : 두 조건식의 연산결과가 둘다 true 라면 true
둘 중에 하나라도 false 라면 false
2. A || B
(OR결합) : 두 조건식의 연산 결과중 하나라도 true면 true
ex)
y > 5 && y < 10 => y는 관계 연산자 / & 는 논리연산자
=> 관계연산자를 먼저 수행된 후, 논리연산자가 수행
5 < y < 10 // 이렇게 쓰면 자바 에서는 에러남
# 삼항 연산자
입력방법 : 조건식 ? 값1(참이면 오는 부분) : 값2(거짓이면 오는 부분)
조건식의 연산결과가 true라면 값1 선택
조건식의 연산결과가 false라면 값2 선택
삼항연산자= 사용부분 통째로가 하나의 값
경우의 수가 딱 두가지의 값으로 나오는 경우에 사용하는 것이 좋다.
# 대입 연산자(=)
연산이 모두 끝나야 연산결과를 저장할 수 있기 때문에 우선순위가 가장 낮다.
• 삼항연산자 문제 풀이 •
public static void main(String[] args) {
int num= 10;
// 삼항연산자 >조건식? 값1 ㅣ 값2
// num == 0 ? "123" : "456"; > 변수에다가 담자 / 맞춰줘야함/ true : false
String result = num == 0 ? "123" : "456" ;
// " 자료형" 일치 시키기
system.out.println(result);
system.out.println(num==1? 666: "abc"); > // 삼항연산자값을 그대로 사용할때는 자료형 그대로 씀
// 변수에 담지 않을 경우 값의 자료형 불일치 = abc 그대로 출력이 됨
}
'Class > Java' 카테고리의 다른 글
#JAVA 수업 강의 3-1 (0) | 2022.03.25 |
---|---|
#JAVA 수업 강의 3 (8) | 2022.03.24 |
#JAVA 수업 강의 2-2 (11) | 2022.03.18 |
#JAVA 수업 강의 2-1 (0) | 2022.03.18 |
#JAVA 수업 강의 2 (2) | 2022.03.17 |
댓글