면접 문제:두 정수 변수의 교환 실현

4179 단어 독학 자바
면접 문제:두 정수 변수의 교환 실현
이 게시 물 은 네 가지 정수 변수의 교환 방식 을 요약 했다.
4.567917 방식 1:개발 에서 자주 사용 하 는 중간 변 수 를 사용 합 니 다.
4.567917 방식 2:중간 변 수 를 사용 하지 않 는'화'실현4.567917 방식 3:면접 에서 사용 하 는 것 은 위치 에 따라 또는"^"방식 4:한 마디 로 교환

방식 1:개발 에 자주 사용 되 는 중간 변 수 를 사용 합 니 다.
*코드 블록*
 public class SwapDemo{
    public static  void main(String[] args) {
        int i = 10;
        int j = 20;

        int temp;
        temp = i;  //i = 10; j = 20; temp = 10;
        i = j;     //i = 20; j = 20; temp = 10;
        j = temp;  //i = 20; j = 10; temp = 10;

        System.out.println("i=" + i + ";j=" + j);
        // "i=20;j=10"
    }
}

방식 2:중간 변 수 를 사용 하지 않 는'화'실현
*코드 블록*
public class SwapDemo{
    public static  void main(String[] args) {
        int i = 10;
        int j = 20;

        i = i + j;   //i = 30; j = 20;
        j = i - j;   //i = 30; j = 10;
        i = i - j;   //i = 20; j = 10;

        System.out.println("i=" + i + ";j=" + j);
        // "i=20;j=10"
    }
}

방식 3:면접 에서 사용 하 는,위치 별 또는"^"
4.567917.'^'의 특징:특정한 데이터 가 다른 데이터 에 대해'^'두 번,이 숫자 자 체 는 변 하지 않 는 다4.567917.면접 문 제 는 가장 효율 적 인 방법 으로 두 정수 의 값 교환 을 실현 하 라 고 묘사 할 수 있 습 니 다*코드 블록*
public class SwapDemo{
    public static  void main(String[] args) {
        int i = 10;
        int j = 20;

        i = i ^ j;
        j = i ^ j;
        i = i ^ j;

        System.out.println("i=" + i + ";j=" + j);
        // "i=20;j=10"
    }
}

*방식 4:한 마디 로 교환
*코드 블록*
4.567917.*알 면 됩 니 다.
public class SwapDemo{
    public static  void main(String[] args) {
        int i = 10;
        int j = 20;

        j = ( i + j ) - ( i = j );

        System.out.println("i=" + i + ";j=" + j);
        // "i=20;j=10"
    }
}

좋은 웹페이지 즐겨찾기