class AbsoluteNumber {
public static void main(String args[]) {
int num = -125;
if (num < 0) {
int abs = num;
abs = -abs;
}
System.out.println(abs);
}
}
여기서 문자열 하나만 바꾸면 실행이된다는데 물론 답은알았음
이것저것 바꿔보다가 알게됐는데
어째서 int abs = num;을 if앞에 넣으면 실행이되는거임?
int num = -125;를 로컬변수로 선언하고나서
int는 int끼리 바로 딱딱 붙어야하는 그런 조건이있는건가?
너무 초보적인 질문이지만 나 프로그래밍 잘하고싶고 지금 급 재미붙인거니까 답변좀부탁ㅠㅠ
http://jogamja.tistory.com/m/entry/Java-11-3가지-범위의-변수
scope라는 개념이 있는데, 소스코드 안에서 영향을 미치는 범위를 말해. 블록 안에서 선언된 변수는 그 블록 안에서만 유효한 것이 되어버려. 땡블록 몇 개 만들어서 실험 해봐.
if문 다음에 오는 블록 안에 int abs; 라는 선언이 그 안에 갇힌 셈이지.
아 그렇구나 이해했다 로컬변수 그 바로 다음에 조건문이오면서 중괄호가 나오고 중괄호 마지막이 abs=-abs;하고 중괄호로 닫았기때문에 이건 if문안에서만 효력이있으므로 위에 로컬변수하고는 전혀 의미가없는거구나 아까책에서봤던건데 까먹었었나보네 답변고맙다
내일도 질문혹시 올리면 종종답변좀 부탁할게~ 나 이 업계로 꼭 취직하고싶어 이거아니면 난 답없을거같아 그래서 매일같이 1시간남짓 열심히하려고 오래시간 투자할수는없다.. 운동에지금 미쳐있어서
그럼때려쳐 운동시간때문에 코딩할시간없다며누서 취직하길원하네