JAVA

[JAVA] 공부시작! (2021-07-09)

HJ39 2021. 7. 14. 23:56

학교에서 운영하는 튜터링이라는 프로그램을 통해서 JAVA를 공부하게 되었다.

튜터 1명, 튜티 3명이 한 팀이 되어 스터디를 하게 된다.

JAVA를 처음 접하게 돼서 튜티로 신청한 후 스터디를 시작하게 되었다.

블로그에 남기는 이유는 암기가 불가능할 것 같아 블로그에 글을 남기면서 기억하고자 작성하게 되었다.

JAVA를 코딩하는 프로그램으로 Eclipse를 이용한다.

 

첫날 배운 내용

JAVA 프로그램의 기본 구조

입출력

연산자

if문

Switch case문

과제

 

  • JAVA프로그램의 기본 구조
public class Class_Name{
	public static void main(){
    	//내용
    }
}

자바를 코딩하는 기본적인 구조이다. 자바는 프로젝트 아래 여러 개의 클래스로 이루어져 있다.

그중 하나의 클래스를 작성하는 기본적인 방법이다.

 

  • 입출력 & 자료형
import java.util.Scanner;
public class Class_Name {
	public static void main(String[] args) {	
    	Scanner scanner = new Scanner(System.in);
        
        final  double PI = 3.14;	// 상수 설정
		
    	int A = scanner.next();	//변수 A를 사용자에게 입력받는다.
          /*
          String name = scanner.next();		// 문자열을 입력

          int age = scanner.nextInt();	//정수형 입력

          double weight = scanner.nextDouble();	//실수형 입력

          float grade = scanner.nextFloat();  //실수형 입력

          nextLine = 줄 전체를 저장(띄어쓰기 포함)

          next = 첫번째 띄어쓰기 까지 저장*/
        
        System.out.print(A);
        System.out.println(A);
        scanner.close();
    }
}

자료형

  1. int = 정수형
  2. double, float = 실수형
  3. String = 문자열
  4. char = 문자
  5. boolean = 참, 거짓

입력

  1. Scanner객체를 맨 위에 선언을 한다.
  2. 함수 내부에 scanner를 선언해준다.
  3. 변수에 scanner.next() (입력받고자 하는 자료형에 따라 (문자열인 경우 : next) , (정수 : nextInt) , (실수 : nextDouble , nextFloat) , (참 거짓 : nextBoolean)을 사용한다.) 
  4. 사용을 마칠 경우 scanner.close() -> (동적 할당을 자동으로 종료)으로 종료한다.

출력

  1. System.out.print(A) = A를 출력을 한다.(줄 바꿈 X)
  2. System.out.println(A) = A를 출력을 한다.(줄바꿈 O)
  • 연산자
   System.out.println(a+b);
   System.out.println(a-b);
   System.out.println(a*b);
   System.out.println(a/b);
   System.out.println(a%b);

연산자 같은 경우는 C , C++과 같아서 설명 생략..

 

입출력 & 연산자를 응용한 예제

import java.util.Scanner;

public class Money_operator {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("금액: ");
		int Money = scanner.nextInt();
			
		int TH10 = (Money / 10000);		//10000원
		int TH5 = (Money % 10000) / 5000;		//5000원
		int TH1 = (Money % 10000) % 5000 / 1000;		//1000원
		int Coin500 = (Money % 10000) % 5000 % 1000 / 500;		//500원
		int Coin100 = (Money % 10000) % 5000 % 1000 % 500 / 100;	//100원
		int change = (Money % 10000) % 5000 % 1000 % 500 % 100;		//그외 잔돈
        
		System.out.println("10000원 권"+ TH10);
		System.out.println("5000원 권"+ TH5);
		System.out.println("1000원 권"+ TH1);
		System.out.println("500원 "+ Coin500);
		System.out.println("100원 "+ Coin100);
		System.out.println("나머지 금액 "+ change);		
		
		scanner.close();			
	}

}

금액을 입력하고 입력한 금액을 연산자를 통해서 지폐 및 동전으로 몇 개가 필요한지 계산해주는 프로그램을 만들었다.

 

 

  • If문
import java.util.Scanner;

public class IF_Prac {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
	       
		int a = scanner.nextInt();
        int b = scanner.nextInt();
        
        if(a>b)
            System.out.println(">");
        else if (a<b)
            System.out.println("<");
        else
            System.out.println("==");
		
        scanner.close();
	}

}

if문 같은 경우에도 C , C++과 방식이 같다. 

 

  • Switch-Case문
import java.util.Scanner;
public class CoffeePrice {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("무슨 커피 드릴까요? ");
		String order = scanner.next();
		int price=0;
		switch (order) {
			case "에스프레소":
			case "카푸치노":
			case "카페라떼":
				price = 3500;
				break;
			case "아메리카노" :
				price = 2000;
				break;
			default:
				System.out.println("메뉴에 없습니다!");
       scanner.close();
		}

Switch-Case문 같은 경우 C, C++과 동일하지만 간단하게 설명하자면 break;가 나올 때까지 case문이 차례로 실행된다.

C언어와 다르게 case 뒤 조건으로 문자열이 가능하다.

 

그 후 멘토분의 과제

import java.util.Scanner;

public class leap_Year_Cal {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);	//입력받는 Scanner객체 생성
			
		int Year = scanner.nextInt();	//입력받을 Year변수 선언
		
		if(((Year%4 ==0) && (Year%100) != 0) || ((Year%400) == 0)) {
			//	1. Year이 4의 배수이거나 100의 배수가 아닐경우
			//	2. Year이 400의 배수인 경우 
			//	두 조건중 하나라도 성립시 1출력
			System.out.println("1");}
		else	//아닌경우 2출력
			System.out.println("0");
	
		scanner.close();	//객체종료
}
	}

윤년을 구하는 방식이다. 

이런 방법으로 코딩을 했지만 멘토분이 if문을 구성할 때 조건이 너무 길면 직관적으로 한눈에 보기 어려워서 주의해야 한다고 조언해주었다.

이로서 첫날 튜터링을 마쳤다.

맨위로

'JAVA' 카테고리의 다른 글

[JAVA] 공부 6일차! (2021-07-26)  (0) 2021.07.28
[JAVA] 공부 5일차! (2021-07-23)  (0) 2021.07.24
[JAVA] 공부 4일차! (2021-07-21)  (0) 2021.07.22
[JAVA] 공부 3일! (2021-07-16)  (0) 2021.07.17
[JAVA] 공부 2일!! (2021-07-14)  (0) 2021.07.15