4:如何实现对两个整数变量的值进行互换。
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:如何实现对两个整数变量的值进行互换。相关推荐
- java交换两个变量的值_Java中交换两个整数变量的值
需求 如下,我们定义了两个整数变量,并且分别进行了赋值,下面,我们需要实现的就是将x的值赋值给y,将y值赋值给x,实现x和y的值交换: int x = 100; int y = 200; 方法一:使用 ...
- 已定义了两个整数变量A和B,完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中(2)若两个数均为奇数,则将两数均加1后存入原变量(3)若两个数均为偶数,则两个变量均不改变。
已定义了两个整数变量A和B,试编写程序完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中: (2)若两个数均为奇数,则将两数均加1后存入原变量: (3)若两个数均为偶数,则两 ...
- 两个整数取中间值问题
两个整数取中间值问题 为什么建议用mid=L+(R-L)/2而不是mid=(L+R)/2 1. 当L和R为指向数组元素的指针时 2. 当L和R为负数时 3. mid=(L+R)/2可能溢出而mid=L ...
- (c语言)求两个整数较大值
第一步:包含输入输出头文件 #include <stdio.h> 第二步:写出主函数部分 int main() { int a=0,b=0; //定义两个整数并初始化int max=0; ...
- JAVA取两个整数的中间值,不出现溢出
取两个整数中间值不溢出 今天用二分写算法的时候发现竟然超时了,后面调试发现原来是2个整数相加溢出变成负数了,记录一下不溢出取中间值的方法 下面是一般取中间值的写法 int m = (low+high) ...
- 【C语言简单说】三:整数变量和输出扩展(2)
尼玛...简直蛋了个翔... 没保存,,,, ( E___E ) 念昏了头 注:注意我们每一行代码后面的分号表示我们一句代码的结束,就像我们在写文字的时候的标点符号,一个句号表示一句话的结尾. 注:我 ...
- python输入两个整数按先大后小的顺序输出_指针变量:输入a和b两个整数,按先大后小的顺序输出a和b。...
#include int main() { int *p1,*p2,*p,a,b; printf("please enter two integer numbers:"); sca ...
- 不用额外变量交换两个整数的值
题目 如何不用任何额外变量交换两个整数的值 基本思路 如果给定整数a和b使用如下三行代码即可交换a和b的值: a = a ^ b b = a ^ b a = a ^ b 如何理解这三行代码的具体功能呢 ...
- 写一个使两个整数进行交换的方法(不能使用临时变量) 【前端每日一题-27】...
写一个使两个整数进行交换的方法(不能使用临时变量) 这道题是一个比较有意思的题,记录于此. var a=10; var b=20;...不用临时变量让a和b交换console.log(a); cons ...
最新文章
- node_modules中包不完整的解决方法
- WebSocket部署服务器外网无法连接解决方案
- 使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解
- EMLO模板GeMedia媒体范儿[小梦修改尊享版]
- android makefile文件批量拷贝文件的方法
- POJ-1004-Financial Management
- 阿里云服务器centos7上手安装-4 防火墙篇
- 最优传输论文(五十五):A DIRT-T approach to unsupervised domain adaptation
- Excel中28个基本图
- 洛谷 P3403 跳楼机 题解
- 如何用计算机校验信息,支付宝短信校验服务怎么开通?-电脑教程
- 合同智能审核软件-提高审查效率和准确性
- python微控制器编程pdf_Python高性能编程 中文高清pdf完整版[17MB]
- 用力一瞥Android渲染机制-黄油计划
- IDEA Java 死锁
- 经常性无法访问某些国内网站的问题(by quqi99)
- 恒定帧率30帧以上录制掉帧问题分析
- SAP的SLED的2个验证
- C++创建桌面应用程序:处理对话框DialogBox
- 【CSS】字体、行高、文本对齐