자바 선행학습 1일차 - 기본 문법 (print, scanner, if, else)

728x90

기본 연산

 

public class Tim2022 {
	public static void main(String[] args) {
			System.out.println(100);
			System.out.println(1);
			System.out.println(10000);
			System.out.printf("%d%n",100);
			System.out.printf("%d%n",1);
			System.out.printf("%d%n",10000);
			
			System.out.printf("%5d%n",1000); //지정된 5자리 중 오른쪽 정렬시킴
			System.out.printf("%5d%n",100);
			System.out.printf("%5d%n",10);
			
			System.out.printf("%-5d%n",1000); //지정된 5자리 중 왼쪽정렬
			System.out.printf("%-5d%n",100);
			System.out.printf("%-5d%n",10);
			
			System.out.printf("%05d%n",1000); //지정된 5자리 중에 남는자리 0을 채워넣음
			System.out.printf("%05d%n",100);
			System.out.printf("%05d%n",10);

			System.out.printf("%5s%n","asd"); //지정된 5자리 중 오른쪽 정렬시킴 = 동일
			System.out.printf("%5s%n","a");
			System.out.printf("%5s%n","asdfg");
			
			//다만 문자열은 "0"을 입력하면 exception이 발생된다
            
        float p = 3.145f;
			System.out.printf("평균점수: %6.2f%n", 100.); //소수점은 .의 자리도 포함해야 한다
			//총 6자리의 소수점 2자리 수 출력
			System.out.printf("평균점수: %-6.2f%n", p); // 자동 반올림을 해주지만 총 6자리이기 때문에 반올림이 안들어감
		
			System.out.printf("%d + %d = %d%n",5,3,5+3);
            
            System.out.printf("%%/n"); // 출력 % 자체를 하려면 %%로 입력해야함
			System.out.printf("%d %% %d = %d",5,3,5%3);
		
			
	}
}

 

Scanner - next() & nextLine()

import java.util.Scanner;

public class Tim2022 {
	public static void main(String[] args) {
		
		Scanner scanner2 = new Scanner(System.in);
		System.out.println("주소: ");
		String addr = scanner2.nextLine(); // or nextLine String을 받는 2가지 방법
		
		//next()는 한 단어 입력 = 따라서 종로 잠실입력 시 잠실은 값손실 발생
//		>>만약 서울시 송파구 잠실로를 입력하면 서울시만 입력이 되고 나머지 값은 nextLine()의 버퍼에 들어감
//		>>띄어쓰기 기준으로 단어의 개수가 결정이 됨
		
		
		//nextLine()은 한 줄 입력
//		>>주소를 입력하면 addr에 바로 배정하는 것이 아니라 키보드 임시 저장 장치에 잠시 보관하고 있는 중
//		
		
		System.out.println(addr);
		System.out.println("이름: ");
		String name = scanner2.next();
		System.out.println(name);
		System.out.println(addr +" "+ name);
//		변수의 이름은 영문자, 숫자, '_'만 사용해서 만들 수 있고 첫 글자는 반드시 문자, 대문자로 시작해야함
	
    	
====================================================================================        
        
        Scanner scanner = new Scanner(System.in);
		System.out.println("나이: ");
		int age = scanner.nextInt();
		
//		nextInt(), nextDouble() 등 문자열이 아닌 다른 데이터를 읽어들이는 메소드는 자신이 읽는 데이터 타입만 읽기 때문에 버퍼가 항상 차있는편

		scanner.nextLine();
//		따라서 빈 버퍼를 한개 생성 후에 아무것도 없는 엔터값을 다음 nextLine값에 대입하여 이름을 입력할 수 있도록 함 
		
		System.out.println("이름: ");
		String name = scanner.nextLine(); 
		
		System.out.println(name + "님은 " + age +"살 입니다");
        
====================================================================================
    
    		Scanner scanner = new Scanner(System.in);
		
//		키보드로 한문장 입력받기
		System.out.println("continue(y/n)?");
		char ch = scanner.nextLine().charAt(0);
		//charAt함수를 씀으로서 String 변수에서 0번째 숫자만 추출이 가능하여 char type으로 변환가능
		System.out.println(ch);
		
    
    
    
    }
}

 

If & 삼항연산자(조건문 ? 참일경우 : 거짓일경우)

import java.util.Scanner;

public class Tim2022 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("나이 입력");
		int age = scanner.nextInt();
		
		if(age >= 19) {
			System.out.println("성인입니다");
		}
			System.out.println("미성년자입니다");
			
			
//		삼항조건연산자: ? = 문장이 각각 한문장일 경우 사용하면 편함
		System.out.println(age>=19 ? "성인" : "미성년자");
//		(조건문 ? 참일경우 : 거짓일 경우)의 형식으로 출력
		}

}

 

한번에 int를 받고 총점과 평균을 구한 후 평균점수에 따라 등급을 매긴 프로그램

import java.util.Scanner;

public class Tim2022 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("세과목 점수를 입력하세요");
		
		int java = scanner.nextInt();
		int jsp = scanner.nextInt();
		int spring = scanner.nextInt(); //한번에 다 입력을 받을 수 있음 * 스페이스바 띄어쓰기를 하여 구분
		
		int total = java + jsp + spring;
		double average = (double)total/3;
		
		if(average>=90) {
			System.out.println("등급: A");
		}
//		else if(80 <= average && average < 90) {
		else if(80 <= average) {
			System.out.println("B");
		
		}
		else if(70 <= average) {
			System.out.println("C");
		}
		else if(60 <= average) {
			System.out.println("D");
		}
		else {
			System.out.println("F");
		}
		System.out.println("총점: " + total);
		System.out.printf("평균: %4.2f%n",average);
		}
}
728x90