基于python网站开发vue做的小网站

news/2025/9/27 12:52:42/文章来源:
基于python网站开发,vue做的小网站,江苏专业做网站的公司有哪些,wordpress 底部友情链接文章目录 实现两数交换方法一、#xff08;数组的方式进行交换#xff09;方法二、#xff08;对象的方式进行交换#xff09;总结 实现两数交换 实现两数交换#xff0c;没有办法通过直接传递数字达到交换的结果#xff0c;定义的int型变量是被存储在栈空间上的#xf… 文章目录 实现两数交换方法一、数组的方式进行交换方法二、对象的方式进行交换总结 实现两数交换 实现两数交换没有办法通过直接传递数字达到交换的结果定义的int型变量是被存储在栈空间上的在栈空间上的是无法直接通过交换达到想要的效果的因为在栈空间上定义是变量本质上都是属于局部变量当我们将两个数传递给交换方法时方法内的形参用于接收此时相当于再重新创建了两个数字也就是说此时在程序中创建了4个变量。 public static void func3(int a , int b) {int tmp a;a b;b tmp; }public static void main(String[] args) {int aa 1;int bb 2;func3(aa, bb);}此时我们再创建一个中间变量tmp用于辅助交换 当程序将方法func3执行完了之后回到main方法里面此时两个变量交换了但是交换的是变量a和变量b而非变量aa和变量bb当方法func3执行完毕后变量a和变量b会被程序回收此时变量aa和变量bb依旧是原来的数字并没有进行交换因此func3方法并没有实际意义上的交换仅仅是将局部变量a和b进行交换了并没有影响到我们真正要交换的变量。 在C语言中想要达到两数交换的效果可以通过地址进行交换但是在Java里面没有地址的说法那么我们可以换一个角度想在Java里面包含有引用型变量和基本数据类型变量引用型变量是存储在堆空间上的通过在栈空间上开辟一块空间用于存储堆空间的地址这块空间有一个名字叫做引用型变量引用型变量和C语言的地址有异曲同工之妙引用可以看作是存储内容的地址拿Java的数组来说数组名就是一个引用通过数组名就可以找到存储在堆空间上的数组进而对其进行操作。 因此我们想要通过Java实现两数交换可以通过引用将引用传递给方法在方法内直接通过引用对变量进行操作交换 而基本数据类型使用基本数据类型创建的变量都是存储在栈空间上的我们没有办法拿到栈空间的地址而Java也没有地址的说法因此需要将存储在栈空间上的变量通过方法进行交换根本不可能这也就意味着基本数据类型是无法做到两数交换的 方法一、数组的方式进行交换 public static void swap(int[] array ) {int tmp array[0];array[0] array[1];array[1] tmp;}public static void main(String[] args) {int[] array {1 , 2};System.out.println(array[0] array[1]);swap(array);System.out.println(array[0] array[1]);}数字1和2通过数组的方式存储在堆空间上将数组的引用传递给方法即便是方法使用形参进行接受方法通过形参直接操作数组的数据并没有改变形参的指向此时是实参和形参同时指向同一个堆空间也就是对形参对数组的操作等同于实参对数组的操作。 但是如果在方法内改变形参的指向那么此时在方法内做的任何操作都是无用功当在改变指向的同时形参就再也无法直接拿到实参堆空间上的地址了改变指向之后就会指向堆空间上新的地址这个时候两块地址之间是没有任何联系的因此对于新空间的操作是无法影响到实参的堆空间的因此在实现两数交换传递实参的时候方法内要避免更改形参的指向 public static void func1(int[] array) {array new int[]{1 , 2};}public static void func2(int[] array) {array[0] 10;}方法func1修改了形参的指向因此在方法内对于形参的任何操作都不会影响到实参 方法func2没有修改形参的指向而是直接对数组进行操作那么此时形参对数组的操作就等同于实参对数组的操作 方法二、对象的方式进行交换 既然引用型数据类型可以进行交换那么自定义引用类型肯定也可以我们可以定义一个类其中只定义一个成员变量 public class Myvalue {public int a 20;public Myvalue(int a) {this.a a;} }再通过实例化对象使用构造方法定义两个数据此时我们就可以得到了两个互不相干的数据两个对象之间是没有任何联系的则对象内的数据也是没有任何联系的。我们再创建一个方法形参是类类型的变量用于存储实参传递过去的引用 public static void swap(Myvalue myvalue , Myvalue myvalue1){}在方法内直接通过引用操作数据注意要避免修改形参的指向否则方法内所做的一切都是无用功 class my {public static void swap(Myvalue myvalue , Myvalue myvalue1){int tmp myvalue.a;myvalue.a myvalue1.a;myvalue1.a tmp;}public static void main1(String[] args) {Myvalue myvalue new Myvalue(10);Myvalue myvalue1 new Myvalue(20);System.out.println(myvalue.a myvalue1.a);swap(myvalue , myvalue1);System.out.println(myvalue.a myvalue1.a);}总结 在Java中因为没有地址的说法因此无法直接通过传地址达到两数交换的效果Java中的基本数据类型是存储在栈空间上的而栈空间的地址是无法直接拿到的在栈空间上存储的地址都是局部变量当方法结束后变量就会被JVM直接回收这也就意味着只要是存储在栈空间上的变量都无法做到两数交换。 而我们可以通过引用型数据类型的引用型变量可以拿到存储在堆空间上面的数据引用型变量本质上是存储堆空间的地址因此可以通过引用改变数据而非像基本数据类型那般只能改变自己的数据一旦改变的是自己本身的数据那么就没有办法再操作实参的数据只有通过一个数据去改变另外一个数据才能够达到传递给方法后形参操作数据等同于实参操作数据的效果这也就类似于将引用传递给方法只要方法内不改变形参的指向那么在方法内的任何操作都可以当做是实参在进行操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深圳网站建设g淇县住房和城乡建设局网站

