HeYStRanGeR
article thumbnail

(2021.01.10)

 

자바의 연산자 부분도 C언어랑 크게 다른 부분이 없었다. 

C공부했으면 이 부분은 그냥 패스해도 될듯... 합니다

 

book.naver.com/bookdb/book_detail.nhn?bid=10191151

 

Java의 정석

자바의 기초부터 실전활용까지 모두 담다!자바의 기초부터 객제지향개념을 넘어 실전활용까지 수록한『JAVA의 정석』. 저자의 오랜 실무경험과 강의한 내용으로 구성되어 자바를 처음 배우는

book.naver.com

참고도서: 자바의 정석


 

연산자 (operator)

 

연산자 : 연산자를 수행하는 기호

피연산자 : 연산자의 작업 대상 ( 변수, 상수, 리터럴, 수식)

 

 

연산자의 종류

 

종류 연산자
산술 연산자 사칙 연산자: +, -, *, /
나머지 연산자: %
비교 연산자 대소비교 연산자: >, <, >=, <=
등가비교 연산자: ==, !=
논리 연산자 논리 연산자: &&, ||, !
비트 연산자: &, |, ^, ~, <<, >>
단항 연산자 증감 연산자: ++, --
부호 연산자: +, -
그 외 연산자 조건 연산자: ? :
대입 연산자: =, op=

 

연산자 역시 c언어와 동일하다.

 

 

▷ 비트 전환 연산자 : ~

비트 전환 연산자는 0을 1로, 1을 0으로 바꾼다. 

--> 피연산자의 '1의 보수'를 얻을 수 있다.

 

양의 정수 p가 있을 때, p의 음의 정수 = ~p+1

음의 정수 p가 있을 때, p의 양의 정수 = ~(n-1)

 

 

 


 

조건문 : if, switch

 

if 문
if (조건식) {
    // 조건식이 참일 때 수행할 문장
}

{ } 를 블럭 이라고 한다. 

{ }을 쓰지 않을 때에는 한문장만 if문으로 속해지기 때문에 유의해야한다.

 

if (score > 90)
  System.out.println("합격!!");
  System.out.println("축하!!");

이런 코드에서 System.out.println("축하!!"); 는 if 문에 속하지 않는다.

 

 

if - else if - else 문
if (조건식 1) {
   // 조건식 1의 결과가 참일 때 수행할 문장
} else if (조건식 2) {
   // 조건식 2의 결과가 참일 때 수행할 문장
} else if (조건식 3) {
   // 조건식 3의 결과가 참일 때 수행할 문장
}  ... {
...
} else {
   // else 블럭은 생략가능. 보통 else블럭으로 끝남.
}

 

 

switch 문
switch (조건식) {
   case 값1:
      // 조건식의 결과가 값 1일 때 수행할 문장
      // ...
      break;
   case 값2:
      // 조건식의 결과가 값 2일 때 수행할 문장
      // ...
      break;
   // ...
   default:
      // 조건식의 결과와 일치하는 case문이 없을 때 수행할 문장
      // ...
}

 

switch 문의 제약조건

1. switch 문의 조건식 결과는 정수 또는 문자열이어야한다.
2. case 문의 값은 정수, 상수만 가능하며, 중복되지 않아야한다.

 

switch 문 예제

 

 


 

반복문 : for, while, do-while

 

for 문
for (초기화;조건식;증감식) {
   수행할 문장
}

for 문 역시 c와 같은 구조이다.

 

중첩 for문 이용한 예제

 

 

while 문
while (조건식) {
  // 조건식의 결과가 참일 동안 반복할 문장
}

while 문도 c언어와 같은 구조이다.

 

for 문은 조건식이 없어도 가능했지만, while 문은 조건문을 생략할 수 없다.

 

while 문 예제

 

 

 

do-while 문

 

do-while 문은 while 문의 변형이다.

조건식이 맨 밑으로 가있다는 점이 다르다.

--> 조건문이 반드시 한번은 시행된다.

 

do {
     // 조건식의 연산결과가 참일 때 수행할 문장
} while (조건식);

while (조건식) 뒤에   ;  을 빼먹지 않도록 유의해야한다.

 

do-while 문 예제

 

위의 while 문과 비교해보면, 7- java 공부중... 이 맨위에 출력된 것이 다름을 알 수 있다.

일단 처음에 do-while 문안의 코드를 한 번 시행해주기 때문이다.

 

 

 

break 문

 

이것도 c언어에서 공부했던 것과 같은 맥락이다.

break는 자신이 포함된 가장 가까운 반복문을 벗어난다.

 

break 문 예제

 

 

continue 문

 

이것도 c언어와 같은 맥락이다.

continue 문은 반복문 내에서만 사용할 수 있고, 반복문의 끝으로 가게 해준다.

반복문을 벗어나는 것은 아니다.

 

continue 문 예제

 

 

 

이름 있는 반복문

 

java에서는 반복문에 이름을 지정할 수 있다.

break문이 근접한 단 하나의 반복문만 벗어나기 때문에 여러개의 반복문이 있을 경우에 필요하다.

 

이름 있는 반복문 예제

 

첫 번째 if 문 안의 break는 for문을 벗어나기 떄문에 다시 while문에 의해 for문으로 들어가서 i=0부터 시작하고, 다시 i가 2가 되면 for 문을 벗어나서 while문 처음으로 진입하게 된다. 그래서 이름 있는 반복문, 0, 1, 2 순서대로 반복된다.

 

두 번째 if 문 안의 break java는 java라는 while문을 벗어나게 하기 때문에 프로그램이 종료된다. 하지만 위의 코드로는 i가 4까지 올라가는 일이 없어서 프로그램은 계속 반복해서 돌아가게 된다.

 

사실 내가 한 번 만들어본건데... 처음에는 프로그램이 안 멈춰서 놀랐다... 이러려고 만든 코드는 아니었지만 어쩌다보니까 이렇게 나왔다...

 

 


더보기

개념부분이어서 그렇기도 하고 책도 2,3,4장이나 읽어야해서 조금 힘들었다.... 4장은 거의 휘리릭 넘긴 수준이라서 다음주에 다시 천천히 읽어볼 계획이다...

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!