[내배캠]자바 문법 뽀개기-자바 기초 문법

손홍서·2022년 5월 16일
0

Java

목록 보기
1/11
post-thumbnail

JAVA란?

java는 제임스 고슬링과 연구인들이 개발한 객체 지향적 프로그래밍 언어
java는 Write Once, Run Anywhere
- 한 번 작성하면 어디에나 실행 가능
- 즉, 자바로 개발된 프로그램은 자바 실행 환경 JRE가 설치된 모든 환경에서 실행 가능

변수와 상수

  1. 변수
        /**
         * 변수
         */
        int number = 5;
        System.out.println("number = " + number);

        number = 3;
        System.out.println("number = " + number);
  1. 상수
		/**
         * 상수
         */
        final int finalNumber = 1;
        System.out.println("finalNumber = " + finalNumber);

//        finalNumber = 2;  -> 오류 발생: 상수는 재할당 되지 않음

변수를 선언할 때는 [접근제어자] [변수의 자료형] [변수의 이름] 의 방식을 이용하면 됩니다.

변수 선언을 할 때 값도 함께 선언하고 싶을경우에는 [변수의 자료형] [변수의 이름]=[값] 의 방식을 이용하면 됩니다.

💡 변수의 이름을 붙이는 규칙. Java에서는 CamelCase라는 규칙으로 이름을 선언하는 것을 defacto standard(사실상의 표준)으로 하고 있다. 첫 글자는 알파벳 소문자로, 그 이후에 단어의 단위마다 첫 글자만 대문자이고 나머지는 소문자인 단어를 붙여서 쓰는 방식이다.

기본자료형

  1. 정수
		/**
         * **기본자료형**
         * 정수
         * 1. short: 2byte로 표현할 수 있 정수 자료형
         */
        short s = 1;
        System.out.println("s = " + s);
        System.out.println(Short.MIN_VALUE + " " + Short.MAX_VALUE);
        /**
         * 2. int: 4byte로 표현할 수 있 정수 자료형 (약 -20억 ~ +20억)
         */
        int a = 1;
        System.out.println("a = " + a);
        System.out.println(Integer.MIN_VALUE + " " + Integer.MAX_VALUE);
        /**
         * 3. long: int 이상을 표현 가능한 정수 자료형
         */
        long l = 2;
        System.out.println("l = " + l);
        System.out.println(Long.MIN_VALUE + " " + Long.MAX_VALUE);

  1. 실수
        /**
         * 실수
         * 1. float
         */
        float f = 5.5F;
        System.out.println("f = " + f);
        System.out.println(Float.MIN_VALUE + " " + Float.MAX_VALUE);
        /**
         * 2. double
         */
        double d = 5.5;
        System.out.println("d = " + d);
        System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE);

  1. 문자
        /**
         * 문자
         * char
         */
        char c = 'A';
        System.out.println("c = " + c);

  1. 논리

        /**
         * 논리
         * boolean
         */
        boolean fact = true;
        System.out.println("fact = " + fact);

  1. 바이트
        /**
         * byte
         */
        byte byteData = 'a';
        System.out.println("byteData = " + byteData); //97  -> ASCII code 값
        char charData = 'a';
        System.out.println("charData = " + charData); //a

참조 자료형

  1. String
/**
         * **참조 자료형**
         * 기본 자료형이 아닌 모든 자료형
         * String
         */
        String sparta = "Hello sparta";
        System.out.println("sparta = " + sparta);

  1. 배열
 /**
         * 배열: 동일한 자료형의 데이터를 연속된 공간에 저장하기위한 자료구조
         * 실제 배열을 잘 사용하지는 않는다. (주로 동적 메모리 할당이 가능한 ArrayList 사용)
         * Array
         */
        int[] inArray1 = new int[5];
        System.out.println("inArray1 = " + Arrays.toString(inArray1));
        inArray1[1] = 1;
        System.out.println("inArray1 = " + Arrays.toString(inArray1));

        int[] inArray2 = new int[]{1, 2, 3, 4, 5};
        System.out.println("inArray2 = " + Arrays.toString(inArray2));

        String[] stringEmptyArray = new String[4];
        System.out.println("stringEmptyArray = " + Arrays.toString(stringEmptyArray));

        String[] season = {"봄", "여름", "가을", "겨울"};
        System.out.println("season = " + Arrays.toString(season));
        System.out.println("season.length = " + season.length);
        System.out.println("season[season.length-1] = " + season[season.length - 1]);

조건문

 /**
         * **조건문**
         * if (조건식){
         *     실행 코드
         * }
         */

        Scanner sc = new Scanner(System.in);
        int myScore = sc.nextInt();
        if (myScore<=100 && myScore >= 90) {
            System.out.println("A등급 입니다.");
        } else if (myScore<90 &&myScore >= 80) {
            System.out.println("B등급 입니다.");
        } else if (myScore<80 &&myScore >= 70) {
            System.out.println("C등급 입니다.");
        } else {
            System.out.println("F등급 입니다.");
        }

        /**
         * switch 문
         */
        char score = 'A';
        switch (score) {
            case 'A':
                System.out.println("A등급입니다.");
                break;
            case 'B':
                System.out.println("B등급입니다.");
                break;
            case 'C':
                System.out.println("C등급입니다.");
                break;
            default:
                System.out.println("F등급입니다.");
        }

        /**
         * 삼항연산자
         */
        int a = 10;
        String result = (a < 10) ? "10보다 작습니다." :  "10보다 크거나 같습니다.";
        System.out.println("result = " + result);

    }

반복문

        /**
         * **반복문**
         * for문
         */
        int sumOdd = 0;
        int sumEven = 0;
        for (int i = 0; i <= 30; i++) {
            if (i % 2 == 0) {
                sumEven += i;
            } else {
                sumOdd += i;
            }
        }
        System.out.println("sumOdd = " + sumOdd); //225
        System.out.println("sumEven = " + sumEven); //240


        /**
         * for-each문
         */
        String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        for (String day : days) {
            System.out.println("day = " + day); 
        }
        /* day = Monday
          day = Tuesday
          day = Wednesday
          day = Thursday
          day = Friday
          day = Saturday
          day = Sunday */

        /**
         * while문
         */
        int i = 0;
        int sum = 0;
        while (true) {
            if (i >= 10)
                break;
            sum += (i + 1);
            i++;
        }
        System.out.println("sum = " + sum); //55

        /**
         * do-while문
         */
        i = 0;
        sum = 0;
        do {
            sum += (i + 1);
            i++;
        } while (i < 10);
        System.out.println("sum = " + sum); //55
profile
Hello World!!

0개의 댓글