일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 자바
- bioinformatics
- 이항분포
- 블록체인
- 시그모이드
- MERS
- 인공신경망
- COVID
- 결정트리
- 행렬
- 알파폴드
- 캐글
- 인공지능
- 오류역전파
- 생명정보학
- BLaST
- 생물정보학
- 인공지능 수학
- Kaggle
- AP Computer Science A
- ncbi
- CNN
- SVM
- 파이썬
- 바이오파이썬
- 바이오인포매틱스
- AP
- 서열정렬
- Java
- 딥러닝
- Today
- Total
데이터 과학
연산자 본문
수치 연산자 (Arithmetic Operators)
사칙연산에 대한 내용으로 일반적인 수학 연산과 같습니다.
우선순위 괄호 ()를 먼저 계산하는 것도 마찬가지입니다.
( ) 괄호, 1순위
*, /,% 2순위
+,- 3순위
public class Calculate {
public static void main(String[] args) {
int input = 65000;
int hour, minute, second;
hour = input / 3600;
minute = (input % 3600) / 60;
second = (input % 3600) % 60;
System.out.print(input + "초는 ");
System.out.print(hour + "시간 " + minute + "분 " + second + "초 입니다.");
} }
결과:
65000초는 18시간 3분 20초 입니다.
% 연산자는 modulus 연산자라고 하여 나머지 값을 출력합니다.
public class Calculate2 {
public static void main(String[] args) {
System.out.print(25%9*6+3+15/6);
} }
결과:
47
public class Calculate3 {
public static void main(String[] args) {
System.out.print(25%9*(6+3)+(15/6));
} }
결과:
65
관계 연산자(Relational Operator)
두 값을 비교하여 그 결과를 돌려주는 연산자로 값의 크기를 비교할 때 사용하는 연산자입니다.
관계연산자 | 의미 |
A<B A>B A<=B A>=B A==B A!=B |
A는 B보다 작다 A는 B보다 크다 A는 B보다 작거나 같다 A는 B보다 크거나 같다 A는 B와 같다 A는 B와 같지 않다 |
public class Calculate4 {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 4;
double f = 3.14;
double g = 3.145;
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a + b <= c);
System.out.println(a + b >= c);
System.out.println(c==d);
System.out.println(d==f);
if (a != b) {
System.out.println("다르다");
}
System.out.println(f == g);
System.out.println(f != g);
String h = "Hello JAVA!";
System.out.println(h.equals("Hello java!"));
System.out.println(h.equals("Hello JAVA!"));
} }
결과:
true
false
true
true
false
false
다르다
false
true
false
true
equals 메소드는 Object class에 있는 기본 메소드입니다. 문자열 비교연산자로 별다른 선언 없이 바로 사용할 수 있습니다.
Object class는 class의 class로 기본적인 메소드들이 있어서 사용 가능합니다.
equals 메소드와 비슷한 성격의 메소드로 compareTo 메소드가 있습니다. 둘의 차이점이 있습니다.
증감 연산자(Increment/Decrement Operator)
++ : 증가 연산자
-- : 감소 연산자
++는 1씩 증가하는 증가 연산자입니다. 숫자가 1씩 증가합니다.
ㄱ. i++;
ㄴ. i=i+1;
위 2개의 선언에 대한 결과는 같습니다.
public class IncreaseTest {
public static void main(String[] args) {
int x = 100, y=100;
System.out.println("x = " + x);
System.out.println("++x = " + ++x);
System.out.println("y = " + y);
System.out.println("y++ = " + y++);
System.out.println("x = " + x + ", y = " + y);
}
}
결과:
x = 100
++x = 101
y = 100
y++ = 100
x = 101, y = 101
++위치가 앞에 있는지 뒤에 있는지에 따라 출력 결과가 다르게 나옵니다.
i++(postfix, 후치 연산자)라고 하여 먼저 출력을 하고, 1씩 증가하는 연산을 합니다.
++i(prefix, 전치 연산자)라고 하여 먼저 1 증가하고, 출력합니다.
논리 연산자 (Logical Operator)
A | B | A&&B | A||B |
T T F F |
T F T F |
T F F F |
T T T F |
A&&B (AND 연산)
- 입력값이 하나라도 False이면 결과는 False
A||B (OR 연산)
- 입력값이 하나라도 True이면 결과는 True
Short Circuit evaluation
public class Short_circuit {
public static void main(String[] args) {
int i,j,k;
boolean bool;
i = j = k = 1;
bool = (( ++i != 0 ) || ( ++j != 0 ) || ( ++k != 0));
System.out.println( "i=" + i + ", j= " +j +", k= "+k+", bool= "+bool);
i = j = k = -1;
bool = (( ++i != 0 ) && ( ++j != 0 ) && ( ++k != 0));
System.out.println( "i=" + i + ", j= " +j +", k= "+k+", bool= "+bool);
}
}
결과
i=2, j= 1, k= 1, bool= true
i=0, j= -1, k= -1, bool= false
할당(대입) 연산자(Assignment Operator)
할당 연산자라고도 하며 대입 연산자라고도 합니다.
오퍼레이터(operator)의 위치를 바꿔서 중복성을 배제한 것입니다.
연산자 | 의미 | |
= += -= *= /= %= |
x=2 x+=4 y-=6 p*=5 n/=10 n%=10 |
x=2 x=x+4 y=y-6 p=p*5 n=n/10 n=n%10 |
public class assign{
public static void main(String[] args) {
int num= 100;
System.out.println(num);
num +=10;
System.out.println(num);
num -=5;
System.out.println(num);
num *=5;
System.out.println(num);
num /=3;
System.out.println(num);
num %=2;
System.out.println(num);
} }
결과:
100
110
105
525
175
1
'프로그래밍 언어론 > JAVA 기초' 카테고리의 다른 글
JAVA Online compiler (16) | 2022.08.27 |
---|---|
For each (0) | 2022.08.22 |
class 와 method 정의 (22) | 2022.08.14 |
기본형 데이터 형식, 참조형 데이터 형식 (33) | 2022.05.29 |
Cast 연산자와 연산 (21) | 2022.05.22 |