본문 바로가기
개발 공부 Today I Learned

[국비 11일차 TIL] JAVA 연산자, 조건문 if

by 개발자신입 2023. 12. 5.
반응형

연산자

* 산술 연산자

  • + - / * %
  • % : 모듈러, 나머지 값 (나누는 값이 더 클 경우에는 작은 수를 리턴함.)

* 쉬프트 연산자

  • <<   >>   >>> 화살표 방향으로 밀기

* 관계 연산자

  • 부등호 >   <   >=   <=   ==   !=

* 비트 연산자

  • & = and, 논리곱, 양쪽 모두 참일 때 = 참
  • | = or, 논리합 (파이프) 어느 한쪽이 참일 때 = 참
  • ^ = XOR 베타적 논리합 한쪽이 참, 다른 한쪽이 거짓을 때 = 참
  • true ^ true = false
  • false ^ false = false

* 논리 연산자

  • && : 양 쪽이 참이여야 참이 나옴
  •   ||  : 한 쪽만 true면 true

* 삼항 연산자 

(조건식) ? true : false

* 배정대입 연산자 

 =   +=   -=    /=    %=


조건문  (if, switch)

if

제어문이란 프로그램이 실행될 때 특정 조건, 반복을 수행 또는 멈추게 하기 위해 필요한 명령 구문
 

switch ~ case

 

반복문

for, while, do-while

  • 스캐너 Scanner scanner = new Scanner(System.in);
  • 정렬하기 : 컨트롤 + 시프트 + f
  • ()가 붙어있으면 메소드!!
  • charAt(0) : 문자열 해당 번지수 글자 뽑기 (0부터 시작~)
  • toBinaryString(1); 10진법을 2진법으로 변환
  • ( ~ ) 비트 반전 : 0을 1로, 1을 0으로 바꿈

- 스캐너를 활용하여 주민등록번호 첫 숫자로 성별 확인

Scanner sc = new Scanner(System.in);
	System.out.println("주민등록번호 뒤 첫 숫자를 적어주세요."); // 입력대기
	int input = sc.nextInt();
	System.out.println("입력 숫자 : " + input);

	if(input % 2 == 0) {
	System.out.println("여자");
	} else {
	System.out.println("남자");
	}
	sc.close(); // 스캐너 사용 후에는 닫아주기

- 숫자 순서 바꿔서 출력하기

 
public static void main(String[] args) {

	int num1 = 90;
	int num2 = 5;

	if (num1 > num2) {
	int temp = num1;
	num1 = num2; // num1 = 5
	num2 = temp; // num2 = 90
	}

	System.out.println(num1);
	System.out.println(num2);
}

- 가위바위보 게임 만들기

 

1. Scanner 사용하여 사용자로부터 입력을 받는다.
2. 사용자에게 "가위 바위 게임을 시작합니다!" 메시지를 출력한다.
3. "1. 가위, 2. 바위, 3. " 메시지를 출력한다.
4. 사용자로부터 숫자 입력을 받는다.
5. 컴퓨터가 난수를 생성하여 1부터 3 하나의 숫자를 얻는다.
6. 만약 컴퓨터가 이기는 경우를 확인한다:
    만약 컴퓨터가 1이고 사용자가 3이면 또는 컴퓨터가 2이고 사용자가 1이면 또는 컴퓨터가 3이고 사용자가 2이면,
    "컴퓨터가 이겼습니다" 메시지를 출력한다.
7. 사용자가 이기는 경우를 확인한다:
    만약 컴퓨터가 1이고 사용자가 2이면 또는 컴퓨터가 2이고 사용자가 3이면 또는 컴퓨터가 3이고 사용자가 1이면,
    "당신이 이겼습니다" 메시지를 출력한다.
8. 비긴 경우를 확인한다:
    만약 사용자 입력과 컴퓨터 값이 같으면,
    "무승부입니다" 메시지를 출력한다.

 
package dec05;

import java.util.Scanner;

public class If05 {

	public static void main(String[] args) {

	Scanner sc = new Scanner(System.in);
	int input;
	int com;


	System.out.println("가위바위보 게임 시작!");
	System.out.println("1. 가위, 2. 바위, 3. 보");
	System.out.print("입력 >_");
	input = sc.nextInt();

	com = (int) (Math.random() * 3 + 1);

	if (com == 1 && input == 3
	  || com == 2 && input ==1
	  || com == 3 && input ==2) {
	System.out.println("컴퓨터가 이겼습니다");
	} else if(com == 1 && input ==2
			|| com == 2 && input == 3
			|| com == 3 && input == 1) {
	System.out.println("당신이 이겼습니다");
	} else if(input == com) {
	System.out.println("비겼습니다");

}

// 랜덤 = 0.0 이상 1.0 이하의 수
//System.out.println(Math.random() * 3 + 1); // +1을 하면 1~3까지만 나옴

// com = (int) (Math.random() * 3 + 1); // (int)를 붙여서 정수로 바꿔줌
// System.out.println(com);

 


System.in.read()

import java.io.IOException;

public class If06 {

	public static void main(String[] args) throws IOException {

	System.out.println("0~9 중 하나의 숫자 쓰세요.");
	int value = System.in.read(); // 아스키코드


	System.out.println(value - 48);
 
 
반응형

댓글