JAVA中关于变量赋值的机制(值传递机制)
1.如果变量是基本数据类型,此时赋值的是数据的实际值,即实参传递给形参的是实参的值
2.如果变量是引用数据类型,此时赋值的是保存数据的地址值,即实参传递给形参的是实参的地址
public class VTTest { public static void main(String[] args){ int m = 10; int n = m; System.out.println("m = " + m + ", n = " + n);//m = 10. n = 10 n = 20; System.out.println("m = " + m + ", n = " + n);//m = 10, n = 20 Number n1 = new Number(); n1.num = 100; Number n2 = new Number(); n2.num = n1.num; System.out.println("n1.num = " + n1.num + ", n2.num =" + n2.num);//n1.num = 100, n2.num =100 n2.num = 101; System.out.println("n1.num = " + n1.num + ", n2.num =" + n2.num);//n1.num = 100, n2.num =101 Number n3 = n1; //指向堆空间中同一个对象实体 System.out.println("n1.num = " + n1.num + ", n3.num =" + n3.num);//n1.num = 100, n3.num =100 n3.num = 111; System.out.println("n1.num = " + n1.num + ", n3.num =" + n3.num);//n1.num = 111, n3.num =111 //实参传递形参实际数据值 ValueTransferTest v1 = new ValueTransferTest(); int a = 10; int b = 20; v1.swap(a,b);//a = 20, b = 10 //传入a,b值之后在swap中进行了交换,但调用结束swap中,a和b被销毁 //实参传递给形参的是真实数据值 //再输出,则是输出main方法的a和b的值, System.out.println("a = " + a + ", b = " + b);//a = 10, b = 20 //实参传递形参数据地址 Data d1 = new Data(); d1.a = 15; d1.b = 25; System.out.println("a = " + d1.a + ", b = " + d1.b);//a = 15, b = 25 //引用数据类型,相当于在swap里面data和d1指向同一个地址 v1.swap(d1);//a = 25, b = 15 System.out.println("a = " + d1.a + ", b = " + d1.b);//a = 25, b = 15 } public void swap(int a, int b){ int tem = a; a = b; b = tem; System.out.println("a = " + a + ", b = " + b); } public void swap(Data data){ int tem = data.a; data.a = data.b; data.b = tem; System.out.println("a = " + data.a + ", b = " + data.b); } } class Number{ int num; } class Data{ int a; int b; }
JAVA 变量的赋值包括:
(1) 在声明变量时赋值
(2)声明后再赋值
(3)在程序的任何位置声明并设置
给声明的变量赋予一个属于它的值,用赋值运算符(=)来实现。
本文向大家介绍详解PHP变量传值赋值和引用赋值变量销毁,包括了详解PHP变量传值赋值和引用赋值变量销毁的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PHP变量传值赋值和引用赋值变量销毁的具体代码,供大家参考,具体内容如下 php中,上面的代码,变量是怎么存放的呢? 上面的代码变动下,将变量b赋值给变量a,会发生什么? 问题来了,$a = $b,那么是将变量a的指针指向了变量b指针所
主要内容:声明变量,变量赋值Java 语言是强类型(Strongly Typed)语言,强类型包含以下两方面的含义: 所有的变量必须先声明、后使用。 指定类型的变量只能接受类型与之匹配的值。 这意味着每个变量和每个表达式都有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。 常量和变量是 Java 程序中最基础的两个元素。常量的值是不
= 赋值操作符(它的左右两边不能有空白符) 不要搞混了 = 和 -eq,-eq 是比赋值操作更高级的测试。注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。 例子 4-2. 简单的变量赋值 1 #!/bin/bash 2 # 裸变量 3 4 echo 5 6 # 什么时候变量是“裸”的?比如说,变量名前面没有$? 7 #当变量被赋值
数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 var a = 1; var b = 2; var c = 3; ES6允许写成下面这样。 var [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。 本质上,这种写法属
上节课我们学习了 Go 语言中的两种变量声明方式:单变量声明方式和多变量声明方式。既然已经声明了变量,那么下一步肯定要给变量赋值并使用,这节课我们就来学习下在 Go 语言中如何给一个变量赋值: 1. 单变量赋值 Go 语言的赋值使用的是 = 符号,赋值过程可以在变量声明时赋值,也可以在变量声明之后赋值,如果在变量声明时直接赋值,可以不用声明变量类型。需要注意的是 Go 语言变量声明之后会初始化一个