반응형
연산자
* 산술 연산자
- + - / * %
- % : 모듈러, 나머지 값 (나누는 값이 더 클 경우에는 작은 수를 리턴함.)
* 쉬프트 연산자
- << >> >>> 화살표 방향으로 밀기
* 관계 연산자
- 부등호 > < >= <= == !=
* 비트 연산자
- & = 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);
반응형
'개발 공부 Today I Learned' 카테고리의 다른 글
[국비 13일차 TIL] JAVA 배열 연습 (2) | 2023.12.07 |
---|---|
[국비 12일차 TIL] 자바 반복문 for문 (1) | 2023.12.06 |
[국비 10일차 TIL] JAVA 클래스, 메소드, 명령어, 데이터타입 (1) | 2023.12.04 |
[국비 9일차 TIL] JAVA 배열, 변수, 객체 지향 (0) | 2023.12.01 |
[국비 8일차 TIL] JAVA 기초 변수, 타입, 조건문, 반복문 (1) | 2023.11.30 |
댓글