반응형

안녕들 하시죠 !

이번시간에는 프로그래머스 Level2에 있는 '가장 큰 수' (정렬) 문제를 풀어보겠습니다.

 

문제

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.

예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.

0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.

제한 사항

  • numbers의 길이는 1 이상 100,000 이하입니다.
  • numbers의 원소는 0 이상 1,000 이하입니다.
  • 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.

입출력 예                                                      

numbers return
[6, 10, 2] 6210
[3, 30, 34, 5, 9] 9534330

 

코드설명

- 숫자를 String 형으로 변환

1
2
3
4
5
6
7
// 숫자를 String 문자형으로 바꾸기 위해 strNumbers 라는 String형 배열 준비.
String[] strNumbers = new String[numbers.length]; 
 
// String형 배열 strNumbers에 valueOf 메소드를 사용해 숫자를 문자로 바꿔 저장.  
for (int i = 0; i < numbers.length; i++) {
    strNumbers[i] = String.valueOf(numbers[i]);
cs

* valueOf() 메소드

인자에 들어있는 객체를 String 객체로 형 변환시켜주는 메소드.

1
2
3
4
String number = "1234567890"
String sNumbers = String.valueOf(number);
String tbool = String.valueOf(true);
String fbool = String.valueOf(false);
cs

 

- Arrays API를 사용해 정렬

1
2
3
4
5
6
7
8
9
// 컬렉션 프레임워크 Arrays 클래스의 sort 메소드사용.
// Comparator 메서드를 사용해 객체간의 특정한 정렬을 한다.
// compare() 메서드를 오버라이딩해서 숫자간 비교.
Arrays.sort(strNumbers, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
    return (o2 + o1).compareTo(o1 + o2);
    }
});
cs

 

- 예외 처리

1
2
3
4
// 맨 처음 문자가 0이면 0반환
if (strNumbers[0].equals("0")) {
    return "0";
}
cs

- 순차적으로 저장 후 return

1
2
3
4
5
6
// String strNumber에 순차적으로 저장해 answer로 return 
String answer = "";
for (String strNumber : strNumbers) {
    answer += strNumber;
}
return answer;
cs

 

 

전체 코드
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
38
39
40
41
42
43
44
45
46
47
import java.util.Arrays;
import java.util.Comparator;
 
public class Solution {
 
    public String solution(int[] numbers) {
        // 숫자를 String 문자형으로 바꾸기 위해 strNumbers 라는 String형 배열 준비.
        String[] strNumbers = new String[numbers.length];
 
        // String형 배열 strNumbers에 valueOf 메소드를 사용해 숫자를 문자로 바꿔 저장.
        for (int i = 0; i < numbers.length; i++) {
            strNumbers[i] = String.valueOf(numbers[i]);
        }
 
        // 컬렉션 프레임워크 Arrays 클래스의 sort 메소드사용.
        // Comparator 메서드를 사용해 객체간의 특정한 정렬을 한다.
        // compare() 메서드를 오버라이딩해서 숫자간 비교.
        Arrays.sort(strNumbers, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return (o2 + o1).compareTo(o1 + o2);
            }
        });
 
        // 맨 처음 문자가 0이면 0반환
        if (strNumbers[0].equals("0")) {
            return "0";
        }
 
        // String strNumber에 순차적으로 저장해 answer로 return
        String answer = "";
        for (String strNumber : strNumbers) {
            answer += strNumber;
        }
 
        return answer;
 
    }
 
    public static void main(String[] args) {
        Solution s = new Solution();
        int number[] = { 6102 };
        int number2[] = { 3303459 };
        System.out.println(s.solution(number));
        System.out.println(s.solution(number2));
    }
}
cs

 

오늘은 여기까지입니다 감사합니다.

'Java' 카테고리의 다른 글

Java의 Math 클래스  (0) 2019.05.17
Java의 문자열 분리 (StringTokenizer)  (0) 2019.05.16
Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
반응형

안녕들 하시죠!

이번시간에는 Java의 Math 클래스에 대해 알아보겠습니다.

 

