问题:Java面试知识点:Object类、BigDecimal类、自动装箱、拆箱

答案:

1.Object类:

代码如下:

package com.xy;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test03* @Author: 杨路恒* @Description:* @Date: 2021/8/13 0013 17:33* @Version: 1.0*/
public class test03 {public static void main(String[] args) {Student student=new Student("杨大大","23");System.out.println(student);System.out.println(student.toString());Student student1=new Student("杨大大","23");System.out.println(student.equals(student1));    //Object类中的equals方法,底层也是用==号比较地址值String s="abc";//1.此时调用的是String类中的equals方法。//保证参数也是字符串,否则不会比较属性值而直接返回falseStringBuilder stringBuilder=new StringBuilder("abc");System.out.println(s.equals(stringBuilder));//2.StringBuilder类中是没有重写equals方法,用的就是Object类中的。System.out.println(stringBuilder.equals(s));}
}package com.xy;import java.util.Objects;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test04* @Author: 杨路恒* @Description:* @Date: 2021/8/13 0013 20:06* @Version: 1.0*/
public class test04 {public static void main(String[] args) {Student student=new Student("杨大大","23");System.out.println(Objects.toString(student));      //返回参数中对象的字符串表示形式//如果第一个参数不是 null ,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。System.out.println(Objects.toString(null,"null"));System.out.println(Objects.isNull(student));    //返回 true如果提供的参考是 null ,否则返回 false 。System.out.println(Objects.nonNull(student));   //返回 true如果提供的参考是非 null否则返回 false 。}
}

2.Math类

代码如下:

package com.xy;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test01* @Author: 杨路恒* @Description:* @Date: 2021/8/13 0013 13:27* @Version: 1.0*/
public class test01 {public static void main(String[] args) {int abs = Math.abs(-10);        //返回参数的绝对值System.out.println(abs);double ceil = Math.ceil(10.1);//向上取整System.out.println(ceil);double floor = Math.floor(10.1);        //向下取整System.out.println(floor);long round = Math.round(10.1);          //四舍五入System.out.println(round);double pow = Math.pow(6, 2);//返回a的b次方幂System.out.println(pow);double random = Math.random();//返回为double的正值System.out.println(random);}
}

3.BigDecimal类

代码如下:

package com.xy;import java.math.BigDecimal;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test05* @Author: 杨路恒* @Description:* @Date: 2021/8/14 0014 9:25* @Version: 1.0*/
public class test05 {public static void main(String[] args) {System.out.println(10.0/3.0);BigDecimal bigDecimal=new BigDecimal(10.0);BigDecimal bigDecimal1=new BigDecimal("0.3");System.out.println(bigDecimal);System.out.println(bigDecimal1);BigDecimal bigDecimal2=new BigDecimal("10.0");System.out.println(bigDecimal2.add(bigDecimal1));       //和为System.out.println(bigDecimal2.subtract(bigDecimal1));  //减为System.out.println(bigDecimal2.multiply(bigDecimal1));  //积为//返回BigDecimal其值为(this / divisor) ,其首选比例为(this.scale() - divisor.scale()) ;// 如果无法表示准确的商(因为它具有非终止的十进制扩展),则抛出ArithmeticException 。
//        System.out.println(bigDecimal2.divide(bigDecimal1));//参数一:表示参数运算的另一个对象//参数二:表示小数点后精确到多少位//参数三:舍入模式//进一法 BigDecimal.ROUND_UP//去尾法 BigDecimal.ROUND_FLOOR//四舍五入 BigDecimal.ROUND_HALF_UPSystem.out.println(bigDecimal2.divide(bigDecimal1,2,BigDecimal.ROUND_UP));System.out.println(bigDecimal2.divide(bigDecimal1,2,BigDecimal.ROUND_FLOOR));System.out.println(bigDecimal2.divide(bigDecimal1,2,BigDecimal.ROUND_HALF_UP));}
}

4.自动装箱、拆箱

代码如下:

package com.xy;/*** @ProjectName: day01* @Package: com.xy* @ClassName: test06* @Author: 杨路恒* @Description:* @Date: 2021/8/14 0014 9:51* @Version: 1.0*/
public class test06 {public static void main(String[] args) {System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);Integer integer=new Integer(6);Integer integer1=new Integer("66");System.out.println(integer);System.out.println(integer1);Integer integer2 = Integer.valueOf(6);Integer integer3 = Integer.valueOf("66");System.out.println(integer2);System.out.println(integer3);Integer integer4=6;     //自动装箱,Java底层会帮我们自动的调用valueof方法System.out.println(integer4);int i=integer4;System.out.println(i);String s="6";System.out.println(integer4+Integer.parseInt(s));String s1="91 27 46 38 50";int[] arr=new int[s1.length()];int index=0;String s2="";for (int j = 0; j <s1.length() ; j++) {if(s1.charAt(j)==' '){arr[index]=Integer.parseInt(s2);index++;s2="";}else {s2+=s1.charAt(j);}}arr[index]=Integer.parseInt(s2);for (int j = 0; j <arr.length ; j++) {System.out.println(arr[j]);}}
}

Java面试知识点:Object类、Math类、BigDecimal类、自动装箱、拆箱相关推荐

