[ Scanner 문자열 입력에 대해 알아보기 ]


Q. Scanner란?

 - 입력받은 문자열을 읽고 처리하기 위해서 사용되어지는 클래스입니다.

 - 이 클래스는 다양한 타입의 입력 값들을 읽어들일 수 있어 편하게 사용할 수 있습니다.

 - Scanner클래스를 사용하기 위해서는 java,util.Scanner를 import해주어야 합니다.


Q. 문자열 출력, 입력 방법?

 - 문자열을 출력하는 방법으로는 System.out.print(); 을 사용합니다.

 - 문자열을 입력받는 방법으로는 Scanner 클래스 생성 시에 System.in을 사용합니다.


[ Scanner 문자열 예제 ]

 - 여러번의 입력을 받아 그 값을 Console에 출력하는 예제입니다.

 - while문을 true로 설정하여 계속 입력을 받도록 선언하였습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class ScannerEample {
    
    public static void main(String[] args) {
        
        // 문자열 입력을 위해 Scanner 생성
        Scanner sc = new Scanner(System.in);
        
        // 입력 값 저장을 위해 String 2차원 배열 선언
        String[][] stringArr = new String[10][];
        // 입력받은 값을 담을 String 배열 선언
        String[] scannerArr = new String[3];
        
        // 배열 카운트 선언
        int scCnt = 1;
        
        while(true) { // 계속 입력을 받기 위해 true로 설정
            
            System.out.println("첫번째 값을 입력하세요 = >");
            scannerArr[0= sc.next(); // 첫번째 입력
            
            System.out.println("두번째 값을 입력하세요 = >");
            scannerArr[1= sc.next(); // 두번째 입력
            
            System.out.println("세번째 값을 입력하세요 = >");
            scannerArr[2= sc.next(); // 세번째 입력
            
            stringArr[scCnt] = scannerArr; // 입력 받은 배열 값을 2차원 배열에 저장
            
            for(int i = 0; i < stringArr.length; i++) { // 입력된 값의 순서와 내용을 출력
                System.out.println(scCnt + "순서로 입력된 값의 " + i + "번째 내용 = > " +  stringArr[scCnt][i].toString());
            }
            scCnt++;
        }
    }
}
cs


[ 예제 결과 ]

 - 띄워쓰기는 불가합니다.

 - 반복문을 종료하기 위해서는 break문을 추가해 주시길 바랍니다.


 - 참고 문헌 : Head First JAVA

 - 참고 사이트 : http://hyeonstorage.tistory.com/136


'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 2 (배열 복사)  (0) 2016.08.29
[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18

[ JAVA의 배열에 대해서 알아보기 ]


Q. 배열은 왜 사용하는가?


 - 같은 종류의 데이터의 묶음이 필요할 때 사용하며, 많은 양의 데이터를 저장하고 관리할 때 유용하기에 사용이 됩니다.


Q. 배열의 특징과 장/단점?


 - 둘 이상의 변수를 선언할 때 유용합니다.

 - 많은 양의 데이터를 일괄적으로 저장하거나 관리할 때 유용합니다.

 - 1차원뿐만이 아닌 다차원 배열로도 사용이 가능합니다.

 - 배열의 가장 큰 단점으로는 배열 크기를 미리 지정해줘야하는 단점이 있습니다.

 - 또 다른 단점으로는 같은 데이터 타입을 사용해야 한다는 단점 등을 꼽을 수 있습니다.


[ JAVA 배열 예제 ]

 - 2차원 배열을 이용해 각 항목 값을 순차적으로 저장하고 해당 값을 반복문을 이용 Console창에 보여지는 예제입니다.

 - 평균을 나누기 위해 float으로 캐스팅을 사용했습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class ArrayExample {
    
    public static void main(String[] args) 
    {
          int[][] score = {{ 8590100 }, { 204080 }, { 303030 }, { 406040 }, { 905010 }};  // int형 배열 선언
          
          // 각 항목의 총합을 위한 값 초기화
          int koreanTotal = 0
          int englishTotal = 0
          int mathTotal = 0
 
          System.out.println("번호 국어 영어 수학 총점 평균"); 
          System.out.println("============================="); 
 
          for(int i=0; i < score.length; i++) { 
 
                // 총점의 총합을 위한 값 초기화
                int sum=0
                
                koreanTotal += score[i][0]; 
                englishTotal += score[i][1]; 
                mathTotal += score[i][2]; 
                
                System.out.print((i + 1+ "번 : "); 
                
                for(int j=0; j < score[i].length; j++) { 
                      sum += score[i][j]; 
                      System.out.print(score[i][j] + " "); 
                }
                
                // 평균 값을 구하기 위해 나눌 때 float으로 캐스팅.
                System.out.println(sum + " " + sum / (float)score[i].length); 
          } 
          System.out.println("============================="); 
          System.out.println("총점 : 국어 = > " + koreanTotal + " 영어 = > " + englishTotal + " 수학 = > " + mathTotal); 
    } 
}
cs



[ 예제 결과 ]

 - 값의 정렬은 배제하였습니다.



 - 참고 문헌 : Head First JAVA

 - 참고 사이트 : http://alecture.blogspot.kr/2011/04/array.html 

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

[ JAVA의 데이터 타입의 종류에 대해서 알아보기 ]


1. 기본 자료형 (Primitive Data Type)


 - 논리형 : boolean ( true / false) 기본 값은 false.


 - 정수형

 ① byte : 1byte (-128 ~ 127) 배열이나 데이터 전송에 주로 사용.

 ② char : 2byte (0 ~ 65535) ('A') 문자 한개를 저장하는 데이터 형.

 ③ short : 2byte (-32768 ~ 32767) 다른 언어의 int 자료형과의 호환성을 위해 주로 사용.

 ④ int : 4byte (-2147483648 ~ 2147483647) 정수 값의 기본 자료형. 부호의 기본 값은 양수(+).

 ⑤ long : 8byte (-922경 ~ 922경) int자료형보다 큰 데이터를 저장할 때 사용. 초기화 할 때는 소문자 l이나 대문자 L을 붙여야 함. [long longVar = 111111L;]


 - 실수형

 ① float : 4byte 소수점을 표현할 때 사용. [float floatVar = 1.235f;] 대문자도 사용되어짐.

 ② double : 8byte float보다 큰 데이터를 저장할 때 사용.



2. 참조 자료형


 - 참조 자료형이란 클래스 형태의 데이터 타입을 말하는 것으로써 참조 자료형은 일반적으로 new또는 생성자로 값을 초기화하게 되어집니다.


 - String또한 참조 자료형에 포함되어지지만 특별히 new를 선언하지 않아도 되는 특별한 클래스 자료형입니다. 또한 참조자료형은 +처럼 부호를 붙일 수 없지만 String클래스에는 특별히 부호가 가능합니다.


 - 참조 자료형은 앞서 포스팅 된 Call by Value와 Call by Reference내용에서 보여지는 것처럼 참조 자료형은 참조되는 주소값을 전달하게 되어지는 특징이 있습니다.

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

[ Call by Value와 Call by Reference를 메소드 매개변수로 전달해보고 값 들의 변화를 확인해보기]


package kr.momento.first;


public class ReferenceCall {

public static void add(int intVar){ // add(int) Method

intVar = intVar + 1;

        System.out.println("add(int) 결과: " + intVar);

    }

public static void add(int[] intArr){ // add(int[]) Method

        System.out.print("add(int[]) 결과: ");

        for(int i=0; i< intArr.length; i++){

        intArr[i] = intArr[i] + 1;

            System.out.print(intArr[i] + " ");

        }

        System.out.println();

    }

public static void main(String[] args) {

 

        // 1. Call by Value : 값에 의한 호출

        System.out.println("1. Call by Value !");

        int a = 100;

        add(a);

        System.out.println("add(int) 호출후 값: " + a);

        System.out.println("---------------------");

        

        // 2. Call by Reference : 참조 주소 값에 의한 호출

        // 배열을 이용하여 호출 확인

        System.out.println("2. Call by Reference !");

        int [] array = {100, 200, 300};

        add(array);

        System.out.print("add(int[]) 호출후 값: ");

        for(int i=0; i< array.length; i++){

            System.out.print(array[i] + " ");

        }

        System.out.println();

        System.out.println("---------------------");

        

        // 3. reference(주소)가 아닌 그 Value(값)를 호출한 경우는 Call by Value

        System.out.println("3. Call by Test !");

        add(array[0]);

        System.out.println("add(int) 호출후 값: " + array[0]);

    }

}

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

[ JAVA에 대한 기본 개념 알아보기 ]


Q. JAVA를 왜 사용하는가?


A. JAVA는 C언어와 C++언어처럼 프로그래밍 언어의 한 종류이지만 몇 가지의 특징이 있기에 사용이 되어집니다. 가장 큰 특징으로는 기존에 언어들보다 조금은 다루기가 쉽다는 점, JVM을 이용한 멀티OS기능, 객체 지향이란 특징들이 대표적으로 꼽힙니다.


- 다루기 쉬운 언어 : C언어의 표기법과 별반 다를게 없는 언어지만, C언어의 포인터라는 개념처럼 세세한 부분까지 신경을 쓰지 않아도 되어 다루기가 쉽다는 이점이 있습니다.

- 객체 지향 : JAVA는 C++을 기반으로 개발된 언어로써 기능을 세분화하지 않고, 구성하는 주체(객체)를 정해 설계도(Class)에 맞춰 상태(field)와 동작(method)등으로 정의한 것을 말합니다. 고로 객체 지향이란 각각의 기능들을 쪼개어 분업하여 각자의 기능들을 조립하여 최종적인 결과물을 만든 다는 개념이라 할 수 있습니다.


Q. JVM(Java Virtual Machine)이란?


A. 기존의 프로그램은 Program - > OS - > Hardware 순으로 진행되는데 이는 Program과 대응이 되는 OS끼리에서만 실행된다는 점이 있었는데 JAVA는 Java Program - > JVM - > OS - > Hardware 순으로 진행이 되어 Java 가상 머신이라는 실행 환경만 있다면 가능하다는 이점이 있습니다. 물론 JRE(Jave Runtime Environment)라는 실행환경 프로그램이 필요합니다. JVM은 운영 체제와 기기에 독립적이라는 특징에 의해 어느 기기와 상관없이 Java 가상 머신만 존재한다면 Java 프로그램이 실행 가능 하다는 이점이 있습니다.


Q. GC(Garbage Collection)란?


A. 자바는 객체를 생성 할 때 주소 형식의 메모리가 힙(Heap)이란 영역에 할당이 되어 지는데 이를 동적 할당이라 하며, 동적 할당을 하고 나서 할당 값을 직접 해제 해줘야 하는 부분을 Garbage Collection기능으로 객체가 필요가 없다고 판단이 되면 직접 해제시켜주어 자동으로 메모리를 수거해 주는 기능을 말합니다. 자세한 내용을 알고 싶다면 아래 참고 사이트를 이용하시길 바랍니다.


- 참고 : http://d2.naver.com/helloworld/1329

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18

+ Recent posts