1、Java基础-基本数据类型

基本类型,或者叫做内置类型,是Java中不同于类的特殊类型。

Java中定义了四类八种基本数据类型:

布尔型:          boolean
字符型:          char
整数型:          byte, short, int, long
浮点数型:        float, double



这里写图片描述


下边介绍一些在笔试面试中,经常遇到的问题。

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

1) 对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表达式的类型为int,那么将int赋予给short类型的变量s1会出现类型转换错误。

2) 对于short s1=1;s1+=1来说 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。


2. Integer和int的区别

int是java的8种基本数据类型之一。Integer是Java为int类型提供的封装类。

int变量的默认值为0Integer变量的默认值为null,这一点说明Integer可以区分出未赋值和值为0的区别,
比如说一名学生没来参加考试,另一名学生参加考试全答错了,那么第一名考生的成绩应该是null,第二名考生的成绩应该是0分。

Integer类内提供了一些关于整数操作的一些方法。

3. char类型变量能不能储存一个中文的汉字,为什么?

char类型变量是用来储存Unicode编码的字符的,unicode字符集包含了汉字,
所以char类型当然可以存储汉字的。

如果某个生僻字没有包含在unicode编码字符集中,那么char就不能存储该生僻字。

4. String是基本数据类型吗?

基本数据类型包括byteshortintcharlongfloatdoubleboolean。
所以String不是基本数据类型。

5. switch语句能否作用在byte上,能否作用在long上,能否作用在string上?

switch(expr1)中,expr1只能是一个整数表达式或者枚举常量,
整数表达式可以是int基本类型或Integer包装类型。

由于,byte,short,char都可以隐式转换为int,所以,这些类型以及这些类型的包装类型也是可以的。

long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,
所以,它们不能作用于swtich语句中。

不过,在1.7版本之后switch就可以作用在string上了。


      
      

特别说明: 关于boolean类型在内存中占用字节数问题,网上说法不一,一般有”占用1位”、”占用1个字节”、”占用4个字节”等说法。既然官方都没有给出明确的解释,我们就自己去分析理解吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值