package chapter02;
public class Ramyun {
public static void main(String[] args) {
buy();//buy 메소드 부터 먼저 호출
boil();// 그다음에 boil 메소드 호출
put();
eat();
}// 위의 호출에서 순서는 중요하지만 아래의 정의에서는 순서가 바뀌어도 상관없다.
public static void boil() {
System.out.println("물을 끓인다.");
}
public static void buy() {
System.out.println("라면을 사온다.");
}
public static void eat() {
System.out.println("맛있게 먹는다.");
}
public static void put() {
System.out.println("라면을 넣는다.");
}
}
package chapter02;
import java.util.Scanner;
public class Won2Dollar {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);//객체 생성
System.out.println("원화를 입력하세요.(단위 원)");
int won = scanner.nextInt();// scanner는 객체. nextInt는 메소드
double dollar = (double)won/1100; //$1=1100원으로 가정하고 계산.
// 달러는 0.0꼴이 나올 수 있도록 double로 변환
// double dollar = won/1100; 이렇게 작성해도 괜찮음. double 이 더 큰 영역이기 때문
System.out.println(won+"원은 $"+dollar+"입니다.");
scanner.close(); // 꼬옥 닫아주기.(처음에 작성할때 까먹음)
}
}
/* 강사님의 작성 방식
package chapter02;
import java.util.Scanner;
public class Won2Dollar {
public static void main(String[] args) {
final double RATE = 1000.0; //final : 상수
// 그렇게 한 이유 : 추후에 작성할때 비율고정시키기 위해서(나중에 또다른 사용자가 사용할 때 편하게 사용가능)
Scanner scanner = new Scanner(System.in);
System.out.println("원화를 입력하세요.(단위 원)");
int won = scanner.nextInt();
double dollar = won/RATE;
System.out.println(won+"원은 "+"$"+dollar+"입니다.");
scanner.close();
}
}
*/
package chapter02;
import java.util.Scanner;
public class ExExchange {
// $1=1200원 1EUR =1500으로 가정하고 계산 3600원
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("원화를 입력하세요.(단위 원)");
int won = scanner.nextInt();
double EUR = (double) won/1500;
double dollar = (double) won/1200;
System.out.println(won+"원은 $"+dollar+"입니다.");
System.out.println(won+"원은 E"+EUR+"입니다.");
scanner.close();
}
}
: 상황별 실행 흐름을 만드는 문법으로, 조건식을 만족하는 경우와 그렇지 못한 경우를 나누어 실행을 달리함.
ex)나이구간에 따른 버스요금. 점수에 따른 학점 부여
: 조건에 따른 수행 여부 결정
if (조건식) {
조건식이 참인 경우 수행할 코드
}
package chapter02;
import java.util.Scanner;
public class SuccessOrFail {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("정수를 입력하시오: ");
int score = scanner.nextInt();
if(score >=80) {
System.out.println("축하합니다. 합격입니다.");
}
scanner.close();
}
}
if(조건식){
조건식이 참인 경우 수행할 내용
} else {
조건식이 거짓일 경우 수행 할 내용\
}
package chapter02;
import java.util.Scanner;
public class MultipleOfThree {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("수를 입력하시오: ");
int number = scanner.nextInt();
if(number % 3 ==0) {
System.out.println("3의 배수입니다.");
}else {
System.out.println("3의 배수가 아닙니다.");
}
scanner.close();
}
}
: 추가 조건을 붙여야 할때 사용
if(조건식 A) {
조건식 A가 참일 때 수행할 코드
}else if (조건식 B){
조건식 B가 참일때 수행할 코드(조건식 A는 거짓)
}else{
조건식 A.B 모두 거짓일때 수행할 코드
}
package chapter02;
import java.util.Scanner;
public class Grading {
public static void main(String[] args) {
char grade;
Scanner scanner = new Scanner(System.in);
System.out.println("점수를 입력하세요(0~100): ");
int score = scanner.nextInt();
if(score >= 90) {
grade='A';
}else if(score >= 80) {
grade='B';
}else if(score >= 70) {
grade='C';
}else if(score >= 60) {
grade='D';
}else {
grade='F';
}
System.out.println("학점은 "+grade+"입니다.");
scanner.close();
}
}
:상황에 따라 수행코드를 나누는 문법
switch (조건식){
caes 값1: 값이 값1과 같을 경우 수행할 문장
break;
caes 값2: 값이 값2과 같을 경우 수행할 문장
break;
default:
//조건식의 결과와 일치하는 case문이 없을때 수행될 문장
}
여기서 case부분에 변수, 비교연산자 등 사용 금지
package chapter02;
import java.util.Scanner;
public class CoffeePrice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("무슨 커피 드릴까요?");
String order = scanner.next();// 숫자가 아니라 문자
int price = 0;
//int price;로 할 시 오류가 발생함.
//왜냐하면 에스프레소나 아메리카노는 값이 있는데
//기본 price에서 가격을 책정하지 않을시 대입? 불가
switch (order) {
case "에스프레소":
case "카푸치노":
case "카페라떼":
price=3500;
break;
case "아메리카노":
price=2000;
break;
default:
System.out.println("메뉴에 없습니다!");
break;
}
if (price !=0) {
System.out.println(order+"는 "+price+"원입니다.");
}// 보면 메뉴에 없는 걸 주문하면 메뉴에 없습니다! ㅇㅇ는 0원입니다. 이런식으로
//뜨는걸 방지 하기 위해서 if 문을 걸었음
scanner.close();
}
}
package chapter02;
import java.util.Scanner;
public class DivAndRemains {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("2자리수 정수 입력(10~99)");
int num2 = scanner.nextInt();
if (num2/10 == num2 % 10) {
System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
}else
System.out.println("No, 10의 자리와 1의 자리가 다릅니다.");
scanner.close();
}
}
/*
package chapter02;
import java.util.Scanner;
public class DivAndRemains {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("2자리의 정수 입력");
int num2 = scanner.nextInt();
int a = num2/10;
int b =num2%10;
if (a==b) {
System.out.println("Yes! 10의 자리와 1의 자리가 같습니다.");
}else
System.out.println("No, 10의 자리와 1의 자리가 같지 않습니다.");
scanner.close();
}
}
// 이렇게도 잘 됨.
*/
: 규칙적인 반복 코드를 단순화하는 문법으로 몇번 이상 반복해야하는 문장에 반복문을 사용하게 되면 쉽고 빠르게 코드 작성 가능
while(조건식){
반복내용 // 조건식이 참일때 수행될 코드
}
해당과정은 조건식이 거짓이 되어야지 반복 벗어남
package chapter03;
public class WhileTest {
public static void main(String[] args) {
int i =0;
int sum=0;
while (i<=99) {
if (i%2==0) {
sum= sum +i;
}
i++;
}
System.out.println(sum);
}
}
do {
// 조건식의 연산결과가 참일때 수행 될 문장(최소 한번은 무조건 실행
} while (조건식);
```java
package chapter03;
import java.util.Scanner;
public class WhileExample {
public static void main(String[] args) {
int i =10;
do {
System.out.println("i의 값: "+i);
// i++;
i--;
}while (i<3);
}
}