Math 클래스

 

기본적인 산술 연산을 제공하는 클래스로서 java.lang 패키지에 속해있다.

 

Math 클래스의 주요 메소드

 

static double abs(double a) - 실수 a의 절대값 리턴

1
2
double a = -10.2;
System.out.println(Math.abs(a));
cs

 

 

static double exp(double n) - 자연로그 밑(2.718281828459045)의 n승 값 리턴 (eⁿ)

1
2
double n = 3;
System.out.println(Math.exp(n));
cs

 

 

static ceil(double a) - 실수 a보다 크거나 같은 수 중에서 가장 작은 정수를 실수형으로 리턴

1
2
double a = 10.2;
System.out.println(Math.ceil(a));
cs

 

 

static double floor(double a) - 실수 a보다 작거나 같은 수 중에서 가장 큰 정수를 실수 타입으로 리턴

1
2
double a = 10.3;
System.out.println(Math.floor(a));
cs

 

 

 

 

static double max(double a, double b) - a,b 중 큰 수 리턴

static double min(double a, double b) - a,b 중 작은 수 리턴

1
2
3
4
double a = 10.3;
double b = 13.3;
System.out.println("큰 수는 : " + Math.max(a,b));
System.out.println("작은 수는 : " + Math.min(a,b));
cs

 

 

static long round(double a) - 실수 a를 소수 첫째 자리에서 반올림한 정수를 long 타입으로 리턴

1
2
double a = 10.6;
System.out.println(Math.round(a));
cs

 

 

static double sqrt(double a) - 실수 a의 제곱근 리턴

1
2
double a = 9;
System.out.println(Math.sqrt(a));
cs

 

 

static double random() - 0.0 ~ 1.0 사이 임의의 double값을 리턴한다

1
2
3
4
5
double a = Math.random();
System.out.println(a);
 
int b = (int) (Math.random() * 10 + 1);
System.out.println(b);
cs

변수 b는 0.0 ~ 9.999... 사이의 실수이다.

여기에 +1을 하면 1.0 ~ 10.999... 사이의 실수가 되고 (int)로 강제 형 변환을 해주면 1~10 사이의 정수가 된다.

 

 

java.util.Random 클래스를 이용한 난수 생성

1
2
3
4
5
6
Random random = new Random();
int a = random.nextInt(); // 자바의 정수 범위 (-2^31 ~ 2^31-1)의 난수 발생
System.out.println(a);
 
int b = random.nextInt(101); // 1~100 사이의 정수 난수 발생
System.out.println(b);
cs

 

 

오늘은 여기까지입니다 감사합니다!

'Java' 카테고리의 다른 글

Java) 가장 큰 수 ( 정렬 )  (0) 2019.10.02
Java의 문자열 분리 (StringTokenizer)  (0) 2019.05.16
Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
반응형

안녕들 하시죠 !

이번시간에는 StringTokenizer를 이용한 문자열 분리에 대해 알아보겠습니다.

 

StringTokenizer

 

java.util 패키지에 속해 있으며, 하나의 문자열을 여러 개의 문자열로 분리하기 위해 사용한다.

문자열을 분리하기 위해 사용되는 기준 문자를 구분 문자 라고 한다.

구분 문자로 분리된 문자열을 토큰이라고 한다.

 

StringTokenizer 클래스의 주요 메소드

 

메소드 설명
int countTokens() 분리한 토큰의 개수
boolean hasMoreTokens() 토큰이 존재하면 True 리턴
String nextToken() 존재하는 토큰 리턴

 

 

 

countTokens(), nextToken 사용 예)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.StringTokenizer;
 
public class stringEx {
 
    public static void main(String[] args) {
 
        String a = "성=hong&이름=possible&키=큼";
        StringTokenizer st = new StringTokenizer(a, "&"); // '&'는 구분문자
 
        int count = st.countTokens(); // 구분 문자(&)로 구분된 문자열(토큰)의 개수를 count
        System.out.println("토큰의 개수는 :" + count);
 
        for (int i = 0; i < count; i++) {
            String token = st.nextToken(); // 각 토큰 출력
            System.out.println(token);
        }
    }
}
cs

 

 

