CMD HERE 레지스트리 등록 

 - 가고자 하는 폴더에서 우클릭메뉴를 통해 CMD 디렉토리 바로 이동


cmdhere.reg





참고


- 넷빈에서 한 프로젝트내에 두개 이상의 main이 있을 때 특정 .java파일을 실행하기 위해서는 shift + F6 단축키를 사용한다.

- 넷빈에서는 import를 자동으로 하려면 Alt+Enter키를 이용함.

- 키보드에서 받는 데이터는 무조건 String 일수밖에 없음

- 실수형을 계산할때는

int + int = int

int + double = double

형으로 출력되는 것을 기억하여 예를 들어 3을 나누어 주어야 하고 결과값이 실수가 나올수도 있을 경우라고 가정하면

3을 3.0으로 표기하여 코딩하면 올바른 값이 출력될 수 있다.




넷빈 다운로드 및 설치


1. http://www.oracle.com에서 넷빈(NetBeans IDE)다운로드

2. 넷빈에서는 자바 소스코드 작성을 위해서 프로젝트 단위로 생성.

1. New project > Categories: Java > Projects: Java Application
2. Project Name: 프로젝트 이름 입력 > Project Location: 위치지정
3. Create Main Class: 클래스 이름 입력
4. 끝!
5. 편집창에서 자바 소스 코드 입력
6. Run > Run Project (F6)





자바 기본 입출력


1. 표준 출력

프로그램 목적: 외부 데이터 입력 -> 내부적인 가공(연산) -> 결과 출력


표준 출력 스트림인 System.out 필드 -> PrintStream 자료형 반환

PrintStream 클래스의 하위 메소드인 println() 메소드 이용해서 데이터 출력.


예를 들어서,

System.out.println("메세지");

System.out.println(123);


-- 첫글자가 대문자인 단어는 클래스

-- 모든글자가 소문자인 단어는 키워드

-- 데이터 타입형은 클래스도 있고, 키워드도 있고....



println()과 printf()메소드를 자주 사용.

-- ln은 자동줄바꿈.

-- f는 포맷의 의미로 결과 출력시 서식과 함께 출력하고 줄바꿈을 자동으로 하지 않음.


System.out.printf("%s %n","메세지"); -- %s 는 문자 %d 는 숫자 라는 데이터의 서식을 지정

System.out.printf("%d %n",123);      -- %n 은 줄내림



//서식 지정의 예

public class Test05 {


    public static void main(String[] args) {

        System.out.println("hello, java world!");

        

        System.out.printf("%s %n","Hello, Java World!");

        System.out.printf("%s %s %s %n", "Kim", "Hyun", "Wook"); // 서식수에 맞추어 데이터수도 동일하게 

        

        System.out.printf("%d + %d = %d %n", 10, 20, (10+20)); // (x, ....) 안에 x에서는 데이터타입과 함께 화면에

                                                                                     // 그대로 출력할 내용도 함께 직접 쓸수 있음.

        System.out.printf("%d - %d = %d %n", 10, 20, (10-20));

        System.out.printf("%d * %d = %d %n", 10, 20, (10*20));

        System.out.printf("%d / %d = %d %n", 10, 20, (10/20)); // 연산결과가 0이 나오게 됨

        System.out.printf("%d / %.1f = %.1f %n", 10, 20.0, (10/20.0)); // 연산결과가 0.5가 나오게 됨.

    }

}


//결과

hello, java world!

Hello, Java World! 

Kim Hyun Wook 

10 + 20 = 30 

10 - 20 = -10 

10 * 20 = 200 

10 / 20 = 0 

10 / 20.0 = 0.5 




2. 자료형

-> 컴퓨터 내부에서 자료를 취급하는 방법.

-> 기본자료형과 참조형으로 나눈다.


▶ 기본 자료형은 크기가 고정적이고, stack 메모리에서 관리된다. 또한, 요청시 바로 데이터를 받을 수 있다.

- 기본자료형 - 정수형: byte, short, int, long (대표는 int)

                - 실수형: float, double (대표는 double)

- 논리형: boolean

- 문자형: char


-> 문자열은 String 클래스 자료형이다. 문자열은 "ABC"



▶ 참조형은 크기가 가변적이고, heap 메모리에서 관리된다. 또한, 요청시 데이터를 바로 받는 것이 아니라 참조값을 받게된다. 참조값은 실제 데이터를 찾을 수 있는 주소값이다.

- 참조형(가변형) - 배열 참조형

- 클래스 참조형: System, Object, String