python引用DLL文件的方法转载于:https://www.cnblogs.com/Regle/p/7003261.html

双一流建设网站深圳宝安中心医院

1. Composition API(常用部分) 文档: ​ https://composition-api.vuejs.org/zh/api.html 1) setup 新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用2) ref 作用: 定义一个数据的响应式语法: cons…

免费网站建设信息北京网站推广排名

ArXiv:https://arxiv.org/abs/1910.01108 Train Loss: DistilBERT: DistilBERT具有与BERT相同的一般结构,层数减少2倍,移除token类型嵌入和pooler。从老师那里取一层来初始化学生。 The token-type embeddings and the pooler a…

B站python入门学习---第二阶段第二章数据库、SQL和MySQL

一、数据库 数据库就是组织数据并存储的库,作用就是组织数据并存储数据。一般是按库——>表——>数据的层级组织数据。 数据库管理软件常见的有ORACLE,MySQL,SQLServer,SQLite等等。MySQL是由瑞典的DataKons…

C++项目:仿muduo库高并发服务器 - 实践

C++项目:仿muduo库高并发服务器 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

完整教程:zk管理kafkakafka-broker通信

完整教程:zk管理kafka&kafka-broker通信pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

域泛化DomainBed的评价指标含义解释

DomainBed是域泛化领域的公认框架,其统一了输入输出以及相关细节处理,使得泛化性能比较更加公平公正,但是庞大的框架使其理解十分困难,今天首先介绍其评价指标,即Selection字段。结果展示 +------------+--------…

JUC: 线程锁

1 面试题复盘如何理解多线程,如何处理并发,线程池有哪些核心参数?Java加锁有哪几种锁?synchronized原理是什么?为什么可重入?如何获取对象的锁?JVM对原生锁做了哪些优化?什么是锁清除和锁粗化?乐观锁是什么?…

手机网站是怎么制作的wordpress好玩插件

1.新建Android应用,确定应用包名 2.注册高德开放平台,打开控制台页面,应用管理,我的应用,创建新应用 3.添加Key 4.获取SHA1码 找到Android Studio自带的keytool 将其拖到cmd中,输入命令 -v -list -keystor…

网站在线咨询模块东营市招投标信息网

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解Linux中项目自动化构建工具make/makefile的相关内容。 如果看到最后…

dede网站地图怎么做lamp网站开发 pdf

为什么80%的码农都做不了架构师?>>> 介绍 在本系列的第一篇文章中,安装了Node.js、Ignite的Node.js瘦客户端包,并且测试了一个示例应用。在本文中,可以看一下Ignite在处理其它数据源(比如关系数据库&#…

InteractiveCommunication Problems

/偏向于前者。CSP 初赛塞了两个交互,有点慌。

JSON 框架混用避坑指南:FastJSON vs Jackson

`com.alibaba.fastjson.JSON.parseObject()` 方法无法识别 Jackson 的 `@JsonProperty` 注解,导致字段映射失败。 核心矛盾:FastJSON 无法识别 Jackson 的 @JsonProperty 注解目录一、问题定位二、框架对比表三、典…

实用指南:网络通信协议全解析:HTTP/UDP/TCP核心要点

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

网站制作的相关术语西安专业做网站建

连接MySQL数据库时常见故障问题的分析与解决 初学的mysql网友好象经常会碰到mysql无法连接的错误。特开贴收集这样问题的现象和原因。 先自己扔块砖头出来。 归纳如下: 故障现象 : 无法连接 mysql 错误信息1 :ERROR 1045 (28000): Access deni…

若邻接矩阵是三角矩阵,则存在拓扑序列;反之则不一定成立

目录1. 命题回顾2. 前半句:邻接矩阵是三角矩阵 ⇒ 存在拓扑序列2.1 邻接矩阵是上三角矩阵的情况2.2 邻接矩阵是下三角矩阵的情况3. 后半句:反之则不一定成立4. 最终判断1. 命题回顾若邻接矩阵是三角矩阵,则存在拓扑…

Gateway-断言 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …