[질문]try내에 선언된 변수는 try외부에서 못읽는 이유가 있습니까?
맛깔손
try 구문에다가 그냥 무심결에 변수를 선언하고 try외부에서 변수를 출력할려고 했는데요
자꾸 변수가 없다는 에러가 나서 외부에 선언하니깐 되고
내부에서 선언한것은 내부에서만 실행이 되네요...
class test{
public static void main(String[] args){
try{
int i=0;
// 중간 작업
i = (int)(숫자작업);
}catch(Exception e){
System.out.println(e);
}
System.out.println(test = + i); //여기서 출력
}
}
원래소스는아니고 간단하게 이런식으로 했습니다.
이제 배워서 잘은 모르겠지만 이구문이 될것같은데 안되니깐 너무 난감하네요
try가 예외를 처리하는 블록인것은 알겠지만 거기에 변수 선언이되면 그 블럭 밖에서는 못쓰는 거에요?
이것저것 만지다 가 갑자기 안되서요.... 제가 모르는 먼가가있는 지는.... -.-
자바열공님들에 조언을 부탁드립니다. ㅠ.ㅠ
이것땜시 에러메세지 잘안보고 다른것만 고치다가 에러의 의미를 찾으니깐 쉽게 잡았는데 이유가 불확실해서요....
-
지후 2023-10-28
깔끔한 마무리 한방 ^^
-
나라우람 2023-10-28
호오 전 그냥 그려려니 생각을 했는데 정말 중요하군요... 다시 책장을 처음으로 넘기고
머리말부터 읽어야 겠어요.. ...scope....scope...scope..
진용훈씨의 마무리까지 좋은 정보 감사합니다....... -
별햇님 2023-10-28
쉽게 생각하면 이렇게 비유할수 있겠죠. 지방에 있는 전주시장이 서울에 올라왔다고 합시다. 그리고, 행정기관에 가서 뭐라고 직원들에게 지시를 하면 그게 통할까요? 않통하겠죠. 바로 소스에서도 그와 비슷합니다. 영역이라는게 있죠. 특정 영역에서 생겨난 존재는 그 영역에서만 실효성이 있죠. 물론, 하위영역을 가진다면 그하위영역에서는 통하겠죠. 이도, 대통령이 전주시내 행정기관에 가서 한마디 하면 바로 시정되듯이요. 프로그래밍 세계도 현실이랑 많이 비슷합니다.
-
미라 2023-10-28
그래서 보통 선언은 위쪽에 하고 int i; 이런식으로요.
값을 대입할때는 i = 0; 이렇게 구분해서 코딩하기도 하고...
한가지 주의하셔야 할것은, 이건 씨언어에서 더 중요한건데..
변수 스코프문제가 귀찮다고,혹은 변수값 넘기고 받기 귀찮다고 모조리 전역변수로
선언해버리시면 안됩니다...-_-
되도록 지역변수로 코딩하는게 좋습니다..^^
학교다닐때 레포트하기 귀찮아서 저도 저런식으로 많이 날림코딩해버린 기억이 납니다..^^
(끌려가서 540도 돌 -
징징몬 2023-10-28
scope 라고 합니다. 변수가 안죽고 살아 있는 영역이지요~
변수가.. 살아 갈 수 있는 영역을 벗어 났기 때문에.. 죽어 버린것이지요~ ^_^ -
HotPink 2023-10-28
자바에서는 {} 요놈의 괄호가 중요합니다. 밖에서 선언한것은 안에서 쓸 수 있지만, 안에서 선언한 것은 그 괄호{} 에서만 쓰기 위한 내부 변수이므로, 외부에서는 못 쓰죠.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698522 | [VB.net]원인을 몰라서 이렇게 질문해요! | 개랑 | 2025-06-17 |
2698448 | 인코딩 관련문제, 정말 어떻해야 할까요!! (3) | 해찬나래 | 2025-06-17 |
2698395 | [질문] 글꼴 포함 시켰을때 퍼블리시 속도 왤케느려요~~~~~~~~T.T (3) | 하연 | 2025-06-16 |
2698365 | 쉽지 않은 ul li 문제점 (2) | 크심 | 2025-06-16 |
2698310 | 제이쿼리 질문요~ (10) | 두힘 | 2025-06-15 |
2698284 | 원격지 서버 값 받아오기/ (3) | 민서 | 2025-06-15 |
2698252 | 제이쿼리 간단 질문 | 먹딸기 | 2025-06-15 |
2698231 | sprintf?? 질문 (1) | 별빛 | 2025-06-15 |
2698204 | 자동차 ECU 맵핑 아시는분? (4) | 풍란 | 2025-06-14 |
2698175 | 음 정말 c++과 api 네트워킹 고수분 께 질문합니다. | 앵겨쪼 | 2025-06-14 |
2698140 | 익스7과 익스8에서 마진이 다르게 먹혀요ㅠㅠ (4) | 안녕나야 | 2025-06-14 |
2698115 | 웹표준,접근성작업자 분들에게 궁금합니다. (4) | 튼동 | 2025-06-14 |
2698084 | 표준코딩(div) 비용 질문입니다. (1) | 좍좍 | 2025-06-13 |
2698054 | 트러스트폼에 피봇 기능있나요. | 아이폰 | 2025-06-13 |
2698003 | 웹표준어렵다고 테이블로 코딩해달라는 프로그래머 --; (10) | 지우 | 2025-06-13 |
2697945 | [질문] vc++ 에서 리스트 컨트롤에 부분만 UpdateData() 할 수 없을까요? (2) | 든해솔 | 2025-06-12 |
2697917 | {와 }의 필요성?.. (1) | 이루리라 | 2025-06-12 |
2697885 | valign 을 대치할수 있는 것은~~ (1) | 족장 | 2025-06-12 |
2697855 | 오라클이랑 궁합이 맞는 언어는 자바일까요? c++일까요? (4) | 배꽃 | 2025-06-11 |
2697830 | [질문]어느 범위로 들어가면 다음 프레임으로 넘어갈려면??? | 맑다 | 2025-06-11 |