package day;

public class HomeWork_01 {
// 4:如何实现对两个整数变量的值进行互换。
public static void main(String[] args) {
// 方法一:
// 要点:int c1 =a1;创建一个变量去存放要调换的某个变量的值,之后拿这个变量和第二交换
//int i =1;int j=2;
// 由于【ij是变量】如果直接输出的i和j的话,会导致结果i=1;j=1
// 因为j=i后,j是1,下面又i=j,又把1给了i,所以导致ij都是1

int a1 =11;
int b2 =22;
int c1 =a1;//c1=11  (先把a1(11)赋值给c1,让c1的值就是a1的)
a1 = b2;// a1=22  
b2 = c1;// b2=11 (然后在和c1(11)赋值给b2)

System.out.println("初始值:a1=11,b2=22;"+"a1值是"+a1+";b2的值="+b2);

//方法四【推荐】(比较容易理解):创建一个变量,并将值进行交换
int x =8;
int y =9;
int temp;      //创建一个中间变量
temp = x;
x = y;
y =temp;   //将temp的值和y交换
System.out.println("初始值:x=8,y=9;" + "互换后的值:x=" + x + ";y=" + y);

// 方法二:不需定义第三方变量的方法(有弊端,容易超出int的取值范围)
int a = 1;
int b = 2;
a = a + b; // a= 3=1+2
b = a - b; // b= 1=3-2 //这里的a是3始终还是3
a = a - b; // a= 2=3-1
System.out.println("初始值:a=1,b=2;" + "互换后的值:a=" + a + ";b=" + b);

// 方法三:不需定义第三方变量的方法,^按位异或:相同为false 0 不同为true 1;一个数据对另一个数据位异或两次 该数本身不变
int q = 1;  //十进制1转二进制=0001
int w = 2;  //十进制2转二进制=0010
q = q ^ w;  //   q=  0001^0010 (=0011)3
w = q ^ w;  //   w=  0011^0010 (此时w是=0001)1
q = q ^ w; // q=  0011^0001 (此时w是=0010)2
System.out.println("初始值:q=1,w=2;" + "互换后的值:q=" + q + ";w=" + w);

}
}

4:如何实现对两个整数变量的值进行互换。相关推荐

  1. java交换两个变量的值_Java中交换两个整数变量的值

    需求 如下,我们定义了两个整数变量,并且分别进行了赋值,下面,我们需要实现的就是将x的值赋值给y,将y值赋值给x,实现x和y的值交换: int x = 100; int y = 200; 方法一:使用 ...

  2. 已定义了两个整数变量A和B,完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中(2)若两个数均为奇数,则将两数均加1后存入原变量(3)若两个数均为偶数,则两个变量均不改变。

    已定义了两个整数变量A和B,试编写程序完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中: (2)若两个数均为奇数,则将两数均加1后存入原变量: (3)若两个数均为偶数,则两 ...

  3. 两个整数取中间值问题

    两个整数取中间值问题 为什么建议用mid=L+(R-L)/2而不是mid=(L+R)/2 1. 当L和R为指向数组元素的指针时 2. 当L和R为负数时 3. mid=(L+R)/2可能溢出而mid=L ...

  4. (c语言)求两个整数较大值

    第一步:包含输入输出头文件 #include <stdio.h> 第二步:写出主函数部分 int main() { int a=0,b=0; //定义两个整数并初始化int max=0; ...

  5. JAVA取两个整数的中间值,不出现溢出

    取两个整数中间值不溢出 今天用二分写算法的时候发现竟然超时了,后面调试发现原来是2个整数相加溢出变成负数了,记录一下不溢出取中间值的方法 下面是一般取中间值的写法 int m = (low+high) ...

  6. 【C语言简单说】三:整数变量和输出扩展(2)

    尼玛...简直蛋了个翔... 没保存,,,, ( E___E ) 念昏了头 注:注意我们每一行代码后面的分号表示我们一句代码的结束,就像我们在写文字的时候的标点符号,一个句号表示一句话的结尾. 注:我 ...

  7. python输入两个整数按先大后小的顺序输出_指针变量:输入a和b两个整数,按先大后小的顺序输出a和b。...

    #include int main() { int *p1,*p2,*p,a,b; printf("please enter two integer numbers:"); sca ...

  8. 不用额外变量交换两个整数的值

    题目 如何不用任何额外变量交换两个整数的值 基本思路 如果给定整数a和b使用如下三行代码即可交换a和b的值: a = a ^ b b = a ^ b a = a ^ b 如何理解这三行代码的具体功能呢 ...

  9. 写一个使两个整数进行交换的方法(不能使用临时变量) 【前端每日一题-27】...

    写一个使两个整数进行交换的方法(不能使用临时变量) 这道题是一个比较有意思的题,记录于此. var a=10; var b=20;...不用临时变量让a和b交换console.log(a); cons ...

最新文章

  1. node_modules中包不完整的解决方法
  2. WebSocket部署服务器外网无法连接解决方案
  3. 使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解
  4. EMLO模板GeMedia媒体范儿[小梦修改尊享版]
  5. android makefile文件批量拷贝文件的方法
  6. POJ-1004-Financial Management
  7. 阿里云服务器centos7上手安装-4 防火墙篇
  8. 最优传输论文(五十五):A DIRT-T approach to unsupervised domain adaptation
  9. Excel中28个基本图
  10. 洛谷 P3403 跳楼机 题解
  11. 如何用计算机校验信息,支付宝短信校验服务怎么开通?-电脑教程
  12. 合同智能审核软件-提高审查效率和准确性
  13. python微控制器编程pdf_Python高性能编程 中文高清pdf完整版[17MB]
  14. 用力一瞥Android渲染机制-黄油计划
  15. IDEA Java 死锁
  16. 经常性无法访问某些国内网站的问题(by quqi99)
  17. 恒定帧率30帧以上录制掉帧问题分析
  18. SAP的SLED的2个验证
  19. C++创建桌面应用程序:处理对话框DialogBox
  20. 【CSS】字体、行高、文本对齐

热门文章

  1. 同步一张表、复制过滤设置
  2. DBMS_SPACE包的使用
  3. python3.6.8下robot framework ride 测试环境搭建
  4. 算法——海量数据(5%)
  5. 01Spring的helloworld程序
  6. java:区间k大数查询
  7. 7-5 jmu-Java-03面向对象基础-05-覆盖 (3 分)
  8. 第10章 例题 7-4 汉诺(Hanoi)塔问题
  9. C语言函数题-取子串 (10分)
  10. c语言 位域 sizeof,含位域结构体的sizeof