hasMoreTokens() 사용 예)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.StringTokenizer;
 
public class stringEx {
 
    public static void main(String[] args) {
 
        String a = "성=hong&이름=possible&키=큼";
        StringTokenizer st = new StringTokenizer(a, "&"); // '&'는 구분문자
 
        while (st.hasMoreTokens()) { // 토큰이 존재하지 않을 때 루프 탈출
            System.out.println(st.nextToken());
        }
    }
}
cs

 

 

오늘은 여기까지입니다 감사합니다 !

참고서적 황기태,김효수 「명품 JAVA Programming」

'Java' 카테고리의 다른 글

Java) 가장 큰 수 ( 정렬 )  (0) 2019.10.02
Java의 Math 클래스  (0) 2019.05.17
Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
반응형

안녕들 하시죠!

이번시간에는 Java의 equals 메소드에 대해 알아보겠습니다.

 

ㆍ boolean equals(Object obj)

 

equals 메소드는 인자로 건네진 obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true를 리턴한다.

java.lang 패키지의 Object 클래스에 속해있는 메소드이다.

 

 우리가 흔히 알고있는 == 연산자와 equals는 어떻게 다를까?

 

==은 비교 연산자로서 두 개의 피연산자를 비교하여 true 또는 false의 논리 값을 내는 연산자 입니다.

 

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
 
    int a = 5;
    int b = 7;
        
    if (a == b) {
        System.out.println("true");
    } else {
        System.out.println("false");
    }
}
cs

 

위의 코드에서 보면 변수 a,b에 있는 값을 비교하여 논리 값을 내는 연산자입니다.

 

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
public class numberEx {
    int x;
    int y;
 
    public numberEx(int x, int y) {
        this.x = x;
        this.y = y;
    }
 
    public static void main(String[] args) {
 
        numberEx a = new numberEx(12);
        numberEx b = new numberEx(12);
        numberEx c = a;
        
        if (a == b) {
            System.out.println("a==b // true");
        }
        if (a.equals(b)) {
            System.out.println("a.euqals(b) // true");
        }
        if (a.equals(c)) {
            System.out.println("a.equals(c) // true");
        }
        if (a == c) {
            System.out.println("a==c // true");
        }
    }
}
cs

 

위에있는 코드에선 numberEx의 객체 2개를 생성하고 레퍼런스 a와 b는 이들을 각각 가리킵니다.

 

a와 b의 레퍼런스 값이 다르기 때문에 a == b의 결과값은 false입니다.

c에는 a의 레퍼런스가 대입되었기 때문에, a == c의 결과는 true입니다.

 

이것으로 보아 == 연산자는 두 레퍼런스가 동일한 객체를 가리키는지 비교한다는 것을 알 수 있습니다.

 

 

ㆍ String 클래스의 객체비교

 

1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
 
    String a = new String("hongpossible");        
    String b = new String("hongpossible");
        
    if(a==b) {
        System.out.println("a==b");
    }
    if(a.equals(b)){
        System.out.println("a.equals(b) // true");
    }
}
cs

 

 

위에있는 코드를 보시면 a와 b는 다른 객체를 가리키고 있으므로 a==b의 결과는 false입니다.

a와 b가 다른 객체를 가리키고 있지만 a.equals(b) 가 true가 나온것은,

 

java.lang에 속한 Object 클래스의 equals(Object object) 메소드는 obj와 this(자기자신)의 레퍼런스를 ==로 단순 비교하여 결과를 리턴하도록 만들어져 있으며, 내용에 대해서는 비교하지 않습니다.

하지만, String클래스는 두 문자열이 같은지를 비교하도록 equals() 메소드를 오버라이딩하여 가지고 있습니다. 

 

ㆍ equals() 오버라이딩

 

참고서적의 예제를 통해 알아보겠습니다.

 

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
public class Rect {
    int width;
    int height;
 
