JAVA_왕 기초 개념!

  • 자바는 변수 선언 시 자료형을 미리 컴퓨터에서 알려야 한다.
int inum;
long lnum;

char c;
String str;

double dnum;
float fnum;
  • 다행히도 선언과 동시에 초기화도 가능하다.
    • 정수형의 기본 자료형은 int 이다.
      • int 범위를 넘어가는 크기의 숫자를 변수에 저장하기 위해서는 int가 아니라 long 자료형을 사용해야 한다.
      • long 자료형을 사용하여 변수에 값을 저장할 때는 값 뒤에 대문자로 ‘L’이라고 붙여야 컴퓨터가 식별 가능하다고 한다.
      • 소문자 ‘l’도 컴퓨터가 식별할 수는 있으나 숫자 1과 비슷하게 생겨서 대문자 ‘L’이라고 붙이는 것을 권장한다고 한다.
    • char 은 한 글자만 저장 가능하고 ‘작은 따옴표’로만 묶여 있어야 한다.
    • String 은 한 글자 이상 저장 가능하나 “큰 따옴표”로만 묶여 있어야 한다.
    • 소수형의 기본 자료형은 double 이다.
      • float 자료형을 사용하여 변수에 값을 저장할 때는 값 뒤에 소문자든 대문자든 ‘f’, ‘F’를 붙여서 컴퓨터가 식별 가능하게 해야 한다.
int inum = 10;
long lnum = 10L;

char c = 'c';
String str = "str";

double dnum = 3.14;
float dnum = 3.14f;
  • 파이썬과 다르게 나눗셈을 수행할 때 둘 다 정수이면 몫만 나온다.
    • 정확한 값을 얻기 위해서는 둘 중에 하나에 무조건 소수를 포함시켜 연산하게 해야 한다.
System.out.println(9 / 5);  // 1
System.out.println(9 / 5.0);  // 1.8
System.out.println(9.0 / 5);  // 1.8
System.out.println(9.0 / 5.0);  // 1.8
  • 숫자끼리는 형 변환을 간단하게 할 수 있다.
    • double 형으로 선언한 변수에 정수를 저장하게 될 때, 뒤에 소문자 ‘d’든 대문자 ‘D’든 붙이면 정수에 .0을 붙여서 소수형으로 저장해 준다.
double dnum1 = 3.14;
double dnum2 = 314d;  // 314.0

int inum = (int)dnum1;  // double 형인 dnum1을 int 형으로 형 변환하여 int 형인 inum 에 저장
  • switch 문과 if 문 전격 비교!!!
public class Switch {
    public static void main(String[] args){
        int scoreIf = 97;
        String gradeIf;

        // if 문으로 출력하기
        if (scoreIf >= 100){
            gradeIf="A+";
            System.out.println(gradeIf);
        } else if (scoreIf >= 90){
            gradeIf="A";
            System.out.println(gradeIf);
        } else if (scoreIf >= 80){
            gradeIf="B";
            System.out.println(gradeIf);
        } else if (scoreIf >= 70){
            gradeIf="C";
            System.out.println(gradeIf);
        } else if (scoreIf >= 60){
            gradeIf="D";
            System.out.println(gradeIf);
        } else {
            gradeIf="F";
            System.out.println(gradeIf);
        }

        int scoreSwitch = 75;
        String gradeSwitch;

        // switch 문으로 출력하기
        switch (scoreSwitch / 10) {
            case 10: // switch 문에서 case 에 요구되는 자료형은 int 형입니다.
                gradeSwitch="A+";
                break;
            case 9:
                gradeSwitch="A";
                break;
            case 8:
                gradeSwitch="B";
                break;
            case 7:
                gradeSwitch="C";
                break;
            case 6:
                gradeSwitch="D";
                break;
            default :
                gradeSwitch="F";
                break;
        }

        System.out.println(gradeSwitch);
        // 여러 개의 동등한 조건의 나열에는 switch 문이 더 편리합니다.

        // switch 는 위에서 아래로의 순차 구조가 강한 특별한 명령어 입니다:)
        // 맨 마지막 default 뒤엔  break 가 없어도 switch 문은 끝이나게 됩니다
    }
}
  • for 문, while 문 기본 syntax!
public class For {
    public static void main(String[] args){
        int sum = 0;

        for (int i = 1; i <= 100; i++) {
            sum += i;
        }

        System.out.println(sum);
    }
}

public class While {
    public static void main(String[] args){
        int sum = 0, i = 1;

        while (sum < 10000){
            sum += i;
            i++;
        }

        System.out.println(sum);
        System.out.println(i - 1);
        // 마지막으로 while 이 실행될 때 i가 무의미하게 증가하기 때문이다.
    }
}
  • Array(배열) 기본 syntax!
public class Array {
    public static void main(String[] args) {
        int[] intArray = new int[5]; // 선언과 동시에 크기가 5인 빈 배열 생성
        float[] floatArray = new float[3];
        // 자료형에 따라서 요소가 자료형에 맞게 저장됩니다.

        floatArray[0] = 4;
        floatArray[1] = 24;
        floatArray[2] = 56;

        intArray[0] = 2;
        intArray[1] = 3;
        intArray[2] = 5;
        intArray[3] = 7;
        intArray[4] = 11;

        System.out.println(intArray[2]);
        System.out.println(intArray[2] + intArray[4]);

        for (int i = 0; i < intArray.length; i++) {
            System.out.println(intArray[i]);
        }

        for (int i = 0; i < floatArray.length; i++) {
            System.out.println(floatArray[i]);
        }

        int[] arr1 = {1,2,3,4,5}; // 값의 이름은 arr1
        int[] arr2 = arr1; // 값의 또 다른 이름은 arr2
        arr1[0] = 100;
        System.out.println(arr2[0]);

        int[] arr3 = {1,2,3,4,5}; // 값의 이름은 arr3
        int[] arr4 = arr3.clone(); // 복사 값의 이름은 arr4
        arr3[0] = 100;
        System.out.println(arr3[0]);
        System.out.println(arr4[0]);

				
	// System.out.println(intArray); 배열 자체를 어떻게 출력하는지?
	// 반복문
        for (int i : intArray) {
            System.out.println(i);
        }  // i는 intArray 요소가 차례대로 대입됩니다.

    }
}

좋은 웹페이지 즐겨찾기