PART2. 자바 언어 기본(1)

  1. 변수와 상수
  • 변수를 사용하기 위해서는 변수를 선언해야 합니다.
package com.seona.java;

public class VariableBasic {
    public static void main(String[] args) {
        //1. 변수 선언
        int studentNum;
        String name;
        double gradejava;
        double gradeC;
        double avg;

        //2. 변수 정의(초기값)
        studentNum = 500;
        name = "Seon A Min";
        gradejava = 4.0;
        gradeC = 3.8;
        avg = 0;

        //3. 연산(재정의)
        avg = (gradejava +gradeC)/2;
        name = "Min. Seona";
        studentNum = 600;

        System.out.println(studentNum);
        System.out.println(avg);
    }
}
  • 이번에는 변수의 선언과 정의를 한번에!
package com.seona.java;

public class VariableUsage {
     public static void main(String[] args) {
        //1. 변수 선언과 정의를 한번에
        int studentNum = 500;
        String name = "Seon A Min";
        double gradejava = 4.0;
        double gradeC = 3.8;
        double avg = 0;

        //2. 연산(재정의)
        avg = (gradejava+gradeC)/2;
        name = "Min, Seon A";
        studentNum = 600;
    }
}
  • 자바 언어를 포함한 일반적인 프로그래밍 언어에서는 변하지 않는 수를 상수라고 합니다. 변하는 부분이 적을수록 오류는 적어집니다. 고로 변동성을 최소화한다는 관점에서 상수는 필요한 만큼 충분히 넣어주는게 좋아여~~
public class ConstantBasic {
    //1. 일반적 상수 정의 (기본 용법)
    static final double PI = 3.14159236; //원주율
    static final int MAX_COUNT = 100; //최대 개수
    static final String COLUM_STUDENT_NAME = "student_name"; //학생 이름 컬럼

public static void main(String[] args) {
    //2. 함수 내 상수 정의 (필요한 경우)
    final int MAX_INTEGER = Integer.MAX_VALUE;

    //3. 함수 내 상수 선언 (비추천)
    final char DEFAULT_GRADE;

    //상수는 선언과 정의가 분리되어 있으면 가독성이 떨어짐
    DEFAULT_GRADE = 'C';

    System.out.println("상수 PI : " + PI);
    System.out.println("최대 개수 : " + MAX_COUNT);
    System.out.println("학생 이름 컬럼 : " + COLUM_STUDENT_NAME);
    System.out.println("최대 int 값 : " + MAX_INTEGER);
    System.out.println("기본 성적 : " + DEFAULT_GRADE);
    }
}

-> 상수는 변하지 않는 값이므로 이름에 대문자와 언더스코어만 사용합니다.

-> 상수에 static final 이라는 지시자가 붙어 있다면 함수 안에서만 정의하는 상수는 final만 가집니다. static과 final 키워드에 대한 자세한 내용은 part5에서 공부하자구여

  1. 데이터 타입
public class DataTypes {
    public static void main(String[] args) {
        //1. 정수형 데이터 타입
        int num = 100;
        long bignumber = 9303489;
        short s = 999;
        byte b = 0x03;

        //2. 실수형 데이터 타입
        double grade = 4.3;
        float param = 1.32f;

        //3. 문자형 데이터 타입
        char singleCharacter = 'a';
        String str = "HelloWorld!";

        //4. 부울형 데이터 타입
        boolean isEnabled = true;
    }
}
  1. 연산자

① 산술 연산자 : 사칙연산과 모듈러 연산 등

② 대입 연산자 : 변수에 값을 대입하거나 다른 연산자와 복합 동작

③ 비교 연산자 : 두 변수의 크기를 비교

④ 논리 연산자 : AND, OR 과 같은 논리 연산을 수행

⑤ 비트 연산자 : 주로 16진수의 값을 좌측, 우측 시프트 연산

  • 산술 연산자
public class 산술연산자 {
    public static void main(String[] args) {
        int added = 100+200;
        int subtracted = 500-300;
        int multiplied = 10*20;
        double divided = 100/3;

        System.out.println("덧셈 결과: 100+200 =" +added);
        System.out.println("뺄셈 결과: 500-300 =" +subtracted);
        System.out.println("곱셈 결과: 10*20 =" +multiplied);
        System.out.println("나눗셈 결과: 10*20 =" +divided);

        int 몫 = 100/3;
        int 나머지 = 100%3;
        System.out.println("몫: 100/3 =" +몫);
        System.out.println("나머지: 100%3 =" +나머지);

        ++added;
        --subtracted;

        System.out.println("증가: ++added =" +added);
        System.out.println("감소: --subtracted =" +subtracted);
    }
}
  • 대입 연산자
public class 대입연산자 {
    public static void main(String[] args) {
        int studentNo = 100;
        String studentName = "Seon A Min";
        double grade = 4.0;

        System.out.println("학번: " + studentNo);
        System.out.println("이름: " + studentName);
        System.out.println("학점: " + grade);

        double v = 100;
        v+=3; System.out.println("v+=3 : " + v);
        v-=3; System.out.println("v-=3 : " + v); 
        v*=3; System.out.println("v*=3 : " + v);
        v/=3; System.out.println("v/=3 : " + v);
        v%=3; System.out.println("v%=3 : " + v);
    }
}

+= 연산자는 우변의 값을 더하고 값을 좌변으로 대입해주는 복합 동작을 수행합니다. -= 연산자는 뺄셈과 대입을 함께하고, *= 연산자와 /= 연산자는 각각 우변과의 곱셈과 나눗셈을 수행한 후 결과를 좌변에 대입합니다. 마지막으로 %= 연산자는 나눗셈을 수행하며 나머지를 좌변에 저장합니다.

  • 비교 연산자
public class 비교연산자 {
    public static void main(String[] args) {
    int a = 100;
    int b = 100;
    int c = 200;
    int d = 95;

    System.out.println("a와 b는 같다? " +(a==b));
    System.out.println("a와 c는 다르다? " +(a!=c));
    System.out.println("c는 a보다 크다? " +(c>a));
    System.out.println("a는 c보다 크다? " +(a<c));
    System.out.println("a는 d 이상이다? " +(a>=d));
    System.out.println("a는 c 이하이다? " +(a<=c));
    }
}

-> 모두 true 랍니당

  • 논리 연산자
public class 논리연산자 {
    public static void main(String[] args) {
    int a = 4;
    boolean inTheMiddle = 3<a && a<5;
    boolean isNaturalNumber = a>0 || a==0;
    boolean isPositive = !(a<0);

    System.out.println("a는 3보다 크고 5보다 작다? " +inTheMiddle);
    System.out.println("a는 자연수이다? " +isNaturalNumber);
    System.out.println("a는 양수이다? " +isPositive);
    }
}

-> 모두 true 입니다.

-> AND(&&), OR(||), NOT연산자(!)

  • 비트 연산자
public class 비트연산자 {
    public static void main(String[] args) {
    //비트 AND(&)
    int a = 0x0A; //1010
    int mask1 = 0x01; //0001
    int mask2 = 0X02; //0010
    System.out.println("16진수 a의 첫 번째 자리수는? " +(a&mask1));
    System.out.println("16진수 a의 두 번째 자리수는? " +(a&mask2));

    //비트 OR(|)
    System.out.println("7(111) OR 16(10000) = " +(7|16));
    System.out.println("8(1000) OR 15(1111) = " +(8|15));
    }
}
16진수 a의 첫 번째 자리수는?  0
16진수 a의 두 번째 자리수는?  2
7(111) OR 16(10000) =  23
8(1000) OR 15(1111) =  15

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.