    public Rect(int width, int height) {
        this.width = width;
        this.height = height;
    }
 
    public boolean equals(Object obj) { // equals 오버라이딩
        Rect r = (Rect) obj;
        if (width * height == r.width * r.height) {
            return true;
        } else {
            return false;
        }
    }
 
    public static void main(String[] args) {
        Rect a = new Rect(1020);
        Rect b = new Rect(2010);
        Rect c = new Rect(3040);
 
        if (a.equals(b)) {
            System.out.println("a와 b의 면적은 같다.");
        }
        if (b.equals(c)) {
            System.out.println("b와 c의 면적은 같다.");
        }
        if (a.equals(c)) {
            System.out.println("a와 c의 면적은 같다.");
        }
    }
}
cs

 

위의 예제와 같이 작성자가 재정의하여 사용 가능합니다.

 

아래는 백준 스택 문제를 풀며 equals를 사용한 제 블로그 자료입니다.

 

2019/05/10 - [백준 .Java] - 백준 10828번 (스택)

 

백준 10828번 (스택)

안녕들 하시죠! 이번시간에는 백준 10828번 스택 문제를 풀어보겠습니다. 스택 이란? 제일 먼저 입력된 데이터가 맨 아래에 쌓이고 가장 최근에 입력된 데이터가 가장 위에 쌓이는 후입 선출(LIFO : Last-in Fir..

hongpossible.tistory.com

 

오늘은 여기까지입니다 감사합니다 !

 

참고서적 황기태,김효수 「명품 JAVA Programming」

'Java' 카테고리의 다른 글

Java의 Math 클래스  (0) 2019.05.17
Java의 문자열 분리 (StringTokenizer)  (0) 2019.05.16
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
Java의 length필드 사용법  (1) 2019.04.29
반응형

안녕들 하시죠 !

이번시간에는 Java의 추상 클래스에대해 알아보겠습니다.

 

추상 클래스란?

서브 클래스가 구현할 메소드를 명료하게 알려주는 인터페이스 역할.

추상 클래스를 책의 목차에 비유할 수 있고, 서브 클래스는 목차에 따라 작성된 책이라고 표현할 수 있다.

서브 클래스에서 추상 메소드를 목적에 맞게 구현하여 다형성을 실현할 수 있다.

코드를 구현하는 클래스가 아니라 단순히 껍데기만 있는 클래스이다.

 

 

추상 클래스 Language를 상속받아 서브 클래스에서 오버라이딩하여 구현한 모습

 

주의할 점

 

* 추상 클래스는 객체를 생성할 수 없다.

 

* 추상 메소드를 가지고 있으면 반드시 추상 클래스로 선언되어야 한다.

 

* 서브 클래스에서 추상 클래스에 선언된 추상 메소드를 모두 구현해야 한다. 

 

 

 

참고서적의 간단한 예제를 풀어보겠습니다.

 

다음 추상 클래스 Calculator를 상속받은 GoodCalc 클래스를 구현하라.

 

1
2
3
4
5
abstract public class Calculator {
    public abstract int add(int a, int b); // 두 정수의 합을 구하여 리턴
    public abstract int substract(int a, int b); // 두 정수의 차를 구하여 리턴
    public abstract double average(int[] a); // 배열에 저장된 정수의 평균 리턴
}
cs

 

추상 클래스인 Calculator는 add(), subtract(), average() 메소드를 추상 메소드로 선언하였을 뿐 어떻게 구현할지는 지시하지 않는다.

어떤 인자가 전달되고 어떤 타입의 값이 리턴되는지만 지정할 뿐이다.

 

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
public class GoodCalc extends Calculator {
    
    @Override
    public int add(int a, int b) {
        return a + b;
    }
 
    @Override
    public int subtract(int a, int b) {
        return a - b;
    }
 
    @Override
    public double average(int[] a) {
        double sum = 0;
        for (int i = 0; i < a.length; i++) {
            sum += a[i];    
        }
        return sum/a.length;
    }
    
    public static void main(String[] args) {
        GoodCalc c = new GoodCalc();
        System.out.println(c.add(23));
        System.out.println(c.subtract(23));
        System.out.println(c.average(new int[] {2,3,4}));
    }    
}
cs

 

추상 클래스 Calculator를 상속받은 서브 클래스 GoodCalc에서 추상 메소드인 add(), subtract(), average()를 구현했습니다.

 

오늘은 여기까지입니다 감사합니다 !

 

 

참고서적 황기태,김효수 「명품 JAVA Programming」

'Java' 카테고리의 다른 글

Java의 문자열 분리 (StringTokenizer)  (0) 2019.05.16
Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 생성자  (0) 2019.04.29
Java의 length필드 사용법  (1) 2019.04.29
Java의 변수와 데이터타입 (Data type)  (0) 2019.04.21
반응형

안녕들 하시죠!

이번시간에는 Java의 생성자에 대해 알아보겠습니다.

 

생성자란?

객체가 생성될 때 자동으로 호출되는 메소드로써 객체의 초기화를 위해 실행된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
class Rectangle {
    int width;
    int height;
 
    public Rectangle() { // 매개변수 없는 생성자
        width = 1// 필드 초기화
    }
 
    public double getArea() { // 사각형의 면적 계산 메소드
        return width * height;
    }
}
cs

 

위의 코드에서는 Rectangle (사각형)이라는 클래스를 생성해 너비(width)와 높이(height) 필드를 생성했습니다.

그 밑에 public Rectangle() 이라는 생성자를 만들어 너비 필드를 1로 초기화했습니다.

double 형의 getArea() 메소드는 너비와 높이의 곱을 반환해 면적을 계산하는 역할을 합니다.

 

1
2
3
4
5
6
7
8
9
10
public class hello {
    public static void main(String[] args) {
 
        Rectangle rec = new Rectangle(); // Rectangle 객체 생성
        rec.height = 20// 높이를 20으로 초기화
        double area = rec.getArea(); // 면적을 계산하여 area 
        System.out.println(area); // 면적 출력
 
    }
}
cs

 

main문입니다.

객체 생성 후 width 값은 1로 초기화되어있는 것을 그대로 사용하고 height 값을 20으로 초기화하여 사용하는 부분입니다.

 

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
import java.util.Scanner;
 
class Rectangle {
    int width;
    int height;
 
    public Rectangle() { // 매개변수 없는 생성자
        width = 1// 필드 초기화
    }
 
    public Rectangle(int r, int n) { // 매개 변수를 가진 생성자
        width = r; height = n; // 매개 변수로 필드 초기화
    }
    
    public double getArea() { // 사각형의 면적 계산 메소드
        return width * height;
    }
}
 
public class hello {
    public static void main(String[] args) {
 
        Rectangle Rrec = new Rectangle(510); // 객체 생성. r에 5를 n에 10을 넣어 초기화.
        double area = Rrec.getArea();
        System.out.println(area);
 
    }
}
cs

 

11번 라인을 보시면 매개변수에 int형 r과 n을 넣었습니다.

main문에서 객체를 생성하고 초기화 할때 그 값을 지정해줄 수 있습니다.

또한, 이러한 경우에 매개변수 없는 기본 생성자를 지우게 된다면 컴파일러가 기본 생성자를 생성하기 때문에 문제는 없습니다.

 

주의할 점

* 생성자의 이름은 클래스 이름과 동일하다.

 

* 생성자의 목적은 객체가 생성될 때, 필요한 초기 작업을 위함이다.

 

* 생성자에 리턴 타입을 지정할 수 없다. 리턴값이 없다고 해서, void를 리턴 타입으로 지정해도 안된다.

 

* 생성자는 new를 통해 객체를 생성할 때 한번만 호출된다.

 

* 생성자는 여러 개 작성(오버로딩) 할 수 있다.

  매개변수의 개수와 타입만 다르다면, 클래스 내의 생성자를 여러 개 둘 수 있다.

  ex) public Rectangle()

       public Rectangle(int r, int n)

 

