黑马程序员--Java语法基础中的例题和思考题

原创 2015年11月20日 20:37:45
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


面试试题:

A:下面两种方式有区别吗?

float f1 = 12.345f;
float f2 = (float)12.345;

解答:前者12.345本身是一个float类型的数据,而后者12.345是个double类型的,经过强制转换赋值给f2


B:下面的程序有问题吗,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;

 解答:第三行有问题,因为可能存在精度损失的情况。


C:下面的操作结果是什么呢?

byte b = (byte)130;

解答:-126


D:字符参与运算
是查找ASCII里面的值
'a' 97
'A' 65
'0' 48
System.out.println('a');
System.out.println('a' + 1);

E:字符串参与运算
这里其实是字符串的连接
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");


F:面试题:
short s = 1;
s = s + 1;

short s = 1;
s += 1;
请问上面的代码哪个有问题?

解答:第一个有问题,因为第一个short类型的数据参与运算的时候,首先默认转换成int类型参与运算,但是又赋值给一个short类型的数据,这样可能会损失精度。而第二个运算中,扩展运算符隐含了一个强制类型转换,式子等价于

s=(short)s+1;


G:面试题

switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
解答:可以,不可以,JDK7以后可以







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

一、关键字         定义:被Java赋予了特殊含义的单词。         特点:体现上都是英文小写。 1、 用于定义数据类型的关键字 基本数据类型:      ...

黑马程序员-day03-Java基础语法(函数)

函数 注意: 1.函数中只能调用函数,不可以在函数内部定义函数。 2.定义函数时,函数的结果应该返回给调用者,交由调用者处理。   重载: 1.重载的概念:在同一个类中,允许存在一个以上的...

黑马程序员——Java基础语法---关键字、常量、变量、运算符

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 1.关键字    赋予了特殊含义的单词    写法固定,单词所有字母全部为小写,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员--Java语法基础中的例题和思考题
举报原因:
原因补充:

(最多只允许输入30个字)