Java这点事
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java这点事,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1719字,纯文字阅读大概需要3分钟。
内容图文
![Java这点事](/upload/InfoBanner/zyjiaocheng/1071/14986dfb421446e1b029a15a78b77149.jpg)
1--代码片段:
1
2
3
4
5
|
byte
b1=
1
,b2=
2
,b3,b6;
final
byte
b4=
4
,b5=
6
;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);
|
关于上面代码片段叙述正确的是()
- 输出结果:13
- 语句:b6=b4+b5编译出错
- 语句:b3=b1+b2编译出错
- 运行期抛出异常
分析:
表达式的数据类型自动提升, 关于类型的自动提升,注意下面的规则。
①所有的byte,short,char型的值将被提升为int型;
②如果有一个操作数是long型,计算结果是long型;
③如果有一个操作数是float型,计算结果是float型;
④如果有一个操作数是double型,计算结果是double型;
而声明为final的变量会被JVM优化,第6行相当于 b6 = 10
没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,需要强制转换(向下转型)。
C.
被final修饰的变量是常量,这里的b6=b4+b5可以看成是b6=10;在编译时就已经变为b6=10了
而b1和b2是byte类型,java中进行计算时候将他们提升为int类型,再进行计算,b1+b2计算后已经是int类型,赋值给b3,b3是byte类型,类型不匹配,编译不会通过,需要进行强制转换。
Java中的byte,short,char进行计算时都会提升为int类型。
1.需要强制转换(向下转型)。
2.没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,要向下转型。
2.没有final修饰的变量相加后会被自动提升为int型,与目标类型byte不相容,要向下转型。
2--下面代码运行结果是()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
class
Test{
public
int
add(
int
a,
int
b){
try
{
return
a+b;
}
catch
(Exception e) {
System.out.println(
"catch语句块"
);
}
finally
{
System.out.println(
"finally语句块"
);
}
return
0
;
}
public
static
void
main(String argv[]){
Test test =
new
Test();
System.out.println(
"和是:"
+test.add(
9
,
34
));
}
}
|
- catch语句块,和是:43
- 编译异常
- finally语句块,和是:43
- 和是:43,finally语句块
分析:
答案是C
对于try块中的return,先计算return 后面的表达式,缓存结果
跳到finally语句块中执行,如果finally语句块中有return语句,则不会再去执行try中的语句。
如果finally中没有return语句,则会再次去try语句块中执行return
3--以下java程序代码,执行后的结果是()
1 2 3 4 | java.util.HashMap map= new java.util.HashMap(); map.put( "name" , null ); map.put( "name" , "Jack" ); System.out.println(map.size()); |
- 0
- null
- 1
- 2
- 分析:
C.HashMap是Map接口的实现类,并且不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
HashMap允许null键和null值
使用put方法向HashMap中添加元素时,如果键不存在,则添加该元素,并返回null;如果键已经存在,则把该键对应的值进行覆盖,返回原来的键,由于键都是"name",所以第二次添加的会把第一次的值覆盖,并返回第一次的键,所以HashMap中还是只有一个元素
Map Set无重复,List按顺序存储。
原文:http://www.cnblogs.com/xuan52rock/p/4759936.html
内容总结
以上是互联网集市为您收集整理的Java这点事全部内容,希望文章能够帮你解决Java这点事所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】