종류 : AND연산(&&),OR연산(||), NOT연산(!)
// 논리 연산자
System.out.println("&&");
boolean result = true && true;
System.out.println(result);
result = true && false;
System.out.println(result);
result = false && true;
System.out.println(result);
result = false && false;
System.out.println(result);
System.out.println("||");
boolean result1 = true || true; //or 연산 중에 앞에서 true가 나와서 뒤에꺼는 필요 없으니 dead cord라고 뜨나
System.out.println(result1);
result1 = true || false;
System.out.println(result1);
result1 = false || true;
System.out.println(result1);
result1 = false || false;
System.out.println(result1);
System.out.println("!");
boolean var1 = false;
System.out.println(var1); // false
System.out.println(!var1); // true
var1 = ! var1;
System.out.println(var1); // true
System.out.println(7>5); // true
System.out.println(!(7>5)); // false
// 영어, 수학 점수가 둘 다 90점 이상이면 합격(true)
int engscore = 95;
int matscore = 97;
boolean result2 = false;
result2 = engscore >= 90 && matscore >= 90; // true and true = true
System.out.println("합불" + (result2));
engscore = 80;
matscore = 97;
result2 = engscore >= 90 && matscore >= 90; // false and true = false
System.out.println("합불2" + (result2));
// 회원가입을 할 때 id = myid, password = 1234 라고 가입하고
// 나중에 로그인을 한다고 했을 때 id, pw를 모두 맞게 입력하면 로그인 성공(true)
// 둘 중 하나라도 틀린 값을 입력했다면 로그인 실패(false) 처리를 한다고 했을 때
String id = "myid";
String pw = "1234";
boolean loginresult = (id == "myid") && (pw == "1234"); // true and true = true
System.out.println("로그인" + (loginresult));
id = "idididid";
loginresult = (id == "myid") && (pw == "1234"); // false and true = false
System.out.println("로그인" + (loginresult));
종류 : ++, --
변수 앞 또는 변수 뒤에 위치 할 수 있음
++var : var이 가지고 있는 값에 1을 증가시킨 뒤 전체 연산에 사용함
var++ : var이 가지고 있는 값을 전체 연산에 사용한 뒤 var의 값을 1 증가시킴
result = 10 + var++;
result = 10 + ++var;
반복문같은 곳에 많이 사용 된다고한다.
이것도 뭔가 이상하게 복잡하게 만드네
// 증감 연산자
int result = 0, var = 10;
System.out.println("result1 : " + result + " var : " + var);
result = 10 + var++;
System.out.println("result2 : " + result + " var : " + var);
result = 10 + var++;
System.out.println("result3 : " + result + " var : " + var); // r : 21 v : 12
result = 0;
var = 10;
result = 10 + var--;
System.out.println("result4 : " + result + " var : " + var);
result = 10 + var--;
System.out.println("result5 : " + result + " var : " + var);
result = 0;
var = 10;
result = 10 + ++var;
System.out.println("result6 : " + result + " var : " + var); // r : 21 v : 11
result = 10 + ++var;
System.out.println("result7 : " + result + " var : " + var); // r : 22 v : 12
result = 0;
var = 10;
result = 10 + --var;
System.out.println("result8 : " + result + " var : " + var); // r : 19 v : 9
result = 10 + --var;
System.out.println("result9 : " + result + " var : " + var); // r : 18 v : 8
스캐너 객체를 선언해야 활용가능
파이썬의 input과 같은 사용
Scanner scan = new Scanner(System.in);
위 문장의 의미는 스캐너 객체를 선언한다.
우변

