20.12.24-24일차

되자개발자·2020년 12월 24일
0

기록하기

목록 보기
24/46
post-thumbnail

🎄JAVA

1)실행(exe)

  • 콘솔응용프로그램(CUI) : 자바문법공부
  • 윈도우응용프로그램(GUI) : 게임포함
  • 웹응용프로그램(WEB) : 포커스

2)참조(jar)

  • 클래스라이브러리

🎁 지시자 종류

  • $d(정수값)
  • %f(실수값)
  • %c(문자값)
  • %s(문자열)

🎁 특수문자
Java의 정석 pdf (p.39)

-> 작은따옴표
// ' 문자사용 가능. 숫자로 저장. 유니코드 범위(0~65535)
	char single = '\''; 
	System.out.println(single);
->큰따옴표
	String dblQuote = "\"Hello\"";
	System.out.println(dblQuote);
->역슬래쉬
\\ 역슬래쉬인식하려면 두개 쓰기
	String root = "c:\\"; // 
	System.out.println(root);
->new line
	String str = "자바의 문법은\n지속적으로\n반복해야한다.";
	System.out.println(str);
->tap
	String name = "홍\t길동"; // tap을 친 효과
	System.out.println(name);

🎁 데이터타입
기억장소를 생성하는 기능
클래스는 데이터타입의 하나의 종류이다.
1) 기본형 데이터타입: 8개
(byte, short, char, int, long, float, double, boolean)
문법> 데이터타입 변수;
예> int a;
2) 참조형 데이터타입
: jdk api에서 제공하는 클래스들
문법> 클래스명 객체 = new 생성자메서드();
예> Scanner sc = new Scanner();
(new) 메모리생성 연산자

👑조건문

조건을 만족할때만 { }를 수행(0~1번)

🎄 if , switch

  • 조건문은 조건식과 실행될 하나의 문장 또는 블럭{}으로 구성
  • if문 주로 사용 (but 경우의 수가 많으면 switch문을 사용하도록)

🎄 if문

  • if, if-else, if-else if 의 세가지 형태가 있다.
  • 조건식의 결과는 반드시 boolean타입의 값으로 true 또는 false여야 한다.
  • 조건식이 참(true)일 때, 괄호{}안의 문장들을 수행한다.
if(조건식) {
	// 조건식이 참(true)일 때 수행될 문장들을 적는다.
    }

🎄if-else문

  • 둘 중의 하나 - 조건식이 참일 때와 거짓일 때로 나눠서 처리
if(조건식) {
	// 조건식이 참(true)일 때 수행될 문장들을 적는다.
    } else {
    	// 조건식이 거짓(false)일 때 수행될 문장들을 적는다.
    }

🎄 if-else if문

  • 여러개 중의 하나 - 여러개의 조건식을 포함한 조건식
if (조건식1) {
	// 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다.
    } else if (조건식2) {
        // 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.
    } else if (조건식3) {	// 여러개의 else if를 사용할 수 있음
        // 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다.
    } else {	// 마지막은 보통 else블럭으로 끝나며, else블럭은 생략가능
    	// 위의 어느 조건식도 만족하지 않을때 수행될 문장들을 적는다.
    }

🎄Switch

  • 처리해야 하는 경우의 수가 많을 때 유용한 조건문
  • if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능 (byte, short, char, int)
  • 1) 조건식을 계산 2) 조건식의 계산결과와 일치하는 case문으로 이동 3) 이후의 문장들을 수행 4) break문을 만날때까지 문장들을 수행 (break문이 없으면 switch문의 끝까지 진행- 빼먹지않도록 주의)
  • 일치하는 case문의 값이 없는 경우 default문으로 이동(default문 생략가능)
  • 변수 사용 불가능(리터럴, 상수만 가능. 중복 불가능)
  • 조건식 결과는 정수 또는 문자열이여야 한다.
switch (조건식) {
	case 값1 :
    		// 조건식의 결과가 값 1과 같은 경우 수행될 문장들
            	// ...
                break;
        case 값2 :
    		// 조건식의 결과가 값 2과 같은 경우 수행될 문장들
            	// ...
                break;	// switch문을 벗어난다.
             //...
             default :
             	// 조건식의 결과와 일치하는 case문이 없을때 수행될 문장들
                // ...
       }
package ex04;

import java.util.Scanner;

public class Test05 {

	public static void main(String[] args) {
		int month = 0;
		
		System.out.println("현재 월을 입력하세요>");
		
		Scanner sc = new Scanner(System.in);
		String tmp = sc.nextLine();
		
		month = Integer.parseInt(tmp);
		
		switch(month) {
			case 3:
			case 4:
			case 5:
				System.out.println("봄이다.");
				break;
			case 6:
			case 7:
			case 8:
				System.out.println("여름");
				break;
			case 9: case 10: case 11:
				System.out.println("가을");
				break;
			case 12: case 1: case 2:
				System.out.println("겨울");
		} 
	}

}

🎄 Math.random()

  • Math클래스에 정의된 난수 발생함수
  • 0.0과 1.0 사이의 double값을 반환.(0.0 <= Math.random() <1.0)

🎄Scanner

👉화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
👉사용하려면
1) import문 추가
import java.util.Scanner;
2) Scanner 객체의 생성
Scanner scanner = new Scanner(System.in);
(System.in은 화면입력)
3) Scanner 객체를 사용

package ex04;
import java.util.Scanner;
public class Test02 {
	public static void main(String[] args) {
	
    int input; // 기본형으로 선언한 경우에는 변수
	System.out.println("숫자를 입력하세요.>");
	
	// jdk설치를 하면, jdk api 기능 제공
	// jdk안에는 많은 정의
	// Scanner 클래스: 콘솔환경에서 사용자로부터 데이터를 입력받을때 사용.
	Scanner sc = new Scanner(System.in); // 참조형으로 선언한 경우에는 객체
    
	// 숫자데이터를 입력해야한다
	String tmp = sc.nextLine(); 
    // 사용자가 콘솔환경에서 데이터를 입력할 수 있는 환경을 만들어줌.
		
	input = Integer.parseInt(tmp); // tmp(string) -> int
	// 타입일치에 문법
    
	System.out.println(tmp); // 숫자형태로 되어있는 문자열(String타입)
		
	if(input == 0) {
		System.out.println("입력하신 숫자는 0입니다.");
		}	
	if(input !=0) {
		System.out.println("입력하신 숫자는 0이 아닙니다.");
		System.out.printf("입력하신 숫자는 %d 입니다.", input);
		}
	}

}
else 사용
	if(input == 0) {
		System.out.println("입력하신 숫자는 0입니다.");
	}else {
		System.out.println("입력하신 숫자는 0이 아닙니다.");
		System.out.printf("입력하신 숫자는 %d 입니다.", input);
		}

🎁디버그 메뉴
F5 : 라인단위로 실행하다가 메서드가 호출(실행)이 되면 메서드 안으로 진입이된다.
F6 : 라인단위로 실행하다가 메서드가 호출(실행)이 되면 메서드로 라인 단위관점으로 실행
F7 : 메서드 안으로 진입을 해서 실행을 하다가, 메서드 밖으로 빠져 나올때 사용

profile
열심히가 되는 길♨_♨

0개의 댓글