본문 바로가기
기타/JAVA

[JAVA 1학년] 2장

by 거북이 코딩 2023. 9. 4.

#2장 데이터와 변수

 

3. 계산을 해 보자

 

연산자 + - * / %
기능 덧셈 뺄셈 곱셉 나눗셈 나머지

정수로 쓰여진 식은 정수로 출력되기 때문에 실수를 연산하고 싶다면 소수점까지 표시해 주어야 합니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(1+2-3);
        System.out.println(4*5);
        System.out.println(5/2);
        System.out.println(5%2);
        System.out.println(5.0/2.0);
    }
}
0
20
2
1
2.5

 

4. 데이터의 종류

 

정수형

데이터형 int long short byte
범위 약 -21억~21억 약 -900경~900경 -32768~32767 -127~128

 

부동소수점형

데이터형 double float
범위 약 15자리 약 7자리

 

부울형

데이터형 boolean
범위 true, false

 

5. 데이터는  '상자'에 넣어 사용한다

 

데이터는 '변수'라는 상자에 넣어서 사용합니다. 변수를 만드려면 다음의 형식으로 선언을 해야합니다.

데이터형 변수명;

변수명의 첫글자는 알파벳 또는  _ 또는 $를 사용해야 합니다.

 

변수를 만들었다면 대입을 통해 변수에 데이터를 넣을 수 있습니다.

변수명 = 데이터;

 

변수를 선언함과 동시에 대입을 할 수 있습니다.

데이터형 변수명 = 데이터;

public class Main {
    public static void main(String[] args) {
        int a;
        a=10;
        int b = 20;
        System.out.println(a);
        System.out.println(b);
    }
}
10
20

 

long 데이터형과 float 데이터형은 대입 시 l과f를 붙여주어야 합니다.

public class Main {
    public static void main(String[] args) {
        long a = 123456789l;
        float b = 123.4567f;
        System.out.println(a);
        System.out.println(b);
    }
}
123456789
123.4567

 

복합 대입 연산자

연산자 += -= *= /= %=

a = a+1; 을 복합대입 연산자로 표현하면 a+=1;이 된다

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        a %= 3;
        b = b%3;
        System.out.println(a);
        System.out.println(b);
    }
}
1
1

 

증가와 감소

변수++; 하면 변수에 1을 더한다

변수--; 하면 변수에 -1을 더한다

public class Main {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        a++;
        b--;
        System.out.println(a);
        System.out.println(b);
    }
}
11
9

 

6. 문자열 조작을 배워보자

 

문자열 데이터형 String

String 변수명 = "내용";

public class Main {
    public static void main(String[] args) {
        String name = "시뇽준";
        System.out.println(name);
    }
}
시뇽준

 

문자열 연결하기

문자열+문자열

public class Main {
    public static void main(String[] args) {
        String name = "시뇽준";
        String nick = "똑똑한";
        System.out.println(nick+name);
    }
}
똑똑한시뇽준

 

문자열의 길이를 조사하기

문자열.length()

public class Main {
    public static void main(String[] args) {
        String name = "시뇽준";
        System.out.println(name.length());
    }
}
3

 

문자열의 위치

String hello = "안녕하세요";

0 1 2 3 4

 

문자열의 일부를 추출하기

문자열.substring(위치A) 범위:A부터 끝까지
문자열.substring(위치A,위치B) 범위:A부터 B 전까지

public class Main {
    public static void main(String[] args) {
        String hello = "안녕하세요";
        System.out.println(hello);
        System.out.println(hello.substring(0,2));
        System.out.println(hello.substring(2));
    }
}
안녕하세요
안녕
하세요

 

문자열 치환하기

문자열.replace(대상문자열, 바꿀문자열)

public class Main {
    public static void main(String[] args) {
        String name = "신용준입니다";
        name = name.replace("신용준", "시뇽준");
        System.out.println(name);
    }
}
시뇽준입니다

동일한 문자열이 있을 경우 동일한 모든 문자열이 치환된다

