2022.07.14 JAVA

sofia·2022년 7월 14일
0

JAVA

목록 보기
4/27
post-thumbnail

JAVA Method, Scanner 복습

Method

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("라면을 넣는다.");
	}
	
}

Scanner

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();

	}

}

조건문 (Conditional)

: 상황별 실행 흐름을 만드는 문법으로, 조건식을 만족하는 경우와 그렇지 못한 경우를 나누어 실행을 달리함.
ex)나이구간에 따른 버스요금. 점수에 따른 학점 부여

If문

: 조건에 따른 수행 여부 결정

	if (조건식) {
    	조건식이 참인 경우 수행할 코드
    }

단순 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문

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();
	}

}

else-If문, 다중 if-else문

: 추가 조건을 붙여야 할때 사용

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 문

:상황에 따라 수행코드를 나누는 문법

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문과 for문으로 나눠짐.

  • 주의해햐하는 점: 무한루프텍스트에 갇히지 않도록 조심!

while문 - 반복횟수 명확하지 않을때(조건에 따라 다를)경우

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문

  • while문과 반대로 {}을 먼저 수행한 뒤 조건식 진행
    최소한 한번은 수행.
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);
		
	}

}

0개의 댓글