1)실행(exe)
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, if-else, if-else if 의 세가지 형태가 있다.
- 조건식의 결과는 반드시 boolean타입의 값으로 true 또는 false여야 한다.
- 조건식이 참(true)일 때, 괄호{}안의 문장들을 수행한다.
if(조건식) { // 조건식이 참(true)일 때 수행될 문장들을 적는다. }
- 둘 중의 하나 - 조건식이 참일 때와 거짓일 때로 나눠서 처리
if(조건식) { // 조건식이 참(true)일 때 수행될 문장들을 적는다. } else { // 조건식이 거짓(false)일 때 수행될 문장들을 적는다. }
- 여러개 중의 하나 - 여러개의 조건식을 포함한 조건식
if (조건식1) { // 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다. } else if (조건식2) { // 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다. } else if (조건식3) { // 여러개의 else if를 사용할 수 있음 // 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다. } else { // 마지막은 보통 else블럭으로 끝나며, else블럭은 생략가능 // 위의 어느 조건식도 만족하지 않을때 수행될 문장들을 적는다. }
- 처리해야 하는 경우의 수가 많을 때 유용한 조건문
- 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("겨울");
}
}
}
👉화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
👉사용하려면
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 : 메서드 안으로 진입을 해서 실행을 하다가, 메서드 밖으로 빠져 나올때 사용