강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của pompomyena
pompomyena

câu hỏi đã được viết

Làm đi! Giới thiệu lập trình Java cùng cô giáo Eunjong

Các toán tử khác nhau trong Java (1)

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

Viết

·

193

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

Câu trả lời 1

1

((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 실행을 하지 않아서 증가하지 않는거예요

Hình ảnh hồ sơ của pompomyena
pompomyena

câu hỏi đã được viết

Đặt câu hỏi