• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

JAVA-연산자,반복문

04 Feb 2021

* 연산자(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 출력

        }
}
``` * 비트 연산 계산 ![비트연산](https://user-images.githubusercontent.com/65608960/106839062-cba18600-66e0-11eb-95cc-489c9d79c8c8.JPG)

* 조건문과 반복문

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);
                  }
    
              }
        
    


Share Tweet +1