https://www.programiz.com/java-programming/hello-world
자바 예제를 따라하면서 인텔리J에 따라하는 것만 해도 어려웠다. 클래스명과 파일명을 일치시켜야 하는 것을 몰라서 다른 이름으로 했더니 생기던 오류들. 이제는 그러지 않는다!
인텔리제이 클래스명 열고나서는 메인메소드 입력을 위해 main+탭 을 하면 **public static void main(String[] args) {**
가 입력되는 것도 알게되었다.
JVM 용어가 자주 나오길래 뭔지 찾아봤더니 자바가상머신을 이르는 말이었다. 컴퓨터가 JAVA 프로그램을 실행할 수 있도록 하는 추상머신을 의미한다.
변수는 데이터를 저장하는 메모리(저장 영역)의 위치를 의미한다.저장 영역을 구분하기 위해 각각 고유한 이름을 변수에 부여해줘야 한다.
int displacement;
displacement = 30;
displacement
라는 변수를 선언하고, 그 변수값에 30을 할당하였다는 의미이다.
할당한 변수 값은 최종값으로 변경할 수 있다.
int displacement = 30;
displacement = 40;
그럼 displacement
값이 40으로 변경된다.
두 개의 정수가 있을때 나누기 연산자를 쓰면 결과도 정수가 나온다. 피연산자 중에 하나가 부동 소수점 숫자인 경우 결과도 부동 소수점 숫자로 도출된다.
(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
!
는 조금 더 예제를 봐야 이해할 수 있을 것 같다.