개인 재정 자바의 논리 오류

자바의 논리 오류

비디오: Java - 배열 (6/6) : 배열의 오류와 한계 2024

비디오: Java - 배열 (6/6) : 배열의 오류와 한계 2024
Anonim

Java 프로그래밍의 논리적 오류는 코딩 문제 또는 Java 언어 요소 사용시 오류를 반영하지 않기 때문에 찾기가 매우 어려울 수 있습니다. 코드는 작성대로 완벽하게 실행됩니다. 단지 수행 할 것으로 예상되는 작업을 수행하지 않습니다.

결과적으로 논리적 오류가 가장 어려운 오류 일 수 있습니다. 오류의 정확한 원인을 찾기 위해 코드를 검토하는 데 시간을 소비해야합니다. 다음은 Java 개발자가 접하게되는 일반적인 논리적 오류 목록입니다.

  • 잘못된 연산자 우선 순위 사용: 자바가 연산자를 해석하는 순서가 중요합니다. 개발자가 정확한 위치에 괄호를 포함하지 않았기 때문에 응용 프로그램에서 종종 잘못된 결과를 생성합니다.

    예를 들어, 다음 예제는 괄호의 위치 (또는 부족)로 인해 4 개의 변수에서 11, 13, 9 및 8의 출력을 생성합니다.

    public class OperatorError {public static void main (String [] args) {// 일부 변수를 만듭니다. int MyVar1 = 5 + 4 * 3 / 2; int MyVar2 = (5 + 4) * 3 / 2; int MyVar3 = (5 + 4) * (3 / 2); int MyVar4 = (5 + (4 * 3)) / 2; // 결과를 출력합니다. 체계. 아웃. 잘못된 수 정의:
    
  • 가장 일반적인 논리 오류 일 수 있습니다 (예: "MyVar1:"+ MyVar1 + "nMyVar2:"+ MyVar2 + "nMyVar3:"+ MyVar3 + "nMyVar4:"+ MyVar4: 잘못 계산하고 있습니다. 사람들은 1을 사용하여 카운트를 시작하는 데 익숙해지며 컴퓨터는 종종 0으로 계산을 시작합니다. 따라서 작업이 루프를 실행하든 항목 모음을 사용하여 작업하든 관계없이 응용 프로그램이 정확하게 수행되는 것은 드문 일이 아닙니다. 개발자가 종종 조건을 정의하고 논리를 검증하지 않고 진술 (true 또는 false)이라고 가정하는 구문을 살펴볼 것입니다. 성명서의

  • and 문을 사용하려고 할 때 an이나 statement를 사용하면 문제가 발생할 수도 있습니다. 결정을 내리는 데 사용되는 논리는 많은 개발자, 심지어 숙련 된 개발자도 많은 문제를 일으 킵니다. 조건문에 대한 가정을 항상 확인하십시오.

    정밀 작업을 위해 부동 소수점 숫자에 의존:

    부동 소수점 숫자가 특정 숫자를 제공한다고 가정 할 수 없습니다. 이는 부동 소수점 숫자가 특정 값과 동일한 지 여부를 확인할 수 없음을 의미합니다. 대신 값 범위를 사용하여 확인을 수행해야합니다. 부동 소수점 숫자는 항상 자바의 근사값입니다.
  • 정수 값을 사용하여 값 측정: 정수는 항목을 계산할 때 정확하므로 정확합니다.그러나 많은 정수 연산이 부정확 한 결과를 만듭니다. 이것은 나머지 부분이 항상 중단되기 때문에 구분에 특히 해당됩니다. (수치는 내림됩니다.) 무언가와 정밀도를 측정해야 할 때 부동 소수점 값이나 BigDecimal 객체 유형을 사용하는 것이 중요합니다.

  • 세미콜론을 잘못 배치: 잘못된 위치에 세미콜론을 넣었음에도 불구하고 완벽하게 컴파일되고 실행되는 Java 코드를 만들 수 있습니다. 다음은 그 예입니다:

  • public class ForLoopError {public static void main (String [] args) {// 변수를 선언합니다. int Count; // 루프를 만듭니다. for (Count = 1; Count <= 10; count ++); {// 결과를 출력합니다. 체계. 아웃. println ("Count is"+ Count);}}} 세미콜론은 for 문 바로 뒤에 나타나지 않고 for 문 바로 뒤에 나타납니다. Count의 개별 값을 인쇄하는 대신이 예제는 Count가 11 인 단일 문장을 인쇄합니다.

자바의 논리 오류

편집자의 선택

Photoshop Elements 11 - Stone

Photoshop Elements 11 - Stone

을 사용하여 Stone Out을 조각하는 방법 Photoshop Elements 11의 도구를 입력하여 텍스트와 같은 모양의 선택 영역을 만든 다음 이미지 자체를 해당 유형의 채우기로 사용합니다. 예를 들어 꽃 테마 웹 페이지를 만드는 경우 꽃 그림을 텍스트 채우기로 사용할 수 있습니다. 유형 선택을 사용하면 모든 부분을 잘라낼 수 있습니다.

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

여러 파일에 공통적으로 적용 할 편집 기능을 사용하면 Photoshop Elements에서 이러한 변경 사항을 일괄 적으로 처리 할 수 ​​있습니다. 단일 메뉴 명령을 사용하여 파일 형식을 변경하고 파일 속성을 변경하고 공통 파일 기본 이름을 추가 할 수 있습니다. 파일 이름 바꾸기는 내보내기 명령의 일부일 수도 있고 사용할 수도 있습니다.

편집자의 선택

승마 2012 런던 하계 올림픽 - 인형

승마 2012 런던 하계 올림픽 - 인형

승마 (말의 화려한 이름) 경쟁 런던 2012 하계 올림픽은 조련사, 이벤트 및 점프의 세 가지 분야로 구성됩니다. 각 분야는 팀과 개인 메달을위한 기회를 제공합니다. 대회는 7 월 28 일부터 31 일까지 개최됩니다. 조련사 경연 대회는 8 월 2 일부터 9 일까지 개최됩니다. 점프 대회는 ...

동계 올림픽에서의 자유형 스키 - 인형

동계 올림픽에서의 자유형 스키 - 인형

프리 스타일 스키는 동계 올림픽의 X 게임 이벤트 중 하나입니다. . 자유형 스키에서는 경쟁자가 언덕 꼭대기에서 바닥까지 다양한 행사를 수행합니다. 프리 스타일 스키는 기술 스키의 가장 중요한 부분을 차지하며 스노우 보드에서 트릭을 만들어내는 기술과 결합되어 있습니다.

필드 2012 런던 하계 올림픽의 이벤트 - 인형

필드 2012 런던 하계 올림픽의 이벤트 - 인형

스프린트, 릴레이 및 도로 경주 이외에도 2012 런던 하계 올림픽 육상 경기에는 점프 및 던지기 경기가 포함됩니다. 남자와 여자는 높은 점프, 긴 점프, 트리플 점프, 장대 높이뛰기 등의 4 가지 점프 이벤트와 총구, 원반, 창 던지기 및 망치와 같은 네 가지 투구 이벤트에서 경쟁합니다. 필드 이벤트 ...

편집자의 선택

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

엑셀 2016의 액션. Range 객체는 수십 개의 메소드를 가지고 있지만, 이들 중 대부분은 필요하지 않습니다. 여기서는 가장 일반적으로 사용되는 Range 객체 메소드를 찾습니다. Select 메서드 Select 메서드를 사용하여 셀 범위를 선택합니다. 다음 문은 ...

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자는 목표 탐색 데이터 탭의 가정 분석 섹션에 데이터 테이블이 있습니다. 다른 유용한 도구와 함께 그룹화하면 시나리오 관리자가 중요한 도구임을 믿게 될 것입니다. 그러나 유용한 이름과 좋은 회사가 있음에도 불구하고 ...

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

Power Query를 함께 사용하면 관리 및 유지 보수가 쉬운보고 모델을 만들 수 있습니다. 보고 모델은보고 메커니즘이 구축되는 기초를 제공합니다. 데이터를 가져오고, 변환하고, 모양을 만들고, 집계하는보고 프로세스를 작성하면 본질적으로보고 모델을 구축하게됩니다. 잘못 작성하는 중 ...