java中的是实型数_【Java面试题三】Java数据类型及类型转换

面试者需要掌握以下知识点:

在Java程序中,总共有8大基本类型,包括4种整型,1种字符型,2种浮点型,1种布尔型,除了这几种基本类型之外,其他都属于复合类型。

总的来说Java数据类型分为基本数据类型、复合数据类型。

基本数据类型分为:数型值、字符型(char)、布尔型(boolean)。

数值型分为:整型和实型。

整型分为:字节型(byte)、短整型(short)、整型(int)、长整型(long)

实型分为:单精度(float)、双精度(double)

复合数据类型分为:数组、类、接口。

面试题一:int和Integer有什么区别?

参考答案:Java提供两种不同的类型:引用类型和原始类型。int是Java的原始数据类型,Integer是Java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类,例如,Boolean是boolean的封装类;Character是char的封装类;Byte是byte的封装类;Short是short的封装类;Integer是int的封装类;Long是long的封装类;Float是float的封装类;Double是double的封装类。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括大小和速度问题、这种类型以哪种类型的数据结构存储、当引用类型和原始类型用作某个类的实例数据时所指定的默认值。对象引用实例变量的默认值为null,而原始类型实例变量的默认值与它们的类型有关。

面试题二、给出下面的代码,哪个叙述是正确的?

public class IntArray{

static int arr[]=new int[10];

public static void main(String[] args){

System.out.println("arr[1]");

}

}

A.输出为0

B.没有结果输出

C.编译时将发生错误

D.编译时正确但是运行时发生错误

试题分析:在本题中arr是个int型数组,数组是类对象,属于复合数据类型。它在类被加载时完成初始化,由于arr[1]是一个原始数据类型int数据,其初始值为0.

参考答案:A

面试题三:判断表达式的正误

short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?

试题分析:这道题目主要考察了各数据类型之间的相互转换。要区分自动类型转换和强制类型转换。

参考答案:第一个表示中s1+1运算结果是int型,需要强制转换类型

第二个类型可以正确编译,可以强制类型转换。

面试题四:选出对float变量的合法声明

下面选项中表示的是对float型变量的声明,请选择哪些是正确的?

A.float fa=-586;

B.float fb=3.1415;

C.float fc=0xA4E

D.float fd=42e1.2L;

E.float fe=52.08D;

F.float ff=5.88F;

试题分析:浮点常量默认为双精度数,如果需要指定为单精度数,需要在末尾加上F或f。

参考答案:ACF

面试题五:char型数据的取值是多少?

A.-128~127

B.0~32767

C.由平台决定

D.0~65535

参考答案:D

面试题六、根据给出的代码,选择正确的答案:

class AA{

public char c;

public AA(char i) {

c=i;

}

public static void main(String[] args) {

AA c1=new AA('1');

AA c2=new AA('1');

AA c3=c2;

char a='1';

int b=1;

}

}

A.a==b

B.a==c1

C.c2==c3

D.c1==c2

试题分析:基本类型进行的是值比较,而对象类型进行的是地址比较,也就是指向它们内存地址的指针进行比较

参考答案:C

面试题七:char型变量能不能存储一个汉字?为什么?

参考答案:char 型变量能够存储一个汉字,因为Java采用的Unicode编码,一个char占16个位,而一个中文汉字只有两个字节,所以放一个汉字是没用问题。

面试题八:下面选项对boolean型变量的声明,请选择哪些选项是正确的?

A.boolean b1;

B.boolean b2=1;

C.boolean b3='true';

D.boolean b4=false;

E.boolean b5=Boolean.false();

试题分析:布尔类型是最简单的一种数据类型,布尔型变量是用关键字boolean来定义且布尔型数据只有两个值:true和false,分别表示“真”和“假”。在Java中,布尔类型是不能转换为int型。

参考答案:AD

面试题九:基本数据类型与String类型之间的转换

表达式10.4+"4.2"的结果是什么?

A.返回double类型14.6

B.返回String类型“14.6”

C.返回long类型14

D.返回String类型“10.44.2”

试题分析:当+运算符两侧的操作数的类型不一致时,需要统一类型,这时就会发生类型转换。当一个操作数为原始数据类型,另外一个为字符串时,则基本类型的操作数要转换为等价的字符串,这时“+”不再是加运算符而是连接符。

参考答案:D

面试题十:选择正确的结果

运行下面的代码,正确的结果是哪一个?

public class Test{

public static void main(String[] args) {

int x=1;

Test rt=new Test();

System.out.print("x1="+x);

rt.setValue(x);

System.out.print("x3="+x);

}

public void setValue(int x) {

x=x+1;

System.out.print("x2="+x);

}

}

A.x1=1 x2=2  x3=1

B.x1=1 x2=0 x3=2

C.x1=1 x2=1 x3=1

D.不能编译

参考答案:A

面试题十一:

在下面程序标明的位置处插入哪条语句会导致编译错误

public class FinalUse{

public static void main(String[] args) {

int x=0;

final int y=1;

int[] z= {2};

final int[] n= {3};

Use(x,y,z,n);

}

static void Use(final int x,int y,final int[] z,int[] n) {

//插入内容

}

}

A.x++

B.y++

C.y=x

D.z[0]++

E.n[0]++

F.z=n

参考答案:AF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值