Java 기초

전날과 동일하게 계속해서 Java 기초부분의 수업이 진행되었다.
온라인 강의와 오프라인 강의의 진도 차이가 계속해서 벌어지고있다. 물론 나중에 가서는 둘이 만나게 되겠지만 지금 당장으로써는 온라인 강의가 딱히 의미가 있어보이지는 않는다. 오프라인 강의 시간에 설명하는 시간을 줄이기 위해서 이런 식으로 진행이 되는거 같은데 별로 호감은 아닌 것 같다. 개인적인 생각이다.


연산자

Java에서 사용할 수 있는 연산자는 다양한 종류가 있다.
산술, 부호, 대입, 증감, 비교, 논리, 조건, 비트, 쉬프트 등...
하나씩 차례대로 알아보자.

  • 산술

       +, =, *, /, %

    우리가 흔히 알고있는 사칙연산에 나누기가 포함되어있는 것이다. 가장 기본적인 형태이다.

  • 부호

    	+, -

    산술 기호와 착각하면 안된다. 단순히 음수와 양수를 표현하는 연산자이다.

  • 대입

    	=, +=, -=, *=, /=, %=, &= |= <<=, >>=, >>>=

    우변의 값을 좌변의 변수에 대입할 때 사용하는 연산자이다.
    = 기호는 항상 뒤에 붙는다.

  • 증감

    	++, --

    숫자를 산출하기 전에 1만큼 증가시키거나 감소시키기 위해서 사용하는 연산자이다.

  • 비교

    	==, !=, >, <, >=, <=, instanceof

    참 또는 거짓을 산출한다. 값을 비교하기 위해서 사용하는 연산자이다.

  • 논리

    	!, &, |, &&, ||, ^

    참 또는 거짓을 산출한다. 논리적인 NOT, AND, OR 연산을 위한 연산자이다.

  • 조건

    	(조건식)? A : B

    조건식에 따라서 A 또는 B 중 하나를 선택해서 출력한다.

  • 비트

    	~, &, |, ^

    숫자 / boolean을 산출하고 비트 NOT, AND, OR, XOR 연산을 한다.
    조건문 대신 사용해서 프로그램의 분기를 줄여 보다 가벼운 프로그램을 짤 수 있다.

  • 쉬프트

    	>>, <<, >>>

    숫자를 산출하고 비트를 좌측 또는 우측으로 밀어서 이동시킨다.


조건문

코드 실행 중 흐름을 제어하는 제어문 중 하나이다.
조건식에 따라서 어떤 식으로 실행을 할지가 결정이 된다.
앞서 배운 삼항 연산자(조건)은 간단한 형태의 조건식을 작성하기에 좋다. 하지만 조건문은 복잡한 조건문을 작성하기에 좋다.

  • if

    java
    if (조건식) { // 실행해야하는 문장이 2문장 	이상일 때 (추천 ✨)
    실행문; // 조건식이 참일때 실행
    실행문; // 조건식이 참일때 실행
    }	

    조건식이 true일 경우 괄호 안의 실행문을 실행시킨다.

  • if - else

    java
    if (조건식) {
    	실행문; // 조건식이 참일때 실행
    } else {
    	실행문; // 조건식이 거짓일때 실행
    }

    조건식이 true 일 경우 if문 블록이 실행되고 false일 경우에는 else문 블록이 실행된다.

  • else - if

    java
    if (조건식1) {
    	실행문; // 조건식1은 참일때 실행
    } else if (조건식 2){
    	실행문; // 조건식1은 거짓, 조건식 2는 참일때 실행
    }

    조건식이 true 일 경우 if문 블록이 실행되고 false일 경우에는 else if문으로 가서 똑같이 조건식을 따져본다.
    else if 문은 무한히 길어질 수도 있다.

Random

  • Random 클래스
    java.util 패키지에 있기때문에 import해줘야 사용이 가능하다.
    seed를 설정해서 난수 패턴을 조정할 수 있다.

  • Math.random()
    java.lang 패키지에 있다. import를 따로 해주지 않아도 된다.
    seed 설정이 불가능 하기 때문에 안정적이지 못하다.

실습

https://github.com/baker-lee/JavaStudy/tree/master/src/me/java/practice/day3

profile
이따금씩 올라오는 개발자 블로그

0개의 댓글