public class Main {
    public static void main(String[] args) {
        String name = "수박수박수박";
        name = name.replace("수박", "메론");
        System.out.println(name);
    }
}
메론메론메론

 

문자열과 수치 연결하기

문자열 + 수치

public class Main {
    public static void main(String[] args) {
        int a = 1000;
        String hello = "원 입니다";
        String full = a+hello;
        System.out.println(a+hello);
        System.out.println(full);
    }
}
1000원 입니다
1000원 입니다

 

7. 랜덤한 값을 만든다

 

우선 랜덤 기능을 불러와야 합니다

import java.util.Random;

 

랜덤용 변수를 만듭니다

Random 랜덤용변수 = new Random();

 

0부터 지정값 미만의 정수를 얻을 수 있습니다

랜덤용변수.nextInt(지정값)

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rnd = new Random();
        System.out.println(rnd.nextInt(100));
        System.out.println(rnd.nextInt(100));
        System.out.println(rnd.nextInt(100));
        System.out.println(rnd.nextInt(100));
    }
}
79
51
85
19

결과값은 다르겠지만 랜덤한 정수가 4번 출력 될 것입니다.

 

8. 데이터형을 변환한다

 

좁은변수 = (변환할 형) 넓은변수;

 

다음은 예시입니다

double형(표현범위가 넓은 변수)
int형 (표현범위가 좁은 변수)

public class Main {
    public static void main(String[] args) {
        double a = 123.456;
        int b = 789;
        b = (int)a;
        System.out.println(b);
    }
}
123

 

수치를 문자열로 변환하기

Integer.toString(int형 값);
Double.toString(double형 값);

public class Main {
    public static void main(String[] args) {
        double a = 123.456;
        int b = 789;
        String c = Double.toString(a);
        String d = Integer.toString(b);
        System.out.println(c+d);
    }
}
123.456789

 

문자열을 수치로 변환하기

Integer.parseInt(정수문자열);
Double.parseDouble(실수문자열);

public class Main {
    public static void main(String[] args) {
        String a = "1234";
        String b = "56.78";
        int c = Integer.parseInt(a);
        double d = Double.parseDouble(b);
        System.out.println(c+1);
        System.out.println(d+0.01);
    }
}
1235
56.79

 

9. 많은 데이터는 배열로 모은다

 

선언

형이름 [] 배열이름 = new 형이름[요소의 수];
형이름 배열이름 [] = new 형이름[요소의 수];

 

선언과 동시에 데이터 넣기
형이름 [] 배열이름 = {데이터1, 데이터2, 데이터3, ...};
형이름 배열이름 [] = {데이터1, 데이터2, 데이터3, ...};

 

배열 인덱스

int [] list = {1, 2, 3, 4};

인덱스 [0] [1] [2] [3]
데이터 1 2 3 4

인덱스는 [0]부터 시작이기 때문에 요소의수가 4라고해서 [4]를 불러오면 오류가 발생한다

 

배열 사용법

System.out.println(배열이름[인덱스]);

public class Main {
    public static void main(String[] args) {
        int [] list = new int[4];
        list[0]=1;
        list[1]=2;
        list[2]=3;
        list[3]=4;
        int [] list2 = {5, 6, 7, 8};
        System.out.println(list[3]);
        System.out.println(list2[3]);
    }
}
4
8

 

마무리

 

 아직 글을 쓰기 시작한지 얼마 안되서 글이 좀 두서없이 쓰여진것 같네요. 다음 글을 작성할 때에는 중간중간 코멘트도 열심히 달아보겠습니다 ^^

 

 2장은 1장에 비해 양이 조금 많지만 어려운 내용은 별로 없었습니다. 3장은 '프로그램의 기본'이라는 장인데 분량이 많아 글을 여러개로 쪼개서 작성하게 될 것 같습니다. 그리고 글을 다 작성하고 알았지만 티스토리에서는 코드블럭을 제공하더군요. 다음 글 부터는 코드블럭을 이용해서 글을 작성해 보겠습니다.