자바 기초에 있어서...
떠나간그녀
class Aaa{
public static void mail(String arg [] )
{
intbb1 = 145;
intbb2= 185;
if (bb1bb2)
if (bb1 bb2)
System.out.println(bb1= +bb1);
else
if(bb2100)
System.out.println(bb2=+ bb2);
System.out.println(well done);
}
}
일부러 {}를 생략해보았습니다. 그런데 else와 if가 인식을 어떻게 해여 실행되었는지 모르겠습니다.
첨 생각엔
bb2= 185
well done 이라고 나올거라고 생각했었는데, 이것을 실행하면은 well done 이라고 나옵니다.
실행 경로하고 어떻게 이런 값이 나왔는지 가르쳐주세요~!!
-
김자영
감사합니다.
-
제미니
참고로 말씀드리자면 이 문제에 대해서 고민 안하셔도 될거같아요 중괄호를 사용하지 않았을떄 중복되는 if문에서 프로그래머가 의도하지 않은 결과가 나올수 있다는걸 알려주려고 하는거 같구요.. 작성된 소스코드가 모호한 문법이기 떄문에.. 발생하는 문제이고 일반적으로 저런 상황일떄 가장 가까운 if에 else를 붙여서 구문분석을 하게 되는걸로 알고있습니다 소스를 작성한 사람은 자신의 의도에 맞게 이해를 할수있지만 그 코드를 분석하는 컴파일러는 의도를 모르기떄문
-
핫블루
제가 알고있는게 맞는지는 정확하지 않지만 전공수업때 다루었던 문제라...답변을 드리자면 뎅글링 엘스문제인거 같네요 중괄호가 빠짐으로서 다음에 나오는 else가 맨 처음의 if에 붙는지 그다음 if에 붙는지 명확하지 않기 떄문에 발생하는 문제이고 저런 상황이 발생했을떄는 어떤 명확한 규칙이 정해져있다기 보다는 각각의 컴파일러에서 적용하는 방식에 따라 결과가 달라질거 같네요 자세한건 컴파일러 구조론 같은 책을 보시면 이해하실수 있을거에요
-
한별나라
첫 번째 if문이 거짓이니 else if 문이 실행되는 것이 아닌가요? 아직 잘 모르겟습니다.
-
가림새
if (bb1bb2)
이 항목이 거짓이니 뒤에 이어지는
if (bb1 bb2)
System.out.println(\bb1=\ +bb1);
else
if(bb2100)
System.out.println(\bb2=\+ bb2);
이 항목은 실행이 되지 않겠지요?
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654372 | 이중연결리스트 정렬 문의 드립니다. (1) | 야미 | 2024-05-10 |
2654343 | 레이어 팝업.. 흑흑 (4) | 다인 | 2024-05-10 |
2654284 | 반응형 웹에서 | HotPink | 2024-05-09 |
2654234 | 타이틀옆에 카테고리 정렬질문이요 (2) | 밤 | 2024-05-09 |
2654207 | 퍼블리셔포트폴리오질문이요! ! (2) | 훌림목 | 2024-05-08 |
2654175 | 방문자 수,포스트마다 사람들이 클릭 한 수 알 수 있는 방법 없나요? | 찬늘 | 2024-05-08 |
2654145 | 숙제란! | 피리 | 2024-05-08 |
2654120 | 레이어팝업 이용시 body 스크롤 고정(?) 질문입니다. (2) | 꿈빛 | 2024-05-08 |
2654094 | 메인메뉴와 윈쪽사이드메뉴 테마? | 솔찬 | 2024-05-07 |
2654064 | mp3 plyer에서 이퀄라이져를 구현하고 싶습니다. (7) | 촉촉한 초코칩 | 2024-05-07 |
2654034 | 초보자라 조언좀얻고자합니다 씨언어 문제입니다 (4) | 모이 | 2024-05-07 |
2654006 | 아주 극초보 배열문젠데요...오류를 어케 처리하죠..;;; (2) | 눈꽃 | 2024-05-07 |
2653980 | 이미지 슬라이드 안에 삽입한 텍스트 애니메이션 제어방법? | 다흰 | 2024-05-06 |
2653950 | 키보드 누르기.. | 의사양반 | 2024-05-06 |
2653928 | [질문]자바언어에서 이성에대한 속성10개 메소드5개를알아오라는데;; (8) | 장미빛볼살 | 2024-05-06 |
2653851 | 자바 비동기 네트워크 질문입니다. | 벛꽃잎 | 2024-05-05 |
2653823 | 드림위버5로 div코딩 작업시 (10) | 미쿡 | 2024-05-05 |
2653797 | [HTML or JavaScript 질문요] 싸이2홈에 관한 (5) | 라임나무 | 2024-05-05 |
2653772 | [질문] JAVA로 제 컴에 있는 화상 카메라 제어 가능하겠죠? (2) | 환히찬 | 2024-05-04 |
2653721 | [플러그인]질문드립니다!! (3) | 이리온 | 2024-05-04 |