-
2020-08-04 19:24:31
两个数值交换
效率高低
按位异或(整数)、求和(一般是整数)、中间变量(常用、任意数据、简单)
代码class WeiTest2{ public static void main(String[] args) { //定义变量 int a=4; int b=5; System.out.println("a的值:"+a+",b的值:"+b); //1.中间变量 /*int temp =a; a=b; b=temp; System.out.println("a的值:"+a+",b的值:"+b);*/ //2.按位异或 /*a=a^b; b=a^b; // b=a^b^b=a a=a^b; //a=a^b^a=b System.out.println("a的值:"+a+",b的值:"+b);*/ //3.求和 a=a+b; b=a-b; //b=a+b-b=a a=a-b; //a=a+b-a=b System.out.println("a的值:"+a+",b的值:"+b); } }
更多相关内容 -
java 数据交换
2017-08-18 23:00:25摘要今天写了闲着没事,写了一个排序算法,其中一个写了一个交换的函数,发现并不起作用,后来想起来初学的时候同样犯过此错误,故在此将解决方法写下。摘要
今天写了闲着没事,写了一个排序算法,其中一个写了一个交换的函数,发现并不起作用,后来想起来初学的时候同样犯过此错误,故在此将解决方法写下。
错误的交换函数
public static void swap(int a,int b){ //这里使用异或运算比加法效率高些 System.out.printf("a=%d,b=%d\n",a,b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.printf("a=%d,b=%d\n",a,b); }
由于java基本类型是传值引用
此函数中,外部数据将值传给形参,a、b的作用域限定在swap函数,函数调用后,实际在函数外需要改变位置的数据没有产生变化。解决思路
1.将交换后的值赋给返回值
public static int[] swap(int a,int b){ System.out.printf("a=%d,b=%d\n",a,b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.printf("a=%d,b=%d\n",a,b); return new int[]{a,b}; }
2.直接将数组及其下标传入
public static void swap(int[] arr,int i,int j){ arr[i]=arr[i]^arr[j]; arr[j]=arr[i]^arr[j]; arr[i]=arr[i]^arr[j]; }
jdk中Collections.swap的实现与其类似
/** * Swaps the elements at the specified positions in the specified list. * (If the specified positions are equal, invoking this method leaves * the list unchanged.) * * @param list The list in which to swap elements. * @param i the index of one element to be swapped. * @param j the index of the other element to be swapped. * @throws IndexOutOfBoundsException if either <tt>i</tt> or <tt>j</tt> * is out of range (i < 0 || i >= list.size() * || j < 0 || j >= list.size()). * @since 1.4 */ public static void swap(List<?> list, int i, int j) { final List l = list; l.set(i, l.set(j, l.get(i))); }
3.定义包装类,使得交换时是引用传递
class SwapInteger{ private int value; public SwapInteger(int i) { this.setValue(i); } public int getValue() { return value; } public void setValue(int value) { this.value = value; } } public static void swap(SwapInteger a,SwapInteger b){ a.setValue(a.getValue()^b.getValue()); b.setValue(a.getValue()^b.getValue()); a.setValue(a.getValue()^b.getValue()); }
测试:
public static void main(String[] args) { SwapInteger a=new SwapInteger(3); SwapInteger b=new SwapInteger(4); swap(a, b); System.out.printf("a=%d b=%d\n", a.getValue(),b.getValue()); }
输出:
a=4 b=3
这里java自带的int包装类Integer无法实现
4.
将需要交换的值声明为全局变量,在swap函数中赋值。
可实现但是意义不大。 -
数据交换平台
2018-04-10 00:13:34江苏瑞中数据股份有限公司(China Realtime Database Co.,Ltd.),简称CRD,是国网电力科学研究院/南京南瑞集团公司控股子公司,专业从事具有自主知识产权的大型通用实时数据库管理系统及数据管理软件的研究开发、... -
java 四种数据交换经典
2012-05-16 20:52:58java 中四种整数数据的交换方法, 其中有两种方式为经典代码. -
基于Java的数据交换整合平台V2.0更新了
2022-04-02 14:18:31基于Java的数据交换整合平台,实现分布式异构数据交换和文件同步数据交换ETL及可视化平台
- 平台定位
本平台是一个基于web的异构数据交换和数据可视化展示工具,支持常见的关系型数据库(MySQL,Oralce,SqlServer,PostgreSQL),适用于中小型企事业单位的内部信息化系统数据整合,包括基础数据同步和业务数据抽取。新增加FTP文件同步能力和分布式部署支持。
- 平台特色
- 功能特色
- 自定义数据流向,全过程SQL语句操作,直接且灵活
- 提供对第三方应用数据的可视化查询功能
- 数据中心模型数据可视化查询并可在线编辑
- 提供基于Restful的数据接口
- 提供基于SQL的数据批处理任务机制
- 在线自定义数据报表
- 完整的基础用户架构,可定制业务功能
- 支持FTP文件同步
- 支持分布式部署
- 架构特色
- 基于J2EE的主流技术路线
- 前后端分离架构功能
- 内置单点登录支持
- 理论可接入所有支持JDBC的数据库
- 提供http接口,无限扩展
- 开放源码,可自由定制
- 集成代码生成工具,可快速进行业务功能的开发
- 平台功能
序号
模块
功能
描述
1
基础数据
部门管理
管理部门结构
2
角色管理
管理人员角色信息
3
用户管理
管理用户信息
4
模型管理
管理要对接的数据,需要在本系统的数据库中建表即可,其它应用的读写都是相对于本系统中的数据;可以在看查看模型里的数据,并对数据进行修改。
5
数据采集
对接应用管理
管理要接入的应用信息,自动生成应用代码和密钥,用来以接口的方式对接数据;如要通过直连的方式对接数据,需要提供应用的数据库信息:类型、JDBC地址、账号、密码等;数据中心提供对应用数据的查询能力
6
通道管理
设置各应用的对接参数信息,选择应用和要对接的数据模型,选择权限(从本系统读数据或者写数据),设置读取、新增、更新、删除和验证的SQL语句。
- 当权限是读数据时,读取SQL是从本平台读数据的方式,写SQL是写入到应用平台;
- 当权限是写时,读取SQL是从对接应用读取数据的方式,写SQL是写入到数据中心;
- 验证SQL是在写入前判断数据是否存在的SQL,返回空结果集即为不存在;
- 新增、更新为写入数据的方式;
- 删除暂时不处理,平台应禁止物理删除。
7
传输日志
每一次数据同步操作都会生成日志信息并记录结题,可以后期进行查询分析,也可以当作在线的调试工具。
数据处理
提供数据批处理机制,支持在定时任务中调用,可以定期对数据进行归档处理或者转移操作等。支持多条sql组合执行,以;分隔。
8
FTP文件
配置FTP信息,支持上传或下载目录
9
定时任务
通过定时任务的方式,自由控制数据同步的频率和时间;自动触发数据批处理任务;配置FTP任务和其它系统支持的功能任务
10
数据报表
数据集
以自定义SQL方式形成动态数据,做报表或者对外提供。数据集分多查询列表、统计列表和计算结果三种:
- 查询列表(多列)一般用于“表格数据”类的报表
- 统计列表(两列)用于折线图、柱状图和饼状图
- 计算结果一般查询出一个数据(数字),可用于仪表盘或者单独某个地方的值填充。
11
报表管理
自定义报表插件基于Echarts,目前支持折线图(line)、柱状图(bar)、饼状图(pie)和仪表盘(guage)四种常见图形和表格数据(table),如果需要其它高级功能,需要进行自定义编码。创建报表前,需要先创建对应的数据集,然后选择报表类型和匹配的数据集,设置字段属性即可。创建完成后可以预览
- 截图参考
- 在线演示
web地址:http://1.116.81.228:8080/jdata/
账号: admin/123456
2.联系作者
QQ: 564073314
QQ交流群:813721763
微信:yepanpan30
3.下载试用:
链接:https://pan.baidu.com/s/1PNDRT5rnfWCdkl9iFN2kSA?pwd=vbu5
提取码:vbu5 -
Java多线程编程之使用Exchanger数据交换实例
2020-09-03 17:18:53主要介绍了Java多线程编程之使用Exchanger数据交换实例,本文直接给出实例代码,需要的朋友可以参考下 -
Linux下Java与C的数据交换
2011-04-19 11:12:39在介绍Java和C语言特点的基础上,详细阐述了Linux下Java与C之间数据交换的方法与机制,并给出了一个简单的示例。 -
Java实现 蓝桥杯 算法训练 数据交换
2020-02-07 21:20:07试题 算法训练 数据交换 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一...试题 算法训练 数据交换
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。
输入格式:输入只有一行,包括两个整数。
输出格式:输出只有一行,也是两个整数,即交换以后的结果。
要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。
输入输出样例
样例输入
4 7
样例输出
7 4import java.util.Scanner; public class 数据交换 { public static int a,b; public static void main(String[] args) { Scanner sc = new Scanner(System.in); a=sc.nextInt(); b=sc.nextInt(); swap(); System.out.println(a+" "+b); } public static void swap(){ int temp =a; a=b; b=temp; } }
-
java 交换两个数据的方法实例详解
2020-08-31 20:08:29主要介绍了java 交换两个数据的方法实例详解的相关资料,需要的朋友可以参考下 -
Java利用剪贴板实现交换程序间数据的方法
2020-09-04 08:14:00主要介绍了Java利用剪贴板实现交换程序间数据的方法,需要的朋友可以参考下 -
JAVA交换两个数常用的三种方法
2020-07-20 21:07:03JAVA交换两个数常用的三种方法 中间变量法 数学运算法 数学运算法 话不多suo,开干 第一种、中间变量法 整体思路:有两个整形变量a和b,先将a付给第三个变量c,这样a就存储下来,所以讲b赋给a,再讲c赋给b,就完成... -
KepOPC工业互联网数据交换平台V2.4.9
2019-07-04 11:31:08同时提供MQTT发布订阅功能,支持基于websocket的web数据应用,最终形成区别于组 态软件的HMI及MES系统,很好地填补了工业自动化数据到互联网、云IoT架构平台的跨平台数据交换和过渡,为工业大数据平台提供现场基础... -
Java 剪贴板 数据交换的例子.rar
2019-07-10 18:32:57Java 剪贴板 数据交换的例子,实现了Java 程序与所在系统的剪贴板的数据交流,,当单击“Paste” ,按钮后,Java 程序从系统剪贴板中取得数据并显示在一个JTextArea 组件中;当单击“Copy”按钮后,文本区中的选中... -
【求助】html和java之间是这样进行数据交换的
2017-02-22 08:16:55比如我在html页面上获取到一个数据,这样再交给java文件进行运算,java又怎样返回运算结果。 举个例子,html: ``` var N=window.prompt("输入一个数"); window.alert("M"); ``` java: ``` public ... -
Java利用剪贴板交换程序间数据
2021-03-16 06:03:53Java利用剪贴板交换程序间数据,这个例实现了Java 程序与所在系统的剪贴板的数据交流,,当单击“Paste” 按钮后,Java 程序从系统剪贴板中取得数据并显示在一个JTextArea 组件中;当单击“Copy”按钮后,文本区中... -
Flex与java交换数据 Flex数据交换 Flex与java交换数据教程
2012-02-01 09:54:08Flex与java交换数据 Flex数据交换 Flex与java交换数据教程。 -
基于XML的异构数据交换技术及其Java实现
2013-05-10 14:22:59基于XML的异构数据交换技术及其Java实现 -
DH密钥交换算法Java实现
2018-01-06 23:11:26DH密钥交换算法这个机制的巧妙在于它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道确定对称密钥。 我用Java写了两个例子,有需要的可以看看。 -
两个数据交互的三种方式(Java)
2019-07-26 10:42:07/*使用第三个临时变量,交换数据,该种操作不会造成数据的溢出现象。 * 优点:方法简单,便于理解 * 缺点:执行效率一般,且还需要定义临时变量。 * */ public static void change01() { int a=5; int b=3; ... -
Linux下Java与C的数据交换.pdf
2021-09-06 23:47:02Linux下Java与C的数据交换.pdf -
使用Java构造和解析Json数据的两种方法(详解一)
2020-10-22 18:00:15JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。接下来通过本文给大家介绍使用Java构造和解析Json数据的两种方法,需要的朋友参考下吧 -
Java通过Jacob调用ActiveX,进行二进制数据交换
2014-02-25 13:30:34采用Variant的SafeArray数据类型可以实现二进制数据的交换,通过SafeArrayCreateVector创建数据缓存空间,SafeArrayAccessData锁定内存数据块,SafeArrayUnaccessData解除内存数据块的锁定,SafeArrayDestroy释放... -
java数据实时同步系统
2015-01-30 14:39:09java数据实时同步系统,把远程数据库数据实时同步到本地数据库 -
java8stream源码-pyjava:该库正在努力实现Java/Scala和Python之间的数据交换能力。PyJava引入ApacheA
2021-06-04 16:56:48之间的数据交换能力。 PyJava 引入了 Apache Arrow 作为交换数据格式,这意味着我们可以避免 Java/Scala 和 Python 之间的 ser/der,这确实可以比传统方式加快通信效率。 当你在Java/Scala端调用python代码时,... -
java数据安全
2021-10-24 10:08:42数据安全 保证数据安全 需要解决三个问题: 机密性、完整性、身份验证(抗抵赖性) 机密性:传输内容非明文,即使数据被外界截获,也不能被他人解释或破解 完整性:传输过程中内容不能够被篡改,若信息被篡改或不... -
Java—冒泡排序中数据交换的次数
2020-09-27 09:52:24Java—冒泡排序中数据交换的次数 Description 听说过冒泡排序么?一种很暴力的排序方法。今天我们不希望你用它来排序,而是希望你能算出从小到大冒泡排序的过程中一共进行了多少次数据交换。 Input 输入数据的第一... -
Java 利用剪贴板交换程序间数据
2013-02-22 21:06:58Java版复制粘贴剪切板,利用剪贴板交换程序间数据,解压后导入整个包 -
java通过dtu通讯进行modbus数据交换
2021-01-04 22:36:23java通过dtu进行modbus数据交换 项目场景需求: 一个气体检测设备需要将显示屏上检测到的四种气体(氧气、硫化氢、氧气、一氧化碳)传输到服务器端,并且实现气体的实时检测及其数据保存。 实现思路: (1)服务器端...