• 本文目录
  • 1.看程序运行,算运行结果
  • 2.问答——解释一下自动装箱和自动拆箱
  • 3.对byte,short,float.double 进行自动装箱和自动拆箱
  • 4.通过封装类获取其基本类型的最大值

本文目录

1.看程序运行,算运行结果

public static void main(String[] args){
int i=1,j=1;
if(i++==2&&++j==2){
i=7;
}
System.out.println(“i=”+i+”,j=”+j);
}
请给出 输出结果:
正解:i=2,j=1

这个题出的很巧妙,知识点如下

①i++和++i 的区别

  i++,先赋值,后自增++i ,先自增,后赋值(或比较)

②&&和&的区别

&&前面结果 如果是 false,后面的语句将不再执行
&则无论前面结果怎样,都会执行后面的语句

③如果这道题改成

public static void main(String[] args){
int i=1,j=1;
int a=i++;
//此时 i++已经执行完
if( i==2&&++j==2){
i=7;
}
System.out.println(“i=”+i+”,j=”+j);
}

结果又会是怎样?

答案: i=7,j=2

总结: 透过现象看本质

int i=1;
if( i++==2) false
先比较:执行完 1==2 (1等于2)结果为false 之后
再自增: i++,i的值此时为 2


int i=1;
a=i++;
if(i==2) true
先赋值:a=i ,值为1
再自增:i=2 ,结果为true

2.问答——解释一下自动装箱和自动拆箱

1,int和integer有什么区别
即基本类型和其封装类的关系

答:java所有的基本类型(8种),
都有对应的封装类类型

类型名称 关键字 封装类 大小 取值范围
字节型 byte Byte 8位 -27 ~27 -1
短整型 short Short 16位 -215~215-1
整形 int Integer 32位 -231~231-1
长整型 long Long 64位 -263~263-1
浮点型 float Float 32位 3.4e-38~3.4e+38
双精度 double Double 64位 1.7e-38~1.7e+38
字符型 char Character 16位 ‘\u0000’~’\uFFFF’
布尔型 boolean Boolean 1位 true/false

装箱和拆箱

装箱:把基本类型转换为封装类类型,即将栈中的数据封装成对象存放到堆中的过程。

自动装箱:不需要构造方法,直接用 = 自动把基本类型转换为封装类类型

//基本类型转换成封装类型
int i=2;
//装箱Integer it=new Integer(i)//自动装箱
Integer it2=i;

拆箱:把封装类类型转换为基本类型,即将堆中的数据值存放到栈中的过程。

自动拆箱:不需要调用Integer的intValue方法,直接用 = 自动把封装类类型转换为基本类型

Integer it = new Integer(5);//拆箱int i2 = it.intValue();//自动拆箱int i3 = it;

总结:自动装、拆箱就是简化了基本类型和其封装类类型的转换。

