Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 프로그래머스
- 캐스팅연산자
- 사용자 정의 예외처리
- 취준생
- 자바
- do~while문
- for문
- 상속
- 코딩
- Java
- 개발자
- 백앤드
- userDefineException
- 추상화
- 예외처리
- 개발
- 알고리즘
- AoutoBoxing
- Calendar Class
- exception
- 생성자
- super 생성자
- 가위바위보프로그램
- 예외던지기
- Date Class
- 독학
- 클래스의구조
- 부모 생성자
- 비전공자
- 국비지원
Archives
- Today
- Total
유난스런 개발 기록
[JAVA] Day-4 _ 연산자(operator) 본문
day-4
연산자(operator)
연산자(operator) 란?
- 연산자란 프로그램 문법 중 변수와 더불어 가장 기본이 되는 문법이다.
- 크게 산술 연산, 비교 연산, 논리 연산 으로 나뉜다.
- 이외에도 bit 연산자, 증감 연산자, 할당 연산자, 삼항 연산자 , 쉬프트 연산자 등이 있다.
산술 연산자
산술 연산자는 사칙연산을 생각하면 된다.
+, - , * , / , % 가 있으며, 순서대로 더하기, 빼기, 곱하기, 나누기, 나머지 이다.-
-예제-
package my.day04.b.operator;
public class OperatorMain {
public static void main(String[] args) {
int n = 10;
System.out.println("n+3 = " + (n+3)); // n+3 = 13
System.out.println("n-3 = " + (n-3)); // n-3 = 7
System.out.println("n*3 = " + (n*3)); // n*3 = 30
System.out.println("n/3 = " + (n/3)); // n/3 = 3 정수/정수 = 정수(몫)
System.out.println("(double)n/3 = " + ((double)n/3)); // (double)n/3 = 3.3333333333333335
System.out.println("(float)n/3 = " + ((float)n/3)); // (float)n/3 = 3.3333333
System.out.println("n%3 = " + (n%3)); // n%3 = 1 10을 3으로 나누었을 때의 나머지 1
System.out.println("n<<3 = " + (n<<3)); // n<<3 = 80
증감 연산자
증감 연산자는 정수 타입의 변수 앞이나 뒤에 위치하며, 변수의 값을 1 증가시키거나 1 감소시킬 때 사용한다.
변수 앞에 위치하면 전위 연산
변수 뒤에 위치하면 후위 연산이다.
프로그래밍을 하며 정말 많이 사용하고 보게 될 연산자니 꼭 기억하자.
-예제-
int a = 7;
// int b = 3;
// 또는
int a=7, b=3;
System.out.println("a => " + a); // a => 7
// a = a+1;
// 또는
a++;
System.out.println("a => " + a); // a => 8
++a;
System.out.println("a => " + a); // a => 9
System.out.println("b => " + b); // b => 3
// b = b-1;
// 또는
b--;
System.out.println("b => " + b); // b => 2
--b;
System.out.println("b => " + b); // b => 1
논리 연산자와 bit 연산자
논리 연산자는 비교 대상값이 boolean 타입에서 사용되어진다.
& (AND), | (OR), && , || 을 사용한다. 두개씩 사용하면 처리 속도가 향상 된다.
&(앰퍼센드) |(파이프 or 버티컬라인) ^(꼬갈) 이렇게도 부른다.
또한
& | ^ 연산자는 연산 되어지는 대상이 정수일 때만 사용 가능하다.
-예제-
boolean bool = false;
System.out.println("bool : " + bool); // bool : false
/*
수학에서는 T ∧ T ∧ F ==> F
수학에서는 T ∧ T ∧ T ==> T
수학에서는 T ∨ T ∨ F ==> T
수학에서는 T ∨ T ∨ T ==> T
수학에서는 F ∨ F ∨ F ==> F
*/
int c=50, d=60, e=70;
bool = (c > d) && (d < e) && (c == 3);
// false && 스킵
System.out.println("bool => " + bool); // bool => false
bool = (c > d) || (d < e) || (c == 3);
// false || true || 스킵
System.out.println("bool => " + bool); // bool => true
int i=1;i=1; // i=1;
int j=i++; // j=1; i++; i=>2
if( (i > ++j) & (i++ == j) ) {
// 2 > 2 j==>2
// false & 2 == 2
// false & true i==>3
// false
i = i+j;
}
System.out.println("i="+i); // i=3
i=1; //i=1;
j=i++; //j==>1 i++; i==>2
if( (i > ++j) && (i++ == j) ) {
// 2 > 2
// false && 스킵
// false
i = i+j;
}
System.out.println("i="+i); // i=2
할당 연산자
+=, =-, *=, /=, %=
위와 같은 것들이 있다.
쉽게 말하자면 연산 후 대입을 하는 것이다.
예시 코드를 보면 알기 쉽다.
int no = 1;
no += 3; // no = no + 3; 와 같은 것이다. 즉, no+3 하고 no에 no+3 값 넣어준다.
System.out.println("no=" + no); //no=4
no -= 2; //no = no - 2; 와 같은 것이다.
System.out.println("no=" + no); //no=2
no *=5; //no = no * 5; 와 같은 것이다.
System.out.println("no=" + no); //no=10
no /=4; //no = no / 4; 와 같은 것이다.
System.out.println("no=" + no); //no=2
no %=3; //no = no % 3; 와 같은 것이다.
System.out.println("no=" + no); //no=2
삼항 연산자
변수선언 = (조건식)?값1:값2; 의 모양으로 선언할 수 있다.
변수를 선언하고 나서 값을 부여하고자 할 때 사용되어지는데,
조건식이 참 이라면 변수에 값1 을 대입해주고,
만약 조건식이 거짓 이라면 변수에 값2 를 대입해주는 것이다.
-예시-
int num1=50, num2=60;
int num3=(num1 > num2)?num1:num2;
// false
// num3= mum2;
System.out.println("num3 => " + num3); // num3 => 60
'개념정리 > JAVA' 카테고리의 다른 글
[JAVA] Day-5 _ Wrapper 클래스 (2) | 2023.01.12 |
---|---|
[JAVA] Day-4 _ 스캐너 (Scanner) (0) | 2023.01.11 |
[JAVA] Day-4 _ 형변환(casting) 연산자 (0) | 2023.01.09 |
[JAVA] Day-3 _ 자료형의 종류 (0) | 2023.01.08 |
[JAVA] Day-3 _ 메소드(method)와 생성자(constructor) (0) | 2023.01.07 |