java 개념 이해

Ding Hye·2022년 5월 11일
0

공부하는데 도움되는 사이트

https://www.programiz.com/java-programming/hello-world

자바 예제를 따라하면서 인텔리J에 따라하는 것만 해도 어려웠다. 클래스명과 파일명을 일치시켜야 하는 것을 몰라서 다른 이름으로 했더니 생기던 오류들. 이제는 그러지 않는다!
인텔리제이 클래스명 열고나서는 메인메소드 입력을 위해 main+탭 을 하면 **public static void main(String[] args) {** 가 입력되는 것도 알게되었다.

JVM

JVM 용어가 자주 나오길래 뭔지 찾아봤더니 자바가상머신을 이르는 말이었다. 컴퓨터가 JAVA 프로그램을 실행할 수 있도록 하는 추상머신을 의미한다.

자바 변수

변수는 데이터를 저장하는 메모리(저장 영역)의 위치를 의미한다.저장 영역을 구분하기 위해 각각 고유한 이름을 변수에 부여해줘야 한다.

int displacement;
displacement = 30;

displacement라는 변수를 선언하고, 그 변수값에 30을 할당하였다는 의미이다.
할당한 변수 값은 최종값으로 변경할 수 있다.

int displacement = 30;
displacement = 40;

그럼 displacement 값이 40으로 변경된다.

변수이름 지을때 주의사항

  • 변수는 대소문자를 구분한다.
  • 변수는 숫자로는 시작할 수 없고 문자나 밑줄,_,$로 시작할 수 있다.
  • 변수명에 공백이 들어가면 안된다.
  • 후속문자의 첫글자는 대문자로 시작한다.

  • 변수의 유형

  • 인스턴트 변수(비정적 필드)
  • 클래스 변수(정적 필드)
  • 지역 변수
  • 매개 변수

  • 데이터 형식 중 Char/String

  • Char은 한개의 값을 입력할 때 쓰며 ' '를 사용
  • String은 뒤에 문자열이 오며 " "를 사용

  • 자바에서 연산방식

    두 개의 정수가 있을때 나누기 연산자를 쓰면 결과도 정수가 나온다. 피연산자 중에 하나가 부동 소수점 숫자인 경우 결과도 부동 소수점 숫자로 도출된다.

    (11 / 2) is 5
    (11.0 / 2) is 5.5
    (11 / 2.0) is 5.5
    (11.0 / 2.0) is 5


    자바에서 =와 ==의 차이

    =는 대입연산자로 오른쪽 값을 왼쪽 변수에 할당하라는 의미이다.+=a += b;에서 a = a + b;라는 의미를 가지고 있다. 마찬가지로 -=a = a - b;라는 의미이며, *=a = a * b;를, /=a = a / b;를, %=a = a % b;를 의미한다.
    ==는 관계형연산자로 같다는 의미로 해석하면 된다. 보다 작은지 여부를 판단하거나 true , false를 반환한다. 예를 들어 4 == 5일 경우 false를 반환한다.


    == 이외의 관계형 연산자

    !=는 동일하지 않음을 의미한다. 예를 들어3 != 7일 경우 false를 반환한다.
    이 외에도 <, >, >=, <= 가 있다.


    논리 연산자

    &&는 둘 다 해당할 경우에 쓴다.둘 다 해당되면 true, 그렇지 않으면 false를 반환한다.

    System.out.println((6 > 4) && (8 > 6)); // true
    System.out.println((6 > 4) && (8 < 6)); // false

    ||는 둘 중 하나로 '또는'라는 의미로 생각하면 된다. 둘 중 하나에 해당하면 true를 반환하고, 둘 다 해당되지 않으면 false를 반환한다.

    System.out.println((4 < 6) || (8 > 6)); // true
    System.out.println((6 > 4) || (8 < 6)); // true
    System.out.println((6 < 4) || (8 < 6)); // false

    !는 만약 그렇다면 그 반대의 경우도 마찬가지라는 의미이다.

    System.out.println(!(6 == 4)); // true
    System.out.println(!(6 > 4)); // false

    !는 조금 더 예제를 봐야 이해할 수 있을 것 같다.

    profile
    서비스를 만들어보고 싶습니다.

    0개의 댓글