(3)
자바 나머지 알고리즘 시 뮬 레이 션 코드:
// ,dividend ,divisor
public static int reminder(int dividend, int divisor ){
return dividend - divdiend / divisor * divisor;
}
dividend 가 - 1, divisor 가 2 일 때 연산 결 과 는 - 1, 1 이 아니 므 로 패 리 티 를 판단 할 때 i% 2 = = = 1 로 - 1 을 짝수 로 오심 하고 짝수 i% 2 = = 0 으로 판단 하면 됩 니 다.기초 지식 에 대해 우 리 는 반드시 "그런 것 을 알 고 그 이 유 를 알 아야 한다."
22. 정수 유형 으로 화 폐 를 처리한다.
컴퓨터 에서 부동 소수점 은 부정 확 할 수 있 습 니 다. 그것 은 무한 정 정확 치 에 접근 할 수 있 을 뿐 완전히 정확 하지 않 습 니 다. 이것 은 부동 소수점 의 저장 규칙 으로 인해 이 진 은 일부 부동 소수점 을 정확하게 표시 할 수 없습니다.만약 에 부동 소수점 을 사용 하여 화 폐 를 계산한다 면 대량의 가감 승제 후에 결 과 는 큰 차이 가 있 을 것 이다 (반올림 문제 와 관련 될 것 이다). 회계 시스템 은 정확 해 야 하지만 컴퓨터 의 원인 이 정확 하지 않 기 때문이다.이 문 제 를 해결 하 는 데 는 두 가지 방법 이 있다.
23. 유형 을 묵묵히 바 꾸 지 마 세 요.
기본 형식 변환 시 능 동적 성명 방식 으로 bug 감소
국경
유닛 테스트 에서 경계 테스트 (임계 테스트 라 고도 함) 라 는 테스트 가 있 습 니 다. 만약 에 하나의 방법 이 int 유형의 매개 변 수 를 받 으 면 다음 과 같은 세 가지 값 은 반드시 측정 해 야 합 니 다. 0, 최대, 마이너스 가 가장 적 고 그 중에서 최대 와 마이너스 가 가장 작은 것 은 경계 값 입 니 다.만약 이 세 가지 값 이 모두 문제 가 없다 면 방법 이 야 말로 안전 하고 믿 을 만하 다.
스물 다섯
일반적인 프로젝트 에서 반올림 모델 은 큰 영향 을 주지 않 고 Math. round () 방법 을 직접 사용 할 수 있 지만 대량의 화폐 디지털 과 상호작용 을 하 는 프로젝트 에서 반드시 비슷 한 계산 모델 을 선택 하여 알고리즘 에 따라 발생 하 는 손실 을 최소 화해 야 한다.주의: 서로 다른 장면 에 따라 서로 다른 반올림 모델 을 신중하게 선택 하여 프로젝트 의 정확 도 를 높이 고 알고리즘 손실 을 줄인다.
26. 포장 유형의 null 값 을 조심 합 니 다.
포장 대상 과 뜯 는 대상 은 자 유 롭 게 전환 할 수 있 지만 null 값 을 제거 해 야 합 니 다. null 값 은 기본 형식 으로 바 꿀 수 없습니다.이러한 문제 에 대해 우 리 는 한 가지 명심 하 겠 습 니 다. 포장 유형 이 연산 에 참여 할 때 null 값 검 사 를 해 야 합 니 다.
27. 신중 한 포장 유형의 크기 비교
자바 에서 '>' 와 '두 대상 간 의 비 교 는 CompareTo () 방법 을 사용 해 야 한다.
28. 성형 풀 우선 사용
포장 동작 은 valueOf () 방법 을 통 해 이 루어 집 니 다. valueOf 는 어떻게 대상 을 생 성 합 니까? Integer. valueOf () 의 원본 코드 를 보십시오.
public static Integer valueOf(int i){
final int offset = 128;
if( i>= -128 && i<= 127){
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
이 코드 의 뜻 은 이미 명확 합 니 다. 만약 에 - 128 에서 127 사이 의 int 형식 이 Integer 대상 으로 바 뀌 면 cache 배열 에서 직접 얻 을 수 있 습 니 다. 그러면 cache 배열 에서 무엇 입 니까? 코드 는 다음 과 같 습 니 다.
static final Integer cache[] = new Integer[-(-128) + 127 + 1];
static{
for(int i = 0;i < cache.length; i++){
cache[i] = new Integer[i - 128];
}
}
포장 류 의 value Of () 를 통 해 포장 실례 를 생 성하 면 공간 과 시간 성능 을 현저히 향상 시 킬 수 있다.
29. 기본 유형 우선 선택
30. 무 작위 피 드 를 함부로 설치 하지 마 세 요
필요 하지 않 으 면 설정 하지 마 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.