• 交换两个变量的值


    1、方案一

     1 public static void main(String[] args) {
     2     int x = 1;
     3     int y = 2;
     4         
     5     /*
     6         通用的方案:适用于任意的数据类型借助于第三个通样类型的临时变量
     7     */
     8     int temp = x;//x变量中值就赋值给了temp  temp = 1
     9     x = y;//再把y中的值放到x中,x = 2
    10     y = temp;//再把temp中的值赋值给y  y=1
    11     System.out.println("x = " + x);
    12     System.out.println("y = " + y);
    13 }        

    2、方案二

     1 public static void main(String[] args){
     2     int x = 1;
     3     int y = 2;
     4     /*
     5     方案二:只适用于int等整数类型
     6     */
     7     x = x ^ y;
     8     y = x ^ y;//(新的x) ^ 原来的y = (原来的x ^ 原来的y) ^ 原来的y = 原来的x  (求不同)
     9     x = x ^ y;//(新的x) ^ 新的y = (原来的x ^ 原来的y) ^ 原来的x = 原来的y
    10     System.out.println("x = " + x);
    11     System.out.println("y = " + y);
    12 
    13 }

    3、方案三

     1 public static void main(String[] args){
     2     int x = 1;
     3     int y = 2;
     4     /*
     5     方案三:只适用于int等整数类型有风险,可能会溢出
     6     */
     7     x = x + y;//有风险,可能会溢出
     8     y = x - y;//(新的x) - 原来的y = (原来的x + 原来的y)- 原来的y  = 原来的x
     9     x = x - y;//(新的x) - 新的y = (原来的x + 原来的y) - 原来的x = 原来的y
    10     System.out.println("x = " + x);
    11     System.out.println("y = " + y);
    12 }
  • 相关阅读:
    AcWing 171. 送礼物
    AcWing 167. 木棒
    AcWing 166. 数独
    AcWing 168. 生日蛋糕
    AcWing 180 排书
    A*与IDA* 算法介绍
    AcWing 170. 加成序列[曾用名:加法链]
    AcWing 普通队列与循环队列写法
    AcWing 181. 回转游戏
    AcWing 1129. 热浪【单源最短路】
  • 原文地址:https://www.cnblogs.com/niujifei/p/11834067.html
Copyright © 2020-2023  润新知