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
随机推荐
- vue2.0 与 bootstrap datetimepicker的结合使用实例
- Javascript动画效果(2)
- java设计模式之桥接模式(Bridge)
- python动态性强类型用法实例
- 微信小程序之小豆瓣图书实例
- 实用javaScript技术-屏蔽类
- python3生成随机数实例
- java 实现切割文件和合并文件的功能
- 深入理解JavaScript系列(37):设计模式之享元模式详解
- js制作简易年历完整实例
- 解读absolute与relative
- 微信公众平台开发接口PHP SDK完整版
- 用ASP读取/写入UTF-8编码格式的文件
- Java数据库存取技术
- asp.net Coolite 学习交流
- ThinkPHP中create()方法自动验证表单信息
- js 毫秒转天时分秒的实例
- node.js将MongoDB数据同步到MySQL的步骤
- JS判断数组里是否有重复元素的方法小结
- python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
