首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

揭秘Java方法的返回值,从void到诸多数据类型,有两下子!

在main方法中调用这两个方法,分别将返回值赋值给result和area变量,并输出它们的值。  ...createPerson方法使用传入的参数创建Person对象并返回。main方法接收返回的Person对象,并将其赋值给变量p。使用p对象调用getName和getAge方法,并打印结果。...返回值的多态  Java中的继承与多态概念可以拓展到方法的返回值类型。具体来说,如果一个方法的返回值类型是父类或接口类型,那么该方法可以返回其子类或实现类的对象。...在getAnimal方法中根据参数type的值返回对应的Animal子类对象,在main方法中调用getAnimal方法,分别将返回值赋值给a1和a2变量,并输出它们的name属性的值。  ...main方法接收返回的Animal对象,并将其赋值给变量a1和a2。使用a1和a2对象调用getName方法,并打印结果。

48341

彻底搞定C语言指针(精华版)

(即我想知道变量的地 址) 好了,接下来我们来看看&i是什么意思? 是取i变量所在的地址编号嘛!我们可 以这样读它:返回i变量的地址编号。你记住了吗?...) ); } 看pa=a即数组名赋值给指针,以及通过数组名、指针对元素的访问形式看,它们并没有什么区别,从 这里可以看出数组名其实也就是指针。...所以*pi是常量,是不能被赋值的(虽然pi所指的i2是变量,不是常量)。 其次,pi前并没有用const 修饰,所以pi是指针变量,能被赋值重新指向另一内存地址的。...(当然,这个FunP指针变量也可以指向所有其它 具有相同参数及返回值的函数了。)...//申明一个用以指向同样参数,返回值函数 的指针变量。

