오늘의 실수
- 한글 텍스트가 들어가면 ANSI로 저장하기
Scanner.NextInt() - X sc.nextInt() - O
- Scanner(클래스)가 아니라 sc(객체)에서 찾아오기
- nextInt는 클래스가 아니니 첫글자 소문자!!
int x = sc.nextInt(); - X int num1 = sc.nextInt(); - O
- 변수 이름은 값과 관련있게 설정하기
| 파이프
& 앰퍼센드(ampersand)
import java.util.Scanner;
class CalcEx {
public static void main (String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("첫 번째 숫자를 입력하시오: ");
int num1 = sc.nextInt();
System.out.print("두 번째 숫자를 입력하시오: ");
int num2 = sc.nextInt();
System.out.println("첫번째 숫자: " + num1);
System.out.println("두번째 숫자: " + num2);
System.out.println("합: " + (num1 + num2));
System.out.println("곱: " + (num1 * num2));
}
}
- 단항연산자는 대입 없이도 변수의 값이 바뀌는 유일한 연산자
int a = 3; int b = a; a = 6; system.out.println(b); // b는 3 (6이 아님)
대입 없이 자동으로 바뀌지 않으므로, a값이 바뀌더라도 b값은 그대로 3이다.
x += y : x = x + y
x -= y : x = x - y
x *= y : x = x * y
x /= y : x = x / y
x %= y : x = x % y
관계연산자
결과는 boolean(논리값)으로 나옴
논리연산자
논리값 사이의 연산
178 <= height <= 185; // X, ((178 <= height) <= 185) 로 계산됨
height >= 178 && height <= 185; // O (and 연산)
age <= 19 || age >= 65; // O (or 연산)
예제: 키로 이상형 여부 구하기 (결과: boolean)
import java.util.Scanner; class IdealType{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); // System.out.print("키를 입력하시오: "); double height = sc.nextDouble(); // boolean answer = height >= 175 && height <= 190; // System.out.println("이상형 여부: " + answer); } }
class OpEx {
public static void main(String[] args){
// boolean ? A : B;
int num1 = 3;
int num2 = 5;
String result = (num1 < num2) ? "num1이 작다" : "num1이 작지 않다";
System.out.println(result);
}
}
/** */ - 자바 매뉴얼
키워드(예약어)를 식별자로 사용하면 - not a statement
p. 79~80
1, 4, 5, 9, 10, 11, 12, 13, 17, 18
p. 83
1번
import java.util.Scanner;
class Page83_1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("오렌지의 개수를 입력하시오: ");
int num = sc.nextInt();
System.out.println((num / 10) + "박스가 필요하고 " + (num % 10) + "개가 남습니다.");
}
}
2번
import java.util.Scanner;
class Trans {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("마일을 입력하시오: ");
double mile = scan.nextDouble();
System.out.println(mile + "마일은 " + (mile * 1.609) + "킬로미터입니다.");
}
}
숙제 83쪽 3번, 7번, 8번, 10번