在定义方法时,我们需要定义方法名、参数列表、返回值类型及方法体。其中,返回值类型表示方法返回值的类型,可以是Java基本数据类型,也可以是引用类型,甚至可以是void。...本篇文章将从Java方法返回值的基础类型讲起,逐渐深入探讨Java方法返回值的详细内容。正文1. void类型 void类型是Java中的一种基础数据类型,表示“无返回值”。...在main方法中调用这两个方法,分别将返回值赋值给result和area变量,并输出它们的值。 ...返回值的多态 Java中的继承与多态概念可以拓展到方法的返回值类型。具体来说,如果一个方法的返回值类型是父类或接口类型,那么该方法可以返回其子类或实现类的对象。...在getAnimal方法中根据参数type的值返回对应的Animal子类对象,在main方法中调用getAnimal方法,分别将返回值赋值给a1和a2变量,并输出它们的name属性的值。
float和double float 单精度浮点数在机内占 4 个字节,用 32 位二进制描述 double 双精度浮点数在机内占 8 个字节,用 64 位二进制描述 注意float型定义的数据末尾必须有...在存储的时候,float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的 结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数并分开存储。...Java程序:使用 BigDecimal 来定义值,再进行浮点数的运算操作 BigDecimal 是 Java 在 java.math 包中提供的API类,用来对超过16位有效位的数进行精确的运算 使用...BigDecimal 要注意的东西 1.BigDecimal(double) 创建一个具有参数所指定双精度值的对象 但是这种类型是都不推荐使用的,为什么不推荐使用,我们来试一下 BigDecimal...这也是为什么在 Effective Java 和 Mysql 必会内容 书中都会提到这块内容,如果你是一个几年工作经验的人,就不会有这种错误,但是你初入职场,经验没那么多,基础没那么牢固的肯定会发生这种事
答: 不正确。...3.4是双精度,将双精度(double)赋值给浮点型(float)属于向下转型会造成精度损失,因此需要强制类型转换float f = (float)3.4;或者写成float f = 3.4f; int...的最大值是2147483647,那int i = 2147483647 + 1;报错吗?...答: 相同,java对于eqauls方法和hashCode方法是这样规定的: 1.如果两个对象相同,(equals方法返回true),那么它们的hashCode值一定要相同; 2.如果两个对象的hashCode...答: 不一定相同,java对于eqauls方法和hashCode方法是这样规定的: 1.如果两个对象相同,(equals方法返回true),那么它们的hashCode值一定要相同; 2.如果两个对象的hashCode
答:不正确,编译无法通过。...3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成...由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。(相关阅读:java"小心机"(1)【资源彩蛋!】...其实它这样执行的:当try中含有return语句且存在finally代码块,return语句不会立刻返回而是记录下该返回值(存在某个地方),待finally代码块执行完毕后再返回该值,所以在finally...代码块中无法改变return的返回值。
),int 的包装类就是Integer,从Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。...不正确。3.4是双精度。...将双精度型(double) 赋值给浮点型(float)属于下转型( down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成float...int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索 int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引...Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加 0.5 然后进行下取整。 14、下面代码运行结果是多少?
任何修改都会创建一个新的对象,如 String、Integer及其它包装类。 2.能否创建一个包含可变对象的不可变对象? 可以。不要共享可变对象的引用就可以了,如果需要变化就返回原对象的一个拷贝。...从idk 1.7之后switch开始支持String. 5.Object中有哪些公共方法?...不正确。...3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成...11.Java有没有goto? goto 是Java中的保留字,在目前版本的Java中没有使用。
占用4个字节3.402823e+38 ~ 1.401298e-45 double 双精度占用8个字节1.797693e+308~ 4.9000000e-324 通常的浮点型的数据在不声明的情况下都是...对于浮点型要记住一点,浮点型的数据是不能完全精确的。 布尔型 这个类型只有两个值,true和false(真和非真) 字符型 用于存放字符的数据类型,占用2个字节,采用unicode编码。...型要大,所以结果会自动转换成int型,这样可以防止精度丢失),将int型赋值给short型,编译会出错。...第二种写法是正确的,+=是java语法规定的运算符,编译器会对它进行特殊的转换操作(应该是强制转换),所以编译不会出错。 问: float f = 6.6; 这种写法是否正确?...不正确,6.6默认是双精度数,将双精度型赋值给单精度会造成精度损失,编译器会报错,需要强制类型转换 float f = (float)3.4; 或者写成 float f = 3.4F; 问:对于1和2
参考链接: 使用Java计算文本文件txt中的行数/单词数/字符数和段落数 基础 1. String是基础数据类型么? ...不是,String是一个类 而java的8大基本数据类型分别是: 逻辑类 boolean 文本类 char 整数类 byte, short, int, long 浮点类 double, float。 ...不正确。...3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成...Integer是Int的包装类 装箱,封箱 class AutoUnboxingTest { public static void main(
2 java对金额处理 众所周知,程序在处理货币金额类数据时,最关键的是保持精度,丢失精度就丢失了准确性,这是不可接受的,银行存蓄,股票,基金都是如此。...API 构造器: 构造器 描述 BigDecimal(int) 创建一个具有参数所指定整数值的对象 BigDecimal(double) 创建一个具有参数所指定双精度值的对象 BigDecimal(long...对象中的值相加,然后返回这个对象 subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象 multiply(BigDecimal) BigDecimal对象中的值相乘...() 将BigDecimal对象中的值以双精度数返回 floatValue() 将BigDecimal对象中的值以单精度数返回 longValue() 将BigDecimal对象中的值以长整数返回 intValue...Joda-Money 是一个用于表示货币金额的开源Java类库,使用该类库处理金额相关数据,可以让你免去对数据精度的担忧。
A 如果程序发生错误及捕捉到异常情况了,才会执行finally部分 B 其他选项都不正确 C 当try区段的程序发生异常时,才会执行catch区段的程序 D catch部分捕捉到异常情况时,才会执行finally...---- (单选题)3、下面关于构造方法的说法不正确的是 () A 构造方法也属于类的方法,用于创建对象的时候给成员变量赋值 B 构造方法不可以重载 C 构造方法没有返回值 D 构造方法一定要和类名相同...使用构造方法时需注意以下几点: 1.构造方法名称和其所属的类名必须保持一致; 2.构造方法没有返回值,也不可以使用void; 3.构造方法也可以像普通方法一样被重载(但不能被重写); 4.构造方法不能被...3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。 4.char型和short型参与运算时,必须先转换成int型。...---- (单选题)6、如果类的方法没有返回值,该方法的返回类型应是:( ) A void B null C abstract D default 正确答案是:A 解析:没有返回值就是void ---
一分钟回顾系列文章会从基础开始到后期的高级,带你慢慢回顾java的小知识,时间花费不会很多,会尽量控制在一分钟左右。敬请期待。...1、面向对象的特征 抽象 将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面 只关注对象有哪些属性和行为,并不关注这些行为的细节是什么 继承 从已有类得到继承信息创建新类的过程。...多态性分类 编译时的多态性 方法重载(overload) 运行时的多态性 方法重写(override) 2、String 是最基本的数据类型吗 不是 Java中的基本数据类型只有8个:byte、short...type) 3、float f=3.4;是否正确 不正确 3.4是双精度数,双精度型(double) double赋值给float属于向下转型,会造成精度损失。...正确写法 float f =(float)3.4; 或float f =3.4F; 4、int和Integer区别 int的包装类就是Integer 自动装箱/拆箱机制 自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化
答:不正确。...3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4;或者写成...包装类装箱的本质是当我们给一个Integer对象赋一个int值的时候,会调用Integer类的静态方法valueOf(),大家可以查阅一下源码,这个方法做了一个判断,当整型字面量的值在-128到127之间...答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。 10、Java有没有goto?...从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
Java中的Scanner类是一个非常强大的工具,用于解析原始类型和字符串的文本扫描器。它可以解析基于特定的分隔模式(默认情况下是空格)的原始输入,并将字符转换为不同类型的值。...以下是一些常用的方法: nextLine(): 读取输入直到换行("\n")。 nextInt(): 读取下一个整数。 nextDouble(): 读取下一个双精度浮点数。...; // 提示用户输入并读取一个双精度数 System.out.print("请输入您的工资:"); double salary = scanner.nextDouble...、整数和双精度数。...异常处理:在实际应用中,需要考虑到输入可能会出错的情况,并通过异常处理或其他逻辑来处理不正确的输入。 Scanner类是一个非常实用的工具,可以帮助你创建交互式的Java应用程序。
所以接下来我们就可以使用Java中的BigDecimal类来解决这类问题。 普及一下: Java中float的精度为6-7位有效数字。double的精度为15-16位。...API 构造器: 构造器 描述 BigDecimal(int) 创建一个具有参数所指定整数值的对象 BigDecimal(double) 创建一个具有参数所指定双精度值的对象 BigDecimal(long...对象中的值相加,然后返回这个对象 subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象 multiply(BigDecimal) BigDecimal对象中的值相乘...() 将BigDecimal对象中的值以双精度数返回 floatValue() 将BigDecimal对象中的值以单精度数返回 l ongValue() 将BigDecimal对象中的值以长整数返回 intValue...同时这个原则Effective Java和MySQL 必知必会中也都有提及。float和double只能用来做科学计算和工程计算。商业运算中我们要使用BigDecimal。
shared.keepttl); } 源码地址:https://github.com/redis/redis/blob/unstable/src/t_string.c long double 是 c 语言的长双精度浮点型...INCRBYFLOAT 导致精度丢失 INCRBYFLOAT 导致精度丢失有两种情况: 累计的范围值超过 INCRBYFLOAT 所能表示的最大精度范围,在 double 范围内。...increment 接受的参数类型就是一个 double 所以会发生精度问题 C 语言长双精度类型 因为 redis 底层采用的是long double 计算,所以这个问题转化为长双精度(long...这也就解释了为什么 long double 没有明显的精度问题,因为它天生就是为了提供更高精度而设计的。...Redis 的浮点数虽然做了比较好的优化,但是没有从根本解决计算精度问题。
(&)要将两个表达式计算结束之后,才会返回结果,也就是无论第一个表达式是什么结果,第二个表达式都会运行 a = a + b 与 a += b 的区别?...=:赋值运算符,在编译器将右边的表达式结果计算出来后,和左边的变量类型比较精度,如果左边的变量精度低于右边的结果的精度,编译器会显式的报错,告诉程序员去强制转型。...与前者相比,由于后者是位操作,效率也较前者高 3*0.1 == 0.3 将会返回什么?true 还是 false?...false,类型不一致 float f=3.4; 是否正确 不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失...对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。
所以接下来我们就可以使用Java中的BigDecimal类来解决这类问题。 普及一下: Java中float的精度为6-7位有效数字。double的精度为15-16位。...BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 BigDecimal(long) 创建一个具有参数所指定长整数值的对象。...subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。 multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。...doubleValue() 将BigDecimal对象中的值以双精度数返回。 floatValue() 将BigDecimal对象中的值以单精度数返回。...longValue() 将BigDecimal对象中的值以长整数返回。 intValue() 将BigDecimal对象中的值以整数返回。
下列哪个赋值语句是不正确的?...A)float f = 11.1 B)double d = 5.3E12 C)float d = 3.14f D)double f = 11.1E10f 考点:该面试题主要考察求职者对float单精度和...double双精度基本数据类型了解以及掌握。...出现频率:★★★★★ 【面试题分析】Java提供f|loat单精度和 double双精度基本数据类型。 float类型占4个字节32位,double类型占8个字节,64位。...在Java中,声明的小数都是double类型的。 float f=11.1是不合法的。
不正确。 在 java 中,这里的 3.4 默认是双精度数。...如果将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换 float f = (float) 3.4 或者写成 float...int 的默认值为 0,而 Integer 的默认值为 null,即 Integer 可以区分出未赋值和值为 0 的区别,int 则无法表达出未赋值的情况。...在字符串的 "+" 连接中,如果有引用存在,而引用的值在程序编译期是无法确定的,所以 a + "cd" 无法被编译器优化,只有在程序运行期来动态分配并将连接后的新地址赋给 b。...从面向对象设计的角度看:抽象类属于 “is-a” 关系;接口属于 “like-a” 关系。
☕ 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄之助。苟未尽善尽美,敬请批评指正,以资改进。!⌨ !...深入理解Java数据类型和取值范围 摘要 本文深入介绍了Java编程语言中的基本数据类型,探讨了数据类型的概念、存储单位以及Java的八种基本数据类型,包括整数、浮点数、字符和布尔值。...,用f标识,适用于小数,约6-7位有效数字 // 双精度浮点数类型 double myDouble = 2.71828; // 双精度浮点数,默认类型,适用于小数,约15...("单精度浮点数类型在内存中占用字节数 = " + Float.BYTES); // 占用字节数 System.out.println(); } // 打印双精度浮点数类型的取值范围...("双精度浮点数类型在内存中占用字节数 = " + Double.BYTES); // 占用字节数 System.out.println(); } // 打印字符类型的取值范围
领取专属 10元无门槛券
手把手带您无忧上云