본문 바로가기
Java/Java

Java 1 (기초, 변수, 연산자,)

by code2772 2022. 10. 3.

[ 목차 ]

    728x90
    반응형

    1. JVM(자바 가상 머신)

    - 여러 운영체제에서 동일한 실행 결과가 나오도록 설계

    소스코드 -> 컴파일러 -> Byte code -> 실행 // source(코드), out(결과)

    //sout; 출력메소드

    //메인메소드 : 시작하는 시작점 프로그램에서 메인 메소든는 1개만 존재

    // 별도의 프로그램이라고 생각하면 메인 메소드도 여러개 존재할 수 있다.

    2. 자바의 소스코드

    - 파일명과 class명은 동일해야 함

    - 대소문자가 명확히 구별해야 함

    - 문장의 끝은 ;(세미콜론)을 붙여야 함

    3. 문장의 출력

    - System.out.println() : 한 줄에 값을 출력한 후, \n을 붙이지 않아도 알아서 줄 바꿈이 됨

    - System.out.print() : 한 줄에 값을 출력후, \n에 의해서 다음줄에 값을 출력함

    4. 주석문

     

    - // : // 부터 라인 끝까지 주석으로 처리

    - /* 내용 */ : /*와 */ 사이에 있는 모든 범위를 주석으로 처리

    - /** */ : 자바클래스나 인터페이스, 생성자, 메서드등을 설명할 때 사용

    //cpu : 컴퓨터의 뇌 , 그래픽카드, RAM : 메모리, 임시 기억장치(휘발성)

    5. 변수(Variable)

    - 하나의 값을 저장할 수 있는 메모리 공간

    - 변수를 선언하는 방법

    데이터타입 변수이름;

    int a;

    - 데이터 타입(기본) -> stack에 들어간다.

    정수 : byte(1Byte,8Bit, -128 ~ 127), short(2Byte, -32768 ~ 32767)

    , int(4Byte, 약 -21억 ~ 21억), long(8Byte) -> 은행프로그램과 같이 많으 수를 사용하는 경우 사용

    실수 : float(4Byte, 소숫점 6자리까지라고 생각), double(8Byte) -> double이 더 많이 사용

    문자 : char(2Byte)

    논리 : boolean(1Byte -> true, false) -> Java에서는 참(1) 거짓(0)을 판단하는 논리형 예약어(키워드)이다.

    // String : String은 자료 타입이 아닌 개발자가 선언한 Class이다.

    // 5가지 영역 : Method, Heap, Stack, pc register , Native Method Stack

    - 변수 이름 작성 방법

    1. 첫 글자는 문자 또는 "$", "_"를 사용해야 한다.

    apple. $apple, _apple

    2. 첫 글자를 숫자로 시작할 수 없음

    1apple(x) -> 정수로 인식하기 때문이다. 왼쪽에서 오른쪽으로 읽는데 기계가 숫자를 인식하여 정수로 판단

    3. 대소문자를 구별

    apple 변수와 Apple는 서로 다르다.

    4. 문자수의 길이 제한은 없다.

    abcdefghij~~ = 10;

    5. 예약어는 사용할 수 없음

    true, false, if, while, for...

    6. 첫 글자는 소문자로 시작, 다른 단어가 붙을 경우 첫 글자는 대문자로 함(권장)

    myscore(비권장) -> myScore(권장) / 다른 개발자가 변수를 더 쉽게알기 위해 (약속)

    - 변수의 초기화

    int a;

    a= 10;//변수에 처음 값을 넣는것을 초기화라고 한다.

    - 변수의 선언 및 초기화

    데이터타입 변수이름 = 값;

    int a = 10;

    - 변수의 재대입

    변수이름 = 값;

    int a = 10;

    system.out.println(a) // 10 -> a는 메모리 주소이다.

    a = 5; -> 우측에 있는 5 를 a에 대입한다, 같다고 생각하지 말자

    system.out.println(a) // 5

    // ctrl alt l - 줄 정렬

    // file -> refector -> rename

    // Ctrl + Shift + F12 : 편집기(Editor) 영역을 최대로 크기로 토글

    // Ctrl + Shift + U : 대/소문자 변경

    6. 연산자(Operator)

    - 프로그램에서 데이터를 처리하여 결과를 산출

    - 연산에 사용되는 표시나 기호

    - 산술 연산자

    (+,-,*,/,%)

    - 비교 연산자(결과는 boolean)

    (<,>,<=,>=,==,!=) -> = 은 항상 오른쪽, = 대입 , == 같다

    - 증감 연산자

    변수의 값을 1증가 시키거나 1감소 시키는 연산자

    ++변수 : 다른 연산을 수행하기 전에 값을 1증가시킴(--)

    변수++ : 다른 연산을 먼저 수행한 후 값을 1증가시킴(--)

    int a = 1;

    ++a// a = 2

    System.out.println(a) // 2

    int a = 1;

    a++// a = 2

    System.out.println(a) // 2

    int x = 1;

    int result = ++x; // result ,x =2

    int x = 1;

    int result = x++; // result = 1 ,x =2

    - 대입 연산자

    값을 변수에 저장해주는 연산자

    =, +=, -=, *=, /=, %=

    int num = 10;

    num += 1; -> num = num + 1; -> 10 + 1 = 11 = num

    - 논리 연산자

    &&(AND)모두 1이어야한다, ||(OR)하나라도 1, ^(헷-XOR)서로 달라야한다., !

    AND 연산

    boolean && boolean

    A && B R

    1 1 1

    0 1 0

    1 0 0

    0 0 0

    OR 연산

    예) 주민등록번호 성별 -> 1또는 3또는 5또는 7또는 9는 남자

    boolean || boolean

    A || B R

    1 1 1

    1 0 1

    0 1 1

    0 0 0

    XOR 연산

    boolean ^ boolean

    A ^ B R

    1 1 0

    1 0 1

    0 1 1

    0 0 0

    ! 연산

    !boolean -> !1 -> 0

    - 비트 연산자

    &, |, ^, <<, >>

    // 비트 우선순위 (<<) -> (>>) -> (&) -> (^) -> (|)

    28 << 2

    1 1 1 0 0

    1 1 1 0 0 0 0

    64 32 16 8 4 2 1 -> 112

    28 >> 2

    1 1 1 0 0

    1 1 1

    4 2 1 -> 7

    - 삼항 연산자

    3개의 피연산자를 필요로하는 연산자이며, 앞의 조건식에 따라 :(콜론) 앞뒤의 연산자가 선택

    조건식 ? 값1 : 값2

    (결과 boolean)

    emo = 10 > 5 ? 😊 : ❤; -> 결과 😊

    // window + . (동시에) 이모티콘

    // ctrl + alt + insert

    과제.

    성적 프로그램

    1. 3과목 이상의 변수를 만들어 값을 저장

    kor = 80 ~~~~

    2. 위 점수를 변수에 저장하고 총점과 평균, 합격 여부를 구함

    (단, 합격 여부는 평균을 기준으로 60점 이상은 합격, 60점 미만은 불합격으로 함)

    3. 합격 여부는 삼항 연산자를 활용

    반응형