3.对byte,short,float.double 进行自动装箱和自动拆箱

 public static void main(String[] args) {// 1. 对byte,short,float,double进行自动拆箱和自动装箱byte b = 1;short s = 2;float f = 3.14f;double d = 6.18;// 自动装箱Byte b1 = b;Short s1 = s;Float f1 = f;Double d1 = d;// 自动拆箱b = b1;s = s1;f = f1;d = d1;     }

4.通过封装类获取其基本类型的最大值

//   整型System.out.println("byte的最大值是:"+Byte.MAX_VALUE);System.out.println("short的最大值是:"+Short.MAX_VALUE);System.out.println("int的最大值是:"+Integer.MAX_VALUE);System.out.println("long的最大值是:"+Long.MAX_VALUE);
//浮点型System.out.println("float的最大值是:"+Float.MAX_VALUE);System.out.println("double的最大值是:"+Double.MAX_VALUE);
//字符型        System.out.println("char的最大值是:"+Character.MAX_VALUE);
//注,boolean 布尔类型没有最大值。>运行结果
byte的最大值是:127
short的最大值是:32767
int的最大值是:2147483647
long的最大值是:9223372036854775807
float的最大值是:3.4028235E38
double的最大值是:1.7976931348623157E308
char的最大值是:

char源码

double源码

吃一堑长一智
end

金现代面试题—— i++,++i, ,|自动装箱和自动拆箱(int,byte,float等)|取int等基本类型的最大值相关推荐

  1. Java 进阶——自动装箱和自动拆箱

    1.什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a ...

  2. Java基础:自动装箱和自动拆箱

    Java的自动包装类型 首先基本数据类型:4类8种 基本数据类型 对应包装器类 byte(1字节) Byte short(2字节) Short int(4字节) Integer long(8字节) L ...

  3. java 自动装箱自动拆箱_自动装箱和自动拆箱

    自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基本类型了. 基 ...

  4. 自动装箱与自动拆箱的一些问题

    今天打算复习一下Java基础,之前学的太快速了,现在暑假,好好把那些细节看一下 复习到自动装箱和自动拆箱的时候,这里有个很有趣的现象 Integer n1 = 100; Integer n2 = 10 ...

  5. 第三次学JAVA再学不好就吃翔(part64)--自动装箱和自动拆箱

    学习笔记,仅供参考 自动装箱和自动拆箱 装箱:把基本类型转换为包装类类型 int x = 100; Integer i1 = new Integer(x); 拆箱:把包装类类型转换为基本类型 int ...

  6. java自动装箱和拆箱_关于java自动装箱和自动拆箱

    自动装箱和拆箱是一个老生常谈的问题了,今天我们谈一下我对这两个概念的理解. 一.自动装箱 java中一共有八种基本类型的数据,对于这些基本类型的数据都有一个对应的包装器类型.比如int--Intege ...

  7. java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较

    自动装箱和自动拆箱是java5.0版本引入的,能自动将基本类型转换为对应的基本类型包装对象,那么我们比较一下他们的性能情况. package com.wmmad.test; import junit. ...

  8. Java包装器类及自动装箱(自动打包)

    1.为什么需要包装器类? Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便.例如,我们有时候需要将int这种基本类型转换为对象类型的,所有的 ...

  9. 包装类,包装类的自动装箱和自动拆箱

    目标 1)包装类的作用, 2)掌握包装类的自动装箱和自动拆箱操作. 3)掌握包装类的转换操作. 具体内容 一切皆对象,八种基本数据类型不是对象. 把Int包装成一个类,这样的一个类就可以以对象的形式操 ...

最新文章

  1. Spring MVC 过时了吗?
  2. 高通android开发摘要
  3. 【php学习笔记】ticks篇
  4. qt中实现息屏开平mousepress_QT信号槽分析
  5. 学习STM32很简单?
  6. pat 乙级 1032 挖掘机技术哪家强(C++)
  7. Qt文档阅读笔记-QSet官方解析及实例
  8. python哪个专业开这个课程-深圳python课程
  9. 【机器学习】机器学习从零到掌握之十三 -- 教你理解Logistics回归之梯度上升算法
  10. [SecureCRT] 解决 securecrt failed to open the host key database file 的问题
  11. 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...
  12. SSE优化系列十:RGB和YUV格式图像互转SSE优化
  13. excel打开密码忘记了_Excel工作表密码忘记了怎么办?
  14. Sun jdk、Open jdk、Icedtea jdk 之间的关系
  15. LED背光源的技术术语
  16. 后台运行shell命令eog,并用pkill关闭
  17. 防抖和节流理解,以及lodash使用
  18. mysql 修改数据库字段update_SQL语句update修改数据库字段
  19. PHP通过phpspreadsheet读取Excel文件
  20. iPhone5C三大看点:性能不输iPhone5 或售3399元

热门文章

  1. signalR制作微信墙 开源
  2. freeswitch挂断事件表格
  3. oracle中drcr,医学影像中的CR、DR、DX是什么意思?
  4. Python图片马赛克工具:photomosaic
  5. 人工智能轨道交通行业周刊-第4期(2022.6.27-7.3)
  6. 使用小觅相机录制数据集
  7. 增强学习导论 中文版
  8. Cubase 5.1.2 WiN 中文完整版音乐制作软件
  9. 【随学随想】 自适应过滤法预测时间序列
  10. 饥荒mod制作教程--物品(武器)--01