참고서적 황기태,김효수 「명품 JAVA Programming」

'Java' 카테고리의 다른 글

Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 length필드 사용법  (1) 2019.04.29
Java의 변수와 데이터타입 (Data type)  (0) 2019.04.21
JDK & Eclipse 설치  (0) 2019.04.21
반응형

 

안녕들 하시죠!

이번시간에는 Java의 length필드 사용법에 대해 알아보겠습니다.

 

자바에서 length 필드란 배열의 저장 공간과 합계 배열의 크기 값을 가진 공간입니다.

1
int LArray[] = new int[4];
cs

위의 그림과 같이 배열 4개를 생성한 후, 배열의 크기를 알아보기위해 length 필드를 사용합니다.

1
int ArraySize = LArray.length;
cs

ArraySize 변수에 LArray 배열의 크기를 넣어 출력해보면 배열의 크기 (4)가 출력되게됩니다.

 

이러한 length 필드는 배열의 크기만큼 반복할때 유용합니다.

예를들어 배열 크기만큼 정수를 입력받고 합을 구하는 프로그램을 살펴보겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
public class hello {
    public static void main(String[] args) {
    
        int LArray[] = new int[4]; // 배열 선언과 생성
        int sum = 0// 합계를 저장할 변수
        Scanner sc = new Scanner(System.in);
 
        System.out.println(LArray.length + " 개의 정수를 입력하시오 >> ");
 
        for (int i = 0; i < LArray.length; i++) {
            LArray[i] = sc.nextInt(); // 입력받은 값을 배열에 순서대로 저장
            sum += LArray[i]; // 배열에 저장된 값을 sum 변수에 저장
        }
 
        System.out.println("합계는 = " + sum);
    }
}
cs

