>  기사  >  Java  >  Java 문 블록 사용에 대한 자세한 설명과 예

Java 문 블록 사용에 대한 자세한 설명과 예

高洛峰
高洛峰원래의
2017-01-23 13:20:251882검색

자바 명령문 블록

처음 C, C++, Java 프로그래밍 책을 읽었을 때 명령문 블록이 소개되었던 기억이 납니다. 그 당시에는 명령문 블록이 무엇인지조차 이해하지 못했습니다. "코드 백과사전"에서도 유사한 기능을 가진 명령문을 함께 구성하여 명령문 블록을 구성한 다음 이를 빈 줄로 다른 명령문 블록과 분리하는 방법에 대해 설명합니다. 그러나 이것은 진정한 프로그래밍 언어 의미의 명령문 블록이 아니라 인간 이해의 명령문 블록일 뿐입니다.

제가 이해한 바에 따르면, 제어 논리와 같이 동일한 변수 범위를 갖는 관련 명령문의 집합이어야 하는 것 같습니다. 가장 중요한 점은 변수 범위라고 생각합니다. 즉, 동일한 지역 변수를 사용할 수 있다면 프로그램 의미에서는 명령문 블록입니다. 예를 살펴보겠습니다.

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
 switch (item.getItemId()) { 
 case MENU_GOTO_FILEANT: 
 Intent i = new Intent(); 
 i.setClass(this, FileAntActivity.class); 
 startActivity(i); 
 break; 
 case MENU_TEST_LINEARLAYOUT: 
 i.setClass(this, LinearLayoutTest.class); 
 startActivity(i); 
 break; 
 default: 
 break; 
 } 
 return true; 
}

두 번째 Case 문의 경우 이전 Case에서 정의한 변수를 계속 사용할 수 있으므로 전체 switch() {}는 명령문 블록입니다.

그러나 각 Case 문에 문 블록 플래그를 추가하면 달라집니다.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
 case MENU_GOTO_FILEANT: {
 Intent i = new Intent();
 i.setClass(this, FileAntActivity.class);
 startActivity(i);
 break;
 }
 case MENU_TEST_LINEARLAYOUT: {
 Intent i = new Intent();
 i.setClass(this, LinearLayoutTest.class);
 startActivity(i);
 break;
 }
 default:
 break;
 }
 return true;
}

를 { }로 구분합니다. 두 개의 Case 문은 두 개의 명령문 블록을 형성하며, 자체적인 변수 범위를 가지며 서로 영향을 주지 않습니다. 이름이 같거나 다시 정의되어도 상관 없습니다.

이것을 설명하는 목적은 {}를 최대한 사용하여 실제 명령문 블록을 형성하는 것입니다. 가장 큰 장점은 변수 범위를 형성할 수 있고 변수의 범위도 너무 커지지 않는다는 것입니다. 이렇게 하면 가독성이 향상되고 오류 가능성이 줄어듭니다.

읽어주셔서 감사합니다. 도움이 되기를 바랍니다. 이 사이트를 지원해 주셔서 감사합니다!

자바 구문 블록 사용에 대한 자세한 설명과 예시는 PHP 중국어 홈페이지를 참고해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.