金现代面试题—— i++,++i, ,|自动装箱和自动拆箱(int,byte,float等)|取int等基本类型的最大值
- 本文目录
- 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等基本类型的最大值相关推荐
- Java 进阶——自动装箱和自动拆箱
1.什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a ...
- Java基础:自动装箱和自动拆箱
Java的自动包装类型 首先基本数据类型:4类8种 基本数据类型 对应包装器类 byte(1字节) Byte short(2字节) Short int(4字节) Integer long(8字节) L ...
- java 自动装箱自动拆箱_自动装箱和自动拆箱
自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基本类型了. 基 ...
- 自动装箱与自动拆箱的一些问题
今天打算复习一下Java基础,之前学的太快速了,现在暑假,好好把那些细节看一下 复习到自动装箱和自动拆箱的时候,这里有个很有趣的现象 Integer n1 = 100; Integer n2 = 10 ...
- 第三次学JAVA再学不好就吃翔(part64)--自动装箱和自动拆箱
学习笔记,仅供参考 自动装箱和自动拆箱 装箱:把基本类型转换为包装类类型 int x = 100; Integer i1 = new Integer(x); 拆箱:把包装类类型转换为基本类型 int ...
- java自动装箱和拆箱_关于java自动装箱和自动拆箱
自动装箱和拆箱是一个老生常谈的问题了,今天我们谈一下我对这两个概念的理解. 一.自动装箱 java中一共有八种基本类型的数据,对于这些基本类型的数据都有一个对应的包装器类型.比如int--Intege ...
- java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较
自动装箱和自动拆箱是java5.0版本引入的,能自动将基本类型转换为对应的基本类型包装对象,那么我们比较一下他们的性能情况. package com.wmmad.test; import junit. ...
- Java包装器类及自动装箱(自动打包)
1.为什么需要包装器类? Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便.例如,我们有时候需要将int这种基本类型转换为对象类型的,所有的 ...
- 包装类,包装类的自动装箱和自动拆箱
目标 1)包装类的作用, 2)掌握包装类的自动装箱和自动拆箱操作. 3)掌握包装类的转换操作. 具体内容 一切皆对象,八种基本数据类型不是对象. 把Int包装成一个类,这样的一个类就可以以对象的形式操 ...
最新文章
- Spring MVC 过时了吗?
- 高通android开发摘要
- 【php学习笔记】ticks篇
- qt中实现息屏开平mousepress_QT信号槽分析
- 学习STM32很简单?
- pat 乙级 1032 挖掘机技术哪家强(C++)
- Qt文档阅读笔记-QSet官方解析及实例
- python哪个专业开这个课程-深圳python课程
- 【机器学习】机器学习从零到掌握之十三 -- 教你理解Logistics回归之梯度上升算法
- [SecureCRT] 解决 securecrt failed to open the host key database file 的问题
- 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...
- SSE优化系列十:RGB和YUV格式图像互转SSE优化
- excel打开密码忘记了_Excel工作表密码忘记了怎么办?
- Sun jdk、Open jdk、Icedtea jdk 之间的关系
- LED背光源的技术术语
- 后台运行shell命令eog,并用pkill关闭
- 防抖和节流理解,以及lodash使用
- mysql 修改数据库字段update_SQL语句update修改数据库字段
- PHP通过phpspreadsheet读取Excel文件
- iPhone5C三大看点:性能不输iPhone5 或售3399元