inflearn logo
강의

講義

知識共有

Do it!Javaプログラミング入門

Javaのさまざまな演算子(1)

i 가 증가되지 않았다는 게 이해가 안갑니다.

203

pompomyena

投稿した質問数 21

0

package assignment;

 

public class OperationEx3 {

public static void main(String[] args) {

int num1 = 10;

int i =2;

boolean value = ( ((num1=num1+10)>10)&&((i = i+2)>10) );

System.out.println(value);

System.out.println(num1);

System.out.println(i);

}

}

결과 : false

20

4

 

i 가 증가가 되지 않았다고 했는데 

이미 4로 증가되지 않았나요 ? (강의 22:42) 

java

回答 1

1

seung lee

((num1 = num1 + 10) > 10) && ((i = i+2) > 10)

&&는 앞부분식, 뒷부분식 둘다 참이어야지만 참인거 알죠?

&&앞부분 식이 참인건 알겠죠? num1이 10이니까 20>10은 참이잖아요

그럼 &&뒷부분까지 참인걸 따져봐야 전체가 참인지 알 수 있으니까 뒷부분의 명령도 실행해서 i에다가 i+2를 대입시키는 거예요

만약

((num1 = num1 + 10) < 10) && ((i = i+2) > 10)

          ( '<' 이 부호만 반대로 바꿨습니다.)

이렇게 코드를 짜놓으면 

&&앞부분이 거짓인건 알겠죠? num1이 10이니까 20<10 이 식은 거짓이잖아요. 그러면 뒷부분은 실행할 필요도 없이 전체 식이 거짓이 되는거라 뒷부분의 i=i+2 실행을 하지 않아서 증가하지 않는거예요

이클립스 활성화가 안되는부분이있어요ㅜㅜ

0

435

1

책에 자료실

0

498

1

StudentID

0

561

1

인터페이스와 가상 메서드

0

357

1

11분쯤 price, int price 질문

0

353

1

For문 (중첩된 반복문) 구구단 문의 드립니다.

0

791

1

반복문 별 출력 연습문제

0

398

1

비트 연산자 질문입니다.

1

375

1

Scheduler scheduler = null 굳이 하는 이유가 있나요

1

336

0

Class간의 연결

1

298

1

선생님 스킬

0

400

1

초기화 에러!!!

0

286

1

선생님 영상에서 목소리가 좀 작은 것 같습니다 ㅠㅠ

2

304

0

출력

2

233

0

Main 함수 저번 강의 거가 나와요

0

319

1

결과값오류

1

226

0

printIn 함수 질문

0

456

1

24분 57초에 질문 있습니다!!

0

364

1

1분36초쯤에 말씀하시는 자바닥??그거 보라고 하셨는데 자바닥이 뭐죠..?

0

253

1

메서드와 생성자

0

399

2

참조형 데이터 타입은 클래스 이름과 같아야 하나요?

0

287

1

반환값은 정수 밖에 안되나요?

0

274

1

9분33초 설명!!부탁 드립니다!

0

300

1

48분쯤에 {"B","C","D""} 를 왜 {'B','C','D'}로 바꿨죠?

0

298

1