* 연산자(poeration)
1.연산자 : 연산의 종류를 결정짓는 기호(산술,증감,비교,논리,대입)
2.피연산자 : 연산식에서 연산되는 테이터(값)
- 단항 연산자 : 부호, 증감 연산자
- 이항 연산자 : 산술,비교,논리 연산자
- 삼항 연산자 : 조건 연산자
3.연산방향 : 왼쪽 -> 오른쪽
Ex1)
```java
package com.javateam.jse;
public class JavaEx11 {
public static void main(String[] args) {
int num1 = 1;
int num2 = 1;
// num1 = num1 + 1;
// num1 += 1; // 위의 식과 상동(같다)
// num1++; // 위의 식과 상동(같다)
// ++num1; // 위의 식과 상동(같다)
// ++num1++; (X)
// 주의
System.out.println("num1 : " + num1++); // 1 => 나중에 더한다 : 해상 식을 빠져나가면 2가 된다
System.out.println("num1 : " + ++num2); // 2 => 먼저 더한다 : 식을 빠져나가기 전에 계산된다
----------------------------------------------------------------------------------------------
System.out.println("num1 : " + num1++); // 2 => 위의 식에서 + 했기 때문에 2가 출력된다
System.out.println("num1 : " + ++num2); // 3
}
}
```
4.문자열 결합 연산자(+) :
Ex)
```java
package com.javateam.jse;
public class JavaEx12 {
public static void main(String[] args) {
// int result = 1 + 2 * 3; // 7 : *가 + 보다 우선순위가 높다
int result = (1+2)*3; // 9 : ()를 이용해 우선순위 지정
// int result = -(1+2)*3; // -9
// int result = --(1+2)*3; // (X)
System.out.println("result : " + result);
// 문자열 : "" 써야한다, '' 안됨 ,
String str = "java";
String str1 = "java";
// String str2 = new String("java");
// + : 부호(양수), 덧셈, 연결, 덧셈(단항)
str = str + 1; // 덧셈(X), 연결(병합)연산 : concatnation
System.out.println("str : " + str); // java1 출력
str = str.concat("python"); // 연결 (메서드 활용)
System.out.println("str : " + str); // java1python 출력
str1 = 1 + 2 + "java" + 3 + 4; // 덧셈 연산 후 문자열을 만나 연결 연산
System.out.println("str1 : " + str1); // 3java34 출력
----------------------------------------------------------------------------------------------
// * 3항 연산자
// <기존 계산>
int num1 = 2;
int num2 = 4;
int result2 = 0;
if(num1 > num2) { // (true OR false) 조건을 넣어야한다
result2 = 1;
} else {
result2 =0;
}
System.out.println("result2 : " + result2); // 0 출력
// <3항 연산자 : 조건문을 간단하게 해준다>
int result3 = num1 > num2 ? 1 : 0; // 조건이 맞으면 1(true),아니면 0(false)
// 좌측에 대입할 변수가 존재 해야한다 => num1 > num2 ? 1 : 0; (X)
System.out.println("result3 : " + result3); // 0출력
}
}
```
* 비트연산
```java
package com.javateam.jse;
public class JavaEx13 {
public static void main(String[] args) {
// 비트연산
int num1 = 10;
int num2 = 20;
int result = num1 & num2;
System.out.println(Integer.toBinaryString(num1)); // 2진수로 바꿔준다 : 1010 출력
System.out.println(Integer.toBinaryString(num2)); // 2진수로 바꿔준다 :10100 출력
System.out.println("result : " + result); // 0 출력
int result2 = num1 | num2;
System.out.println("result2 : " + result2); // 30 출력
int result3 = num1 ^ num2;
System.out.println("result3 : " + result3); // 30 출력
// 비트이동 (shift)
int result4 = num1 >> 3; // 오른쪽으로 3 bit 이동
System.out.println("result4 : " + result4); // 1 출력
int result5 = num1 << 3; // 왼쪽 으로 3 bit 이동
System.out.println("result5 : " + result5); // 80 출력
}
}
``` * 비트 연산 계산 
* 조건문과 반복문
1.조건문 : 조건식에 따라 다른 실행문을 실행하기 위해 사용
- if : 조건식 결과의 ture, false 여부에 따라 실행문 결정
: if, if ~else, else if 존재 => else는무조건 마지막에 나와야 한다
- switch : 변수의 값에 따라 실행문 결정
2.반복문 : 어떤 작업을 반복적으로 실행하고 싶을 때 사용
- for : 반복할 횟수를 아는 경우
- while : 반복할 횟수를 모르는 경우
- do-while : 처음 조건을 무조건 실행 후 반복을 원할경우
- 조건문 코드
package com.javateam.jse; import java.util.Scanner; public class JavaEx14 { public static void main(String[] args) { // 입력부 System.out.print("돈 입력 : "); // 값을 입력받는다 Scanner sc = new Scanner(System.in); int money = sc.nextInt(); // money라는 변수에 정수를 입력받는다 //System.out.println("입력된 금액 : " + money); System.out.printf("입력된 금액 : %d원%n",money); // formatter 이용 String result = ""; // 조건부 // 1) if 문 if(money >= 1000) { result = "삼각감밥"; }else { result = "다이어트"; } // 2) else if 문 if(money >= 1000 && money < 2000 ) { result = "삼각김밥 + 컵라면(소)"; }else if (money >= 2000 && money < 3000 ) { result = "줄김밥 + 겁라면(소)"; }else if(money >= 3000 && money < 4000) { result = "줄김밥 + 컵라면(대)"; }else if (money >= 4000){ result = "착한 가게 백반"; }else { result = "다이어트"; } // 3) 이중 if 문 if ( money >= 1000 ) { if(money >= 1000 && money < 2000 ) { result = "삼각김밥 + 컵라면(소)"; }else if (money >= 2000 && money < 3000 ) { result = "줄김밥 + 겁라면(소)"; }else if(money >= 3000 && money < 4000) { result = "줄김밥 + 컵라면(대)"; }else if (money >= 4000){ result = "착한 가게 백반"; } else { result = "다이어트"; } // 4) switch 문 switch (money/1000) { // case의 값을 한자리로 만들기 위해 나누기 1000 case 1 : result = "삼각김밥 + 컵라면(소)"; break; case 2 : result = "줄김밥 + 겁라면(소)"; break; case 3 : result = "줄김밥 + 컵라면(대)"; break; case 4 : case 5 : case 6 : // 한꺼번에 조건을 걸 수 있다 result = "착한 가게 백반"; break; default : result = "다이어트"; break; // default : 위치 상관 없다 } // 5) 삼항연산자 result = (money >= 1000 && money < 2000) ? "삼각김밥 + 컵라면(소)": (money >= 2000 && money < 3000) ? "줄김밥 + 겁라면(소)": (money >= 3000 && money < 4000) ? "줄김밥 + 컵라면(대)" : (money >= 4000)? "착한 가게 백반" : "다이어트"; // 출력부 System.out.println("result : " + result); // 자원 반납 sc.close(); } } }
-
반복문코드
package com.javateam.jse; import javax.sound.midi.Soundbank; public class JavaEx15 { public static void main(String[] args) { // for문 // 1~10까지의 합(순열/수열) int sum = 0; // 합계 변수 for(int num = 1; num <=10; num++) { sum += num; // 합계 연산 System.out.printf("1~%d까지의 합 : %d%n ",num,sum); } System.out.println("--------------"); System.out.println("1~10까지의 합 :" + sum); } }