Java中使用异或语句实现两个变量的互换
一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,可以用更高效的方法。例如:^(异或)操作,举例如下:
import java.util.Scanner; public class VariableExchange { public static void main(String args[]){ Scanner scan = new Scanner(System.in); System.out.println("请输入第一个整数变量:"); long A = scan.nextLong(); System.out.println("请输入第二个整数变量:"); long B = scan.nextLong(); System.out.println("A="+A+"\tB="+B); System.out.println("执行变量互换后......"); A = A^B; //执行变量互换 B = B^A; A = A^B; System.out.println("A="+A+"\tB="+B); } }
输出结果:
run: 请输入第一个整数变量: 100 请输入第二个整数变量: 200 A=100 B=200 执行变量互换后...... A=200 B=100 BUILD SUCCESSFUL (total time: 5 seconds)
相关推荐
-
Java中使用异或语句实现两个变量的互换
一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销.如果要交换的变量时两个整数型变量,可以用更高效的方法.例如:^(异或)操作,举例如下: import java.util.Scanner; public class VariableExchange { public static void main(String args[]){ Scanner scan = new Scanner(System.in); System.out.println("请输入第一个整
-
java中的异或问题代码解析
java的位运算符中有一个叫异或的运算符,用符号(^)表示,其运算规则是:两个操作数的位中,相同则结果为0,不同则结果为1.下面看一个例子: public class TestXOR{ public static void main(String[] args){ int i = 15, j = 2; System.out.println("i ^ j = " + (i ^ j)); } } 运行结果是:i^j=13. 分析上面程序,i=15转成二进制是1111,j=2转成二进制是00
-
Java 中 Form表单数据的两种提交方式
1 GET - 从指定的服务器中获取数据 1.1 GET方法 使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器,例如:http://localhost:8080//customer/customer_info?res=json&mt=0&custId=1 1.2 特点 (1) GET请求能够被缓存 (2) GET请求会保存在浏览器的浏览记录中 (3) 以GET请求的URL能够保存为浏览器书签 (4) GET请求有长度限制(不能多于1024字节) (5) GET请
-
Java 中执行动态表达式语句前中后缀Ognl、SpEL、Groovy、Jexl3
目录 Ognl.SpEL.Groovy.Jexl3 一.前中后缀简单描述 1.前缀.中缀.后缀表达式(逆波兰表达式) 2.中缀表达式 3.后缀表达式 4.前缀表达式 二.OGNL 三.SpEL 四.Jexl/Jexl3 五.Groovy 六.扩展 Ognl.SpEL.Groovy.Jexl3 在一些规则集或者工作流项目中,经常会遇到动态解析表达式并执行得出结果的功能. 规则引擎是一种嵌入在应用程序中的组件,它可以将业务规则从业务代码中剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业务规则
-
Java 中二进制转换成十六进制的两种实现方法
Java 中二进制转换成十六进制的两种实现方法 每个字节转成16进制,方法1 /** * 每个字节转成16进制,方法1 * * @param result */ private static String toHex(byte[] result) { StringBuffer sb = new StringBuffer(result.length * 2); for (int i = 0; i < result.length; i++) { sb.append(Character.forDigi
-
java中的switch case语句使用详解
java中的switch case语句 switch-case语句格式如下: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //...; break; } swtich()变量类型只能是int.short.char.byte和enum类型(JDK 1.7 之后,类型也可以是String了).当进行case判断时,JVM会自动从上到小扫描,寻找匹配的case,可能存在以下情况: 情况一:若未
-
mybatis源码解读-Java中executor包的语句处理功能
目录 1.mybatis对多语句类型的支持 2.mybatis的语句处理功能 1.mybatis对多语句类型的支持 在mybatis映射文件中传参数,主要用到#{} 或者 ${}. #{}:表示使用这种符号的变量会以预编译的形式赋值到sql片段中. ${}:表示使用这种符号的变量会以字符串的形式直接插到sql片段中. mybatis中支持三种语句类型,不同语句类型支持的变量符号不同.mybatis的三种类型如下: STATEMENT:这种语句类型中,只会对sql片段进行简单的字符串拼接.只支持使
-
关于Java中try finally return语句的执行顺序浅析
问题分析 finally语句块一定会执行吗? 可能很多人第一反应是肯定要执行的,但仔细一想,如果一定会执行的话 也就不会这么SB的问了. Demo1 public class Test { public static void main(String[] args) { System.out.println("return value of test(): " + test()); } public static int test() { int i = 1; // if (i ==
-
Java中的常用输入输出语句的操作代码
一.概述 输入输出可以说是计算机的基本功能.作为一种语言体系,java中主要按照流(stream)的模式来实现.其中数据的流向是按照计算机的方向确定的,流入计算机的数据流叫做输入流(inputStream),由计算机发出的数据流叫做输出流(outputStream). Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可以实现计算机对数据的输入.输出操作.在编写输入.输出操作代码时,需要用import语句将java.io包导入到应用程序所在的类中,才可以
-
Java两个变量的互换(不借助第3个变量)具体实现方法
创建一个类,在该类中定义两个变量并为其指定初始值,然后交换两个变量的值,要求不允许借助第三个变量,只能使用异或运行实现两个变量值的交换. 复制代码 代码如下: import java.util.Scanner;public class VariableExchange { public static void main(String[] args){ System.out.println("请输入变量A的值"); Scanner scanner=new
随机推荐
- 详解angularJs模块ui-router之状态嵌套和视图嵌套
- python编程羊车门问题代码示例
- jquery.cookie.js实现用户登录保存密码功能的方法
- 用 PQ 8.05 中文版分区的图解_图解硬盘分区
- Java中线程用法总结
- .NET C#创建WebService服务简单实例
- EXCEL数据上传到SQL SERVER中的简单实现方法
- JavaScript实现滚动栏效果的方法
- IE6-8中Date不支持toISOString的修复方法
- JavaScript制作简易计算器(不用eval)
- python实现批量获取指定文件夹下的所有文件的厂商信息
- 轻松实现js弹框显示选项
- jquery ready函数源代码研究
- Centos Linux7设置静态IP的实例
- Linux使用MySQL忘记root密码及修改MySQL默认编码
- Java StringBuilder和StringBuffer源码分析
- asp.net 用户控件中图片及样式问题
- C#归并排序的实现方法(递归,非递归,自然归并)
- ADSL 猫在路由方式下会有安全隐患
- js 毫秒转天时分秒的实例