오류를 눌른 후 import ‘Sanner’ (java.util)를 누르면
클래스 이름 위 쪽에 import java.util.Scanner; 가 생김
아니면 클래스 이름 위에 import java.util.Scanner;를 친다.
if (조건식){
조건이 true일 때 실행하는 부분
} else {
w조건이 false일 때 실행하는 부분
}
if(조건식1) {
조건식1이 true일 때 실행
} else if(조건식2) {
조건식2가 true일 때 실행
} else if(조건식3) {
조건식3이 true일 때 싱행
} else {
조건식 123 모두 해당되지 않을 때 실행
}
// if 연습
boolean con = false;
System.out.println("if문 실행 전");
// 단일 if문
if (con) { // con이라는 변수가 true일 때만 실행
System.out.println("if문 내부");
}
System.out.println("if문 실행 후");
// if else문
if (con) {
System.out.println("조건이 true");
} else {
System.out.println("조건이 false");
}
// 스캐너로 정수를 입력받아 입력 받은 정수가 양수인지 음수인지 출력해보세요
// 일단 0도 양수라고 판단
// 0은 0입니다
int num1 = 0;
System.out.print("숫자를 입력하세요1 : ");
num1 = scan.nextInt();
if (num1 == 0) {
System.out.println("0입니다");
} else if (num1 > 0) {
System.out.println("양수");
} else {
System.out.println("음수");
}
// 정수를 입력 받아서 홀수, 짝수를 판단해보세요
// 음수일 때?
// 0 보다 큰 숫자에 대해서만 홀/짝 판단을 하고 0이라의 숫자는 다시 입력하라는 내용을 출력
int num2 = 0;
System.out.print("숫자를 입력하세요2 : ");
num2 = scan.nextInt();
if (num2 % 2 == 0) {
System.out.println("짝수");
} else {
System.out.println("홀수");
}
if문 안에 if문을 하나 더 만들어서 더 자세하게 만드는 if문
// 중첩 if문
if (num2 > 0) { // 양수/음수 판정
if (num2 % 2 == 0) { // 홀/짝 판정
System.out.println("짝수");
} else {
System.out.println("홀수");
}
} else {
System.out.println("다시 입력하세요. ");
}
// 위에 작성한 중첩 if 문을 && 연산을 이용하여 if else if 로 표현
if (num2 > 0 && num2 % 2 == 0) {
// num이 0보다 크고 num이 짝수
System.out.println("짝수");
} else if (num2 > 0 && num2 % 2 != 0) {
// num이 0보다 크고 num이 홀수
System.out.println("홀수");
} else {
// num이 0보다 작너나 같다
System.out.println("0보다 큰 숫자를 입력하세요.");
}
컨트롤 쉬프트 f 자동 줄 정리
알트 + 위아래 화살표 = 줄 이동
print() : ()안에 있는 내용을 출력하고 줄은 그대로
println() : ()안에 있는 내용을 출력하고 줄을 바꿈
예외 오류
InputMismatchException
타입 미스매치
맨 밑에 줄에 예외가 발생한 위치


The left-hand side of an assignment must be a variable
좌변 : left hand
우변 : right hand
백준 알고리즘
https://www.acmicpc.net/
프로그래머스
https://programmers.co.kr/
쉬는 시간 틈틈히 만든 홀짝게임
자바랑 파이썬이랑 달라서 좀 헷갈렸던 느낌?
package day02_20211005;
import java.util.Random;
import java.util.Scanner;
public class Ex00_Game {
public static void main(String[] args) {
// 장원이가 만든 홀짝 게임!!
Random rd = new Random(); // 랜덤 객체
Scanner scan = new Scanner(System.in); // 스캐너 객체
int var1 = 0; // 내가 입력할 숫자
System.out.print("숫자 : ");
var1 = scan.nextInt();
if (var1 % 2 == 0) {
var1 = 0; // 0은 짝수
System.out.println("짝");
} else {
var1 = 1; //1은 홀수
System.out.println("홀");
}
int num1 = 0;
num1 = rd.nextInt(100); //0~100까지중에 랜덤으로 뽑아주는 메서드
System.out.println(num1);
int var2 = 0;
if (num1 % 2 == 0) {
System.out.println("짝");
var2 = 0;
} else {
System.out.println("홀");
var2 = 1;
}
if (var1 == var2) {
System.out.println("정답");
} else {
System.out.println("오답");
}
}
}