본문 바로가기

공부일지

230915(Java)

연산자와 연산식

  • 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라고 한다.
  • 연산자 : 연산에 사용되는 표시나 기호
  • 피연산자 : 연산자와 함께 연산되는 데이터
  • 연산식 : 연산자와 피연산자를 사용하여

연산자의 종류

  • int형 변수 num1과 num2에 각각 2,3을 담고 초기화
  • 사칙연산 가능
public class Ex01_Operator {
	public static void main(String[] args) {
		
		int num1 = 2;
		int num2 = 3;
		System.out.println("num1 + num2 = " + (num1 + num2));
		System.out.println("num1 - num2 = " + (num1 - num2));
		System.out.println("num1 * num2 = " + (num1 * num2));
		System.out.println("num1 / num2 = " + (num1 / num2));
		System.out.println("2로 나누고 나머지가 0이면 짝수" + (num1 % 2));
		System.out.println("2로 나누고 나머지가 1이면 홀수" + (num2 % 2));
	}
}

부호

  • 양수인지 음수인지를 판단할 수 있는 기호 +, -
  • 변수의 앞에 +를 넣으면 그대로 출력,-를 넣으면 부호가 반대가 됨.
public class Ex02_Buho {
	public static void main(String[] args) {
		int number = -100;
		
		int result1 = +number;
		int result2 = -number;
		System.out.println(result1);
		System.out.println(result2);
	}
}

증감자

  • ++, -- 가 있다.
  • 선행 연산과 후행 연산이 있다.
    • 변수 앞에 증감자가 오면 선행 연산, 변수 뒤에 증감자가 오면 후행 연산이다.
    • 선행 연산은 해당 명령에서 증감자를 적용 후 결과가 처리되가, 후행 연산은 명령 처리 후 증감자를 적용한다.
public static void main(String[] args) {
		int num1 = 1, num2 = 1;
		num1++;
		num2++;
		System.out.println(num1);
		System.out.println(num2);
		
		System.out.println(num1++);
		System.out.println(++num2);
		
		System.out.println("증감식 종료 후 num1 : " + num1);
		System.out.println("증감식 종료 후 num2 : " + num2);
	}
}

boolean의 연산자

  • boolean의 true = 1, false = 0의 데이터를 가진다.
  • and 연산자 : 모든 조건이 1일 경우만 1로 출력
    • 논리 곱이라고 하고 *연산을 할 수 있다.
    • 11110=0처럼 계산된다.
  • or 연산자 : 모든 조건이 0일 경우만 0으로 출력
    • 논리 합이라고 하고 +연산을 할 수 있다.
    • 1+1+1+1+1+1=1
  • not 연산자(!) ; 어떤 값을 받아도 반대 값으로 출력된다.
    • 1! = 0 / 0! = 1

String의 연산

  • 기본적으로 앞에서부터 연산을 한다.
  • str2처럼 앞에 int의 연산이 먼저 나온 경우 int의 계산, 그 후 string이 등장하였기 때문에 이후에는 String연산으로 된다.
public class Ex05_String {
	public static void main(String[] args) {
		String str1 = "JDK" + 11 + 1.5;
		String str2 = 1.5 + 11 + "JDK";
		
		System.out.println(str1);
		System.out.println(str2);
	}
}

대입 연산자, 비교 연산자

  • = : 대입 연산자. 오른쪽의 값을 왼쪽으로 대입한다.
  • 비교 연산자 (==, <, >, <=, >=)
  • 0 < 4 / 1,2,3 / 3개
  • 0≤ 4 / 0,1,2,3,4 / 5개
  • 비교 연산자를 이용해 boolean의 값을 부여하기
  • && AND연산자 : 모든 연산이 1이여야 1로 출력. 중간에 0이 나오면 뒤의 연산은 처리하지 않음(dead code)
  • || OR연산자 : 하나라도 1이 나오면 1로 출력 1이 나오면 뒤의 연산은 처리하지 않음(dead code)
public class Ex06_Oper {
	public static void main(String[] args) {
		boolean bool1 = 1<3;
		boolean bool2 = 1>3;
		boolean bool3 = 1<=3;
		boolean bool4 = 1>=3;
		boolean bool5 = 1==3;
		boolean bool6 = 1!=3;
		
		System.out.println(bool1);
		System.out.println(bool2);
		System.out.println(bool3);
		System.out.println(bool4);
		System.out.println(bool5);
		System.out.println(bool6);
		
		
		boolean bool7 = 1<3 && 1<4;
		boolean bool8 = 1<3 || 1>4;
		System.out.println(bool7);
		System.out.println(bool8);
	}
}

3항 연산자

  • 일반적으로 사용하지 않음. 조건문이 일반적이다.
  • 조건식을 연산하여 true가 나올 때, false가 나올 때의 결과를 어떤 값으로 받고 싶은 경우 사용
  • 조건식 (a 연산 b ? true에서 담는 값 : false에서 담는 값)
  • 3항이 아니라 계속 연결해서 사용할 수 있으나 연결해야 할 경우 if문을 사용하는 것이 일반적임
public class Ex07_Oper {
	public static void main(String[] args) {
		int num1 = 10, num2 = 50;
		String str1 = num1 == 10 ? "10살입니다." : "10살이 아닙니다.";
		System.out.println(str1);
		
		int score = 70;
		String grade = score > 90 ? "A" : score > 80 ? "B" : score > 70 ? "C" : "D";
		System.out.println(grade);
	}
}

복합대입연산자

  • 변수 += n / 기존 변수에 n만큼을 더한 값을 부여한다.
    • 변수 += n 은 변수 = 변수 +n과 같다.
    • 부분에 다양한 사칙연산이 들어갈 수 있다.
public class Ex08_Oper {
	public static void main(String[] args) {
		int result = 0;
		result += 10;
		System.out.println(result);
		
		result *= 3;
		System.out.println(result);
		
		result /= 2;
		System.out.println(result);
	}
}

 

 

 

'공부일지' 카테고리의 다른 글

230918 (Java)  (0) 2023.09.18
230918 (HTML, JSP기초)  (0) 2023.09.18
230915(HTML)  (0) 2023.09.15
230914(Java)  (1) 2023.09.14
230914(HTML)  (0) 2023.09.14