웹_프론트_백엔드/단과

[단과_JAVA] 2020.01.17

shine94 2020. 1. 19. 22:58

1. 변수를 사용하는 이유
1) 반복되는 값을 쉽게 관리하기 위해서

package day05;

public class WhyVar {

	public static void main(String[] args) {
		
		//같은 값 10개를 모두 수정해야하는 상황일 때,
		
		//10번 모두를 직접 작성한 경우 모두 변경해야하나
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		System.out.println("안녕하세요!! 반갑습니다");
		
		//변수를 사용하면 내용 수정을 위해서 변수값만 변경해주면 됨
		String WhyVarable = "안녕하세요!! 반갑습니다";
		
		for(int i = 0; i < 10; i++) {
			System.out.println(WhyVarable);
		}
        
	}
    
}

2) 값에 의미 부여를 하기 위해서
   int age = 1;  //변수명으로 나이라는 것을 알 수 있음
   int a = 1;     //변수명을 봐도 전혀 알 수 없음

2. 입력 메소드
* 입력상태 

 : 커서가 깜빡이고 있는 상태.
   커서만 깜빡이면 어떤 값을 입력해야할지 
   모르기 때문에 반드시 출력을 먼저 해준다.

   Scanner sc = new Scanner(System.in);

* next() : 공백 혹은 줄바꿈 문자를 기준으로 값을 분리한다.
  예) 홍 길동
       sc.next() : "홍"
       sc.next() : "길동"

* nextLine() : 입력한 값들 모두 그대로 가지고 온다.(구분점 X)
   엔터도 값이기 때문에 nextLine() 위에서 무언가를 
   입력받을 때에는 반드시 엔터를 상쇄시켜주어야 한다
   예) 홍 길동
   sc.nextLine() : "홍 길동"

3. 오늘 실습코드

1) InputTest

package day05;

import java.util.Scanner;

public class InputTest {
	public static void main(String[] args) {
		
		// import java.util.Scanner; 자동 완성 기능 : Scanner 입력 후 ctrl + space 
		Scanner sc = new Scanner(System.in);
		String name = "";	// "" -> 미지정값, 초기화 : 문자열에는 "공백" 혹은 "", 숫자는 0
		
		System.out.print("이름 : ");
		name = sc.next();
		System.out.println(name + " 님 환영합니다.");
		
	}
}

2) InputTest2

package day05;

import java.util.Scanner;

public class InputTest2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("이름 : ");
        
		//입력한 값들 모두 그대로 가지고 온다(구분점X)
		System.out.println(sc.nextLine());
        
		//공백 혹은 줄바꿈문자(엔터)를 기준으로 값을 분리
//		System.out.println(sc.next());
//		System.out.println(sc.next());
		
	}
}

3) InputTask

package day05;

import java.util.Scanner;

public class InputTask {
	public static void main(String[] args) {
		//정수 2개를 입력받고 덧셈 결과 출력하기
		//next()를 사용해서 한꺼번에 입력받는다.
		//입력 예)4 7
		//출력 예)4+7=11
		Scanner sc = new Scanner(System.in);
		int num1 = 0, num2 = 0, result = 0;
		
		System.out.println("정수 2개를 공백을 구분하여 입력하세요.");
		num1 = Integer.parseInt(sc.next());
		num2 = Integer.parseInt(sc.next());
		result = num1 + num2;
		System.out.printf("%d+%d=%d\n", num1, num2, result);
	}
}

4) InputTest3

package day05;

import java.util.Scanner;

public class InputTest3 {
	public static void main(String[] args) {
    
		Scanner sc = new Scanner(System.in);
		int age = 0;
		String name = "";
		
		System.out.print("나이 : ");
		age = sc.nextInt();	// int형을 입력 받음
		System.out.print("이름 : ");
		name = sc.next();
//		sc.nextLine();	// 위에서 입력한 엔터를 상쇄시키기 위함.
//		name = sc.nextLine();
		
		System.out.println(name + " 님 나이는 "+ age +"살입니다.");
		
		
	}
}

** sc.next()는 엔터를 기준으로 값을 분리하기 때문에 한 번만 작성해주면 되나 nextLine()은 입력한 값들 모두 구분점 없이 그대로 가지고 오기 때문에 공백을 상쇄할 nextLine()을 두 번 작성해야 함, sc.next()를 사용하면 편리하나 엔터까지 값을 저장하고 싶다면 nextLine()를 사용해야함 **

5) DialogTest

package day05;

import javax.swing.JOptionPane;

public class DialogTest {

	public static void main(String[] args) {
		String name = "";
		
		JOptionPane.showMessageDialog(null, "안녕하세요");
		name = JOptionPane.showInputDialog("이름을 입력하세요");
		JOptionPane.showMessageDialog(null,  name + "님 어서오세요.");
	}

}

** 결과값 **

 

6) DialogTask

package day05;

import javax.swing.JOptionPane;

public class DialogTask {
	public static void main(String[] args) {
		//출력
		//JOptionpane.showMessageDialog(null, "");
		
		//입력
		//JOptionpane.showInputDialog("");
		
		//대화상자를 사용해서 정수 2개를 입력받고
		//곱한 결과를 대화상자로 출력하기
		//입력 예) 첫번째 정수 입력 : 3
		//			  두번째 정수 입력 : 7
		//출력 예) 3 * 7 = 21
		int num1 = 0, num2 = 0, result = 0;
		
		String n1Msg = "첫번째 정수 입력";
		String n2Msg = "두번째 정수 입력";
		String msg = "";
		
		num1 = Integer.parseInt(
				JOptionPane.showInputDialog(n1Msg));
		num2 = Integer.parseInt(
				JOptionPane.showInputDialog(n2Msg));
		result = num1 * num2;
		msg = num1 + "*" + num2 + "=" + result;
		
		JOptionPane.showMessageDialog(null, msg);
		
	}
}

** 결과값 **


4. 단축키
* 자동으로 import 생성 및 필요 없는 클래스 파일 삭제 :  ctrl + shift + o

* 자동 완성 기능 : ctrl + space

'웹_프론트_백엔드 > 단과' 카테고리의 다른 글

[단과_JAVA] 2020.01.20  (0) 2020.01.20
[단과_Python] 2020.01.17  (0) 2020.01.19
[단과_Python] 2020.01.16  (0) 2020.01.17
[단과_JAVA] 2020.01.16  (0) 2020.01.17
[단과_Python] 2020.01.15  (0) 2020.01.16