위의 예제를 통해 for문의 반복에 length 필드를 이용하면 배열의 크기를 몰라도 된다는 것을 알 수 있습니다.

오늘은 여기까지입니다 감사합니다 !

 

 

참고서적 황기태,김효수 「명품 JAVA Programming」

 

'Java' 카테고리의 다른 글

Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
Java의 변수와 데이터타입 (Data type)  (0) 2019.04.21
JDK & Eclipse 설치  (0) 2019.04.21
반응형

안녕들 하시죠 !

이번시간에는 Java의 변수와 데이터 타입에 대해 알아보겠습니다.

 

 

변수란?

 

데이터를 저장하는 공간.

프로그램이 실행 중에 값을 쓰고 읽는 공간으로 사용함.

 

변수의 선언

 

1
2
3
int Number = 400// int 형 Number변수에 400 저장.
char Name1 = 'hong', Name2 = 'possible'// 2개의 문자 변수 Name1, Name2 선언과 동시에 초깃값 지정.
double height = '190.5'// 실수형 double변수에 실수 190.5 저장.
cs

 

int 데이터 타입의 Number 이라는 박스를 만든다고 생각하면 편합니다.

Number에는 정수형 데이터만 담을 수 있기때문에 실수인 10.8같은 경우에는 담을 수 없습니다.

 

 

Java의 기본 타입

 

정수 타입 int 4바이트 -2^31 ~ 2^31-1
short 2바이트 -32768 ~ 32767
long 8바이트 -2^63 ~ 2^63-1
byte 1바이트 -128 ~ 127
실수 타입 float 4바이트 -3.4E38 ~ 3.4E38
double 8바이트 -1.7E308 ~ 1.7E308
문자 타입 char 2바이트 Unicode
논리 타입 boolean 1비트 true or false

 

 

참고서적 황기태,김효수 「명품 JAVA Programming」

 

'Java' 카테고리의 다른 글

Java의 == 연산자와 equals 메소드  (0) 2019.05.13
Java의 추상 클래스  (0) 2019.05.11
Java의 생성자  (0) 2019.04.29
Java의 length필드 사용법  (1) 2019.04.29
JDK & Eclipse 설치  (0) 2019.04.21

+ Recent posts