- 인터페이스 참조형


메모리형식

Stack: 데이터를 바로 가져올수 있음.(복사의 개념. 원본은 남음). 기본자료형이 저장되는 공간

Heap: 데이터를 바로 가져올수 없으나, 가상의 값(참조값)을 가져올수 있다.(복사의 개념. 원본은 남음) 참조형이 저장되는 공간




3. 표준 입력

-> 키보드로부터 문자열(String 클래스 자료형)(enter를 입력할때까지 입력되는 문자들)을 입력 받을 때 사용

// String strData;    ->   strData로 선언된 변수에 대한 자료형 정의 구문

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String strData = br.readLine();  // 최상단 String strData; 구문을 없애고 strData 변수 앞에 String으로 써줘도 오케이


즉, 자료형 변수 = 데이터;

자료형 변수 = 외부 데이터 입력 구문;

자료형 변수;

변수 = 데이터;

동일하다는 의미임.


-> 변수의 자료형과 데이터의 자료형은 정확하게 일치하는 것이 권장하는 방법.

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader; // import java.io.*; 로 세줄을 하나로 처리할 수 있다.

클래스 선언{

public static void main (String [] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String 변수명 = br.readline();

프로그램 코딩소스~~~ 

.....

}

}


◆ 형광색 부분의 의미 

입력데이터를 받기위해(readline()) 항상 같이 사용해야는 부분으로, 

반드시 import와 throws 구문이 필요함.




//입력부터 처리, 출력 과정을 같이 실행하는 예   //Test06.java

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class Test06 {

    public static void main(String [] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("이름:");

        String strData = br.readLine();

        

        //처리

        String message = String.format("당신의 이름은 %s입니다.", strData);

        

        //출력

        System.out.println(message);

                

    }

}



//결과

이름:kimhw

당신의 이름은 kimhw입니다.






잘못된 산술연산의 예

import java.io.*;


public class Test07 {

    public static void main(String [] args) throws IOException {

       

        //입력

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("국어:");

        String kor = br.readLine();

        

        System.out.print("영어:");

        String eng = br.readLine();

        

        System.out.print("수학:");

        String mat = br.readLine();

                

        //처리

        //총점=국어+영어+수학;

        String tot = kor + eng + mat ;

        

        //출력

        System.out.printf("입력된 데이터는 %s, %s, %s입니다.%n", kor, eng, mat);

        System.out.printf("총점은 %s 입니다.%n", tot);        

        

        

    }

}



//결과

국어:100

영어:90

수학:80

입력된 데이터는 100, 90, 80입니다.

총점은 1009080 입니다.


원인.

변수인 kor, eng, mat의 자료형은 String인 상대에서 + 산술이 이루어 졌기 때문에 "100", "90", "80"으로 컴퓨터가 인식하여

위와 같은 결과가 출력된 것이므로, Integer.parseInt(변수명) 을 통해 int 형으로 변환하여 처리해야 한다.



Integer.parseInt("숫자모양");

>> 스트링형인 것을 숫자로 형변환 시킬수 있음





입력된 숫자 데이터를 형변환하여 숫자로 바꾸는 과정(올바른 산술연산의 예)

-> 외부에서 입력된 데이터는 모두 자료형이 문자열형(String)이므로 필요시 숫자(int)로 변환하려면 Integer.parseInt()메소드를 이용해야 한다.


import java.io.*;


public class Test08 {

    public static void main(String [] args) throws IOException {

                        

        //입력

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("국어:");

        String kor = br.readLine();

        

        System.out.print("영어:");

        String eng = br.readLine();

        

        System.out.print("수학:");

        String mat = br.readLine();

                

        //처리

        //총점=국어+영어+수학;

        

        int tot = Integer.parseInt(kor) + Integer.parseInt(eng) + Integer.parseInt(mat);      

        

        

        //출력

        System.out.printf("입력된 데이터는 %s, %s, %s입니다.%n", kor, eng, mat);

        System.out.printf("총점은 %d 입니다.%n", tot);

                

    }

}




//결과

국어:100

영어:90

수학:80

입력된 데이터는 100, 90, 80입니다.

총점은 270 입니다.






문제) Test08 소스에서 평균 계산해서 출력하는 과정 추가






문제) 현재 원-달러 환율은 1달러에 1119원입니다.

특정 달러 금액을 입력하면 원화금액을 출력하는 프로그램 작성


실행 예)

달러 금액? 10

10 달러 -> 11190원





WRITTEN BY
빨강꼬마

,