  1. java自动装箱拆箱原理

    java自动装箱拆箱原理 看了很多博主都没写原理,只是浅显地说了自动装箱拆箱的含义,我就把这个必须知道的知识写一下吧 1.自动装箱 以int -> Integer为例,Integer integ ...

  2. java自动装箱拆箱深入剖析

    这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆:  java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装 ...

  3. java 自动拆箱_Java中的自动装箱拆箱

    Java中的自动装箱拆箱 一.自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型. 1 //自动装箱 2 Integer total = 90; ...

  4. Java自动装箱/拆箱 - Java那些事儿

    昨天Java基本数据类型和引用类型一文中漏了几张图,已经补上,需要的自己回头去看,本系列文章首发于公众号:saysayJava. 在让人疑惑的Java代码 - Java那些事儿 一文中我们说到编译器自 ...

  5. Java基础笔记 – 增强的for循环For each循环 自动装箱拆箱 可变参数

    1.For each循环:1.1.语法:1.2.For each循环的使用:1.3.嵌套For each循环:1.4.三种循环遍历集合的列举:1.5.增强的for循环的缺点:2.自动装箱/拆箱(Aut ...

  6. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?

    参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...

  7. Java 8 自动装箱拆箱效率影响测试

    Java 8 自动装箱拆箱效率影响测试 测试完毕之后的结论:   1. 装箱发生 232−12^{32-1}232−1 次的时候影响时间大概为10秒   2. 拆箱发生 232−12^{32-1}23 ...

  8. Java自动装箱/拆箱

    自动装箱和自动拆箱 那么Java中有八大基本数据类型,byte.char.short.int.long.double.float.boolean.而它们有对应的包装类 Byte.Character.S ...

  9. java基础--06(自动装箱拆箱)

    目录 1.自动装箱,自动拆箱 1.自动装箱,自动拆箱 装箱就是自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型. java的数据类型: 自动装箱: 最主要的就是Inte ...

  10. plsql怎么查看存储过程中long变量的值_面试官:详细说下基本数据类型与装箱拆箱的过程...

    基本数据类型,有存放在栈中的,也有存放堆中的,这取决去基本类型声明的位置. 一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在 ...

最新文章

  1. zabbix二次开发之从mysql取值在运维平台js图表展现
  2. php各种api接口,PHPSAPI接口
  3. Altium Designer原理图模板设计
  4. Delphi中静态方法重载还是覆盖的讨论
  5. OpenCV图像处理使用笔记(七)——卷积运算原理
  6. AT4518-[AGC032C]Three Circuits【欧拉回路】
  7. 从浏览器启动客户端程序的方法
  8. 网络安全:个人网站防黑安全技巧
  9. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
  10. java getname threads_Java8并发教程:Threads和Executors
  11. Linux系统管理---LVM分区管理
  12. java计算交点高程_卡西欧9860CG20图形计算程序(直线相交求交点坐标程序、距离后方交会带高程程序)...
  13. 用计算机进行实时自动采集,动态数据采集
  14. python中plt.hist_关于python中plt.hist参数的使用详解
  15. Flutter 数据库ORM框架floor使用详解
  16. 华为机试-题目核心考点
  17. 软考--后缀式(逆波兰式)的两种求法
  18. 如何在短时间内提高推广?做好展现量
  19. 作为程序员,在挑选 iPad 时我在想什么?
  20. APL在Web应用系列 --- 例子1: 在Web页面的javascript中 调用 apl脚本

热门文章

  1. 为了杀蚊子,他用树莓派DIY了一把激光枪!
  2. java 对象 序列化 文件中_如何将一个java对象序列化到文件里
  3. Datawhale-零基础入门NLP-新闻文本分类Task02
  4. 联想rd650怎么装系统win7_Lenovo g50重装win7系统|U盘重装联想g50笔记本系统
  5. linux下mysql主从同步是主从i/o线程显示为no_mysql主从同步IO线程NO
  6. ssh 端口_【科普】SSH都不懂,还搞什么网络
  7. 十六、PHP框架Laravel学习笔记——构造器的增删改
  8. 十四、CSS 3新特性详解(二)——2D转换(transform)、动画(animation)、动画序列
  9. LeetCode 915. 分割数组
  10. 程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)