96730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java程序员面试之---String类型

    String 重写了 equals() 方法把它修改成比较两个字符串的值是否相等。...,我们才可以实现字符串常量池,字符串常量池可以为我们缓存字符串,提高程序的运行效率,如下图所示: ?...6、String类型和JVM String 常见的创建方式有两种,new String() 的方式和直接赋值的方式,直接赋值的方式会先去字符串常量池中查找是否已经有此值,如果有则把引用地址直接指向此值...,否则会先在常量池中创建,然后再把引用指向此值;而 new String() 的方式一定会先在堆上创建一个字符串对象,然后再去常量池中查询此字符串的值是否已经存在,如果不存在会先在常量池中创建此字符串,...():把字符串分割并返回字符串数组 join():把字符串数组转为字符串 compareTo() 方法用于比较两个字符串,返回的结果为 int类型 equals()比较两个字符串是否相等。

    46920

    翻译连载 |《你不知道的JS》姊妹篇 |《JavaScript 轻量级函数式编程》- 第 6 章:值的不可变性

    使用我们在第 5 章讨论的副作用的相关概念来分析 addValue(..)。它是纯的吗?它是否具有引用透明性?给定相同的数组作为输入,它会永远返回相同的输出吗?它无副作用吗?答案是肯定的。...对于常量,我们可以给出一个简洁的定义:一个无法进行重新赋值(reassignment)的变量。 我们刚刚在“常量”概念上的吹毛求疵其实是很有必要的,因为它澄清了常量与值无关的事实。...为了证明 const 和值的本质无关,思考下面的代码: const x = [ 2 ]; 这个数组是一个常量吗?并不是。 x 是一个常量,因为它无法被重新赋值。...并不会误导你,让你得到一个“你以为”不可变的值,而是真真确确给了你一个不可变的值。...方法也会尽量避免改变参数,尽管它们并不默认返回新数组。 不幸的是,由于历史问题,也有一部分不纯的数组原型方法:splice(..)、pop(..)、push(..)、shift(..)

    1.2K50

    【趣学程序】java基础知识(一)

    Java中的标识符 可以简单的理解为Java程序为了加强阅读行自定义的名称,如类名、方法名、变量名。仅仅是个名字而已。对于这样一个名字不像我们人类一样可以随意起名,程序有一定的命名规则。...(数据类型); (3)该区域的数据可以在同一类型范围内不断变化; 为什么要定义变量 用来不断的存放同一类型的常量,并可以重复使用; 使用变量注意: 变量的作用范围, 初始化值 变量的定义格式:数据类型...当需要代表一个整数的值时,可以根据需要从4 种类型中挑选合适的,如果没有特殊要求的话,一般选择int 类型。 按照上面的书写顺序,从左至右所表示的范围逐渐增大。...基本数据类型转换之向上转型和向下转换 向上转换(隐式类型转换): 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型可自动转换为容量大的数据类型;...; 局部变量使用前必须初始化值; 局部变量没有默认初始化值; 局部变量的作用域是从定义开始到定义它的代码块结束; 成员变量 在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java

    65710

    JVM-深入学习字符串常量池

    JVM-深入学习字符串常量池 第一二张图应该画错了,元空间的时候,字符串常量池已经移入堆内 首先声明,在JDK1.7的时候,字符串常量池已经从方法区迁移到了堆内存,JDK1.8的时候方法区改朝换代为元空间...,同时也不在占用JVM内存,而是使用本地内存 为什么多设计一个常量池,不能像其它对象一样乖乖待在堆中吗?...():不管使用什么方式定义一个字符串,都会首先在常量池中查找是否有相应的字符串存在,如果有,直接返回引用,否则,在常量池中生成相应的字符串并返回引用; 下面上代码 package com.company...因为这种+操作这种图我不知道该怎么画,所以只能指向最终的堆中地址。 s6.intern()如果不把返回值赋值给s6,那么栈内存中的对象s6还是引用堆中的地址。...,那么直接在堆中创建该字符串,并不会复制一份到字符串常量池的,大多数人都会以为会复制一份到字符串常量池,其实不然。

    31820

    Java基础60问

    答:变量指的是在程序运行过程中, 其值可以在一定范围内变化的量, 可以被多次赋值. 常量指的是在程序运行过程中, 其值不能发生改变的量, 且只能赋值一次. Q11: final的作用是什么?...Q28:方法重写和方法重载的区别是什么? 答:方法重写指的是: 子类出现和父类一模一样的方法时, 称为方法重写, 方法重写要求子父类方法返回值的数据类型也必须一致或者有子父类关系....方法重载指的是: 同一个类中出现方法名相同, 参数列表不同的两个或以上的方法时, 称为方法重载. 方法重载和返回值的数据类型无关. Q29:不同类型数组的默认值分别是什么?...答:可以, 虽然构造方法没有返回值的数据类型, 但是方法重载和返回值的数据类型无关. Q44:构造方法的特点是什么?...答: 1) 方法名和类名完全一致. 2) 没有明确的返回值, 连void也没有. 3) 没有明确的返回值, 但是可以有return. Q45:静态代码块和构造代码块的区别是什么?

    56010

    Python基础语法(内置Python, pycharm配置方式)

    not 3.赋值运算符 与C语言大体相同,不过在Python中 1<x<3可以直接这么写(也是非常方便啦) 在Python中有一种操作方法为多元赋值 通过这种方式,我们可以实现一个简单的两数交换 4.各种语句类型...(两者混合使用时必须满足位置参数在前,关键字参数在后) 3.函数的返回值 在Python中,函数的返回值可有可无,且可以借助多元赋值来返回多个值,例如 4.变量的作用域 与C语言相同,在函数中创建的变量出了函数就会被销毁...,也就是基于某个对象去执行函数称为方法 列表的切片操作 值得注意的是,在Python中,列表等类型的下标可以为负数,表示倒数第几个元素 列表的拼接 这里有两种方法,值得注意的是,第二种方法的extend...,但键不能重复 字典内部的实现类似于哈希表, 只不过哈希表是无序的 字典查找key 用in查找时只能找key值,不能找value值 新增 可哈希类型 字典中的key值必须为可哈希类型 一般的我们认为元素可变的为不可哈希类型...,反之则为可哈希类型 可哈希类型可以用Python内置的hash()函数求取哈希值

    7910

    预备小菜:Python入门之变量与函数

    而与变量相对是常量(Constant),在计算机看来,变量和常量并没什么不一样,同样在内存中占有一块位置。但不同的是:变量保存的数据可以被多次修改,而常量一旦保存某个数据之后就不能修改了。...但是我就是想让它存在可以吗,当然可以了。 变量只能容纳一个值,意思是说,同一个名字的变量只能代表一个值。我们可以通过一个值赋值给多个变量。这样只改动其中一个,而另外一个还是存在的。...但是同时也是它的坏处,尤其在工程项目中,经常因为之前的类型定义与后面函数(方法)中使用的并不是一个类型,导致出错。 函数 函数是一段具有特定功能,可重用的语句。...有时候,我们期望一个函数处理完成后可以返回一个值,那么就是使用return关键词,将结果返回。...而ab就是my_sum函数的返回值。 实际使用中,我们习惯把可重用的或者执行特定功能的代码块作为一个函数。将函数的返回值作为下一个函数的参数继续使用,完成后面的功能。

    28030

    面试官:小伙子来说一说Java中final关键字,以及它和finally、finalize()有什么区别?

    写在开头 面试官:“小伙子,用过final关键字吗?” 我:“必须用过呀” 面试官:“好,那来说一说你对这个关键字的理解吧,再说一说它与finally、finalize()的区别” 我:“好嘞!”...final修饰变量 当final修饰变量时有如下几点需要注意: 1、final 修饰表示常量、一旦创建不可改变; 2、final 修饰的局部变量必须在声明时给定初值; 3、final 修饰的成员变量必须在声明时给定初值或者在构造方法内设置初始值...,只能读取,不可修改; 4、被 final 修饰的成员变量必须要初始化,赋初值后不能再重新赋值(可以调用对象方法修改属性值)。...Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要清理工作,在垃圾收集器删除对象之前被调用的。 一般情况下,此方法由JVM调用。...特殊情况下,可重写 finalize() 方法,当对象被回收的时候释放一些资源,须调用 super.finalize() 。

    10600

    数据类型(2)

    数组Array 类数据的集合。本质是一个对象,数据存储在堆区,由引用指向数组首个元素的地址。创建数组创建数组时,必须确定数组长度和类型。但如果储存的是基本类型,允许不赋初值(使用默认值)。...创建字符串String 对象创建后一经赋值不再改变,有以下两种创建方式:直接赋值:如果常量池没有,则在常量池新建对象。否则直接使用常量池中已有对象,引用指向常量池。...构造方法:如果常量池没有,则在常量池新建对象。无论如何一定会在堆区创建对象,引用指向堆区。...,没有返回-1int index = str.lastIndexOf(str2); // 查找子字符串出现的最后一个位置,没有返回-1String str2 = str.trim();...创建字符串必须通过构造方法创建,不可以直接赋值的形式创建:StringBuffer str = "hello";。字符串默认长度为16,超出后会进行自动扩容。

    26010

    go语言圣经-声明,变量,赋值,类型,包和文件习题

    、map、chan和函数)变量对应的零值是nil 3.同时声明一组变量,用逗号分隔 4.简短变量声明 := ,只有对已经在同级词法域声明过的变量才和赋值操作语句等价 5.一个指针的值是另一个变量的地址,...,new(T)将创建一个T类型的匿名变量,初始化为T类型的零值,然后返回变量地址,返回的指针类型为*T 12.变量的生命周期指的是在程序运行期间变量有效存在的时间间隔 13.从每个包级的变量和每个当前运行函数的每一个局部变量开始...15.局部变量从函数中逃逸,该局部变量必须在堆上分配 go语言圣经-赋值 1.元组赋值是另一种形式的赋值语句,它允许同时更新多个变量的值,用法交换两个变量的值 2.最大公约数(GCD算法),计算斐波纳契数列...(Fibonacci)的第N个数 更加简洁 3.表达式太复杂的话,应该尽量避免过度使用元组赋值;调用一个有多个返回值的函数,可以使用元组赋值,额外的返回值来表达某种错误类型,可以用下划线空白标识符_来丢弃不需要的值...,则在外部包也可以使用 3.命名类型还可以为该类型的值定义新的行为 4.许多类型都会定义一个String方法,因为当使用fmt包的打印方法时,将会优先使用该类型对应的String方法返回的结果打印 5.

    76030

    【深入浅出C#】章节 2:数据类型和变量:变量和常量的声明和初始化

    通过声明变量,我们可以定义程序中需要使用的数据,并为其分配内存空间。通过初始化变量,我们可以为变量赋予初始值,确保在使用变量时具有合适的值。...五、默认值和可空类型 5.1 变量的默认值规则 在C#中,变量在声明但未被显式赋值时会被赋予一个默认值。...nullableFloat = 3.14f; 判断可空类型变量是否有值: 使用HasValue属性来判断可空类型变量是否有值,返回一个布尔值。如果有值,则可以使用Value属性来获取实际的值。...:)也可以用于处理可空类型变量,根据可空类型变量是否有值,返回不同的结果。 string result = nullableInt.HasValue ?...它们可以用于类的方法、构造函数或类的任何其他成员中。常量是静态的,意味着可以在类的实例之间共享。 常量表达式: 常量的值必须在编译时确定,并且只能使用常量表达式来初始化。

    61420

    C#7.0 新增功能

    }, {alphabetStart.Beta}"); 在某些时候,你可能想要解包从方法返回的元组的成员。...在要将某赋值的值显式标识为弃元时用作独立标识符。 以下示例定义了 QueryCityDataForYears 方法,它返回一个包含两个不同年份的城市数据的六元组。...."); 09 通用的异步返回类型 从异步方法返回 Task 对象可能在某些路径中导致性能瓶颈。 Task 是引用类型,因此使用它意味着分配对象。...新语言功能意味着异步方法返回类型不限于 Task、Task 和 void。 返回类型必须仍满足异步模式,这意味着 GetAwaiter 方法必须是可访问的。...此增强功能对于库作者最有用,可避免在性能关键型代码中分配 Task。 10 数字文本语法改进 误读的数值常量可能使第一次阅读代码时更难理解。 位掩码或其他符号值容易产生误解。

    1.4K10

    C++ 中的左值和右值

    一个数字(从技术角度来说他是一个字面常量(literal constant))没有指定的内存地址,当然在程序运行时一些临时的寄存器除外。在该例中,666被赋值(assign)给x,x是一个变量。...错误原因很清楚:setValue()返回了一个右值(一个临时值6),他不能作为一个赋值的左操作数。现在,我们看看如果函数返回一个左值,这样的赋值会发生什么变化。...可以从函数返回左值看上去有些隐晦,它在你做一些进阶的编程例如实现一些操作符的重载(implementing overload operators)时会很有作用,这些知识会在未来的章节中讲述。...但是10 是一个数字常量(numeric constant),也就是一个左值,将它赋给引用与引用所表述的精神冲突。 如果你仔细想想,那就是被禁止的从右值到左值的转换。...一个volitile的数字常量(右值)如果想要被引用,需要先变成一个左值。如果那被允许,你就可以通过它的引用来改变数字常量的值。相当没有意义,不是吗?

    1.8K20

    C#面试题

    1、赋值方式:将一个值类型变量赋给另一个值类型变量时,将复制包含的值。这与引用类型变量的赋值不同,引用类型变量的赋值只复制对象的引用(即内存地址,类似C++中的指针),而不复制对象本身。...3、null:与引用类型不同,值类型不可能包含 null 值。然而,可空类型功能允许将 null 赋给值类型。...关键字; class可以为抽象类,struct不支持抽象; 3. delegate是引用类型还是值类型?...C#中的委托都继承自System.Delegate类型; 委托类型的声明与方法签名类似,有返回值和参数; 委托是一种可以封装命名(或匿名)方法的引用类型,把方法当做指针传递,但委托是面向对象、类型安全的...缺点:线程池无法对一个线程有更多的精确的控制,如了解其运行状态等;不能设置线程的优先级;加入到线程池的任务(方法)不能有返回值;对于需要长期运行的任务就不适合线程池。 5.

    79820

    python3第四天(基本数据类型扩展)

    因为变量是直接使用,所以可直接输入变量名.也可同时赋值.如,var1=10; 删除变量用del 变量名1,变量名2... python3支持三种数值类型:int,float,complex 数学函数:...:返回给定参数的最大值,参数可以为序列     min(var1,var2,..)...:返回给定参数的最小值,参数可以为序列     modf(var):返回var的整数部分与小数部分.整数部分用浮点数表示     pow(x,y):返回x的y次幂     round(x[,n]):...对x四舍五入,当输入n时,表示四舍五入到第几位小数     sqrt(x):返回x的平方根,返回数值类型为实例.x可以为负 随机函数:     需要引入radom;import math     ...    tan(x):返回x弧度的正切值     asin(x):返回x正玄值的弧度值     acos(x):返回x余玄值的弧度值     atan(x):返回x正切值的弧度值     atan2

    54010

    【方向盘】JavaSEEE基础面试题、基础知识记录---大杂烩

    略 注解的属性们,都必须有默认值吗?属性们能够哪些类型? 答:属性的default默认值都不是必须的。...你电脑系统应该是 32位系统,这样每个int就是 4个字节 其中一个字节由8个二进制位组成 Map的put方法返回值是什么?什么时候会返回null呢?...try里的return和finally的return返回值问题你理解吗? 在finally语句块第一行发生了异常 在前面的代码中用了System.exit(int)已退出程序。...(String)的区别 1 形式上: 字符常量是单引号引起的一个字符 字符串常量是双引号引起的若干个字符 2 含义上: 字符常量相当于一个**整形值( ASCII 值),**可以参加表达式运算 字符串常量代表一个地址值...null : 0; System.out.println(i); } 这样编译不为null,感觉i可议赋值为null一样。

    64320
    领券