Java学习笔记(九)——数据类型和运算符

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan

Java标识符

     一句话解释:标识符不能是java关键字和保留字

    规则:必须以字母、_、$开头

    关键字解释:java中具有特殊用途的单词被称为关键字,java所有的关键字都是小写的.

    java中的50个关键字包括(enum是java5新增的特性):

                               

类型分类

      分为基本类型和引用类型。

                 

                                           

基本类型转换

     自动类型转换(箭头左侧的可以自动转换成右侧的)

   

基本类型及其包装类

     Java学习笔记(六)--包装类、基本类型、拆箱、装箱_61 包装类,装箱和拆箱_环游记的博客-CSDN博客

两道面试题

     看到这里,会不会觉得这篇博文很扯,没有什么精华!以上的内容都是非常基础的内容。

     第一道:a=a+5和a+=5的区别

     看以下的代码,声明a为byte类型,a与5相加,在网上看到有人问过这种问题,很多人的回答是:这两种加法是一样的,a+=5是简写而已,其实不然,a=a+5,这其中的5默认是int类型的,而a是byte类型的,int是4个字节的,byte是1个字节的,所以在计算的时候整个表达式的类型会提升为int,所以a+5的类型是int类型,而表达式左侧的a是byte类型的,结合上边我画的基本类型自动转换的图我们可以看到byte是可以自动转换为int的,而int转换为byte需要强转,所以将int类型的直接赋值给byte类型的变量会报错.

    a+=5的计算过程是a=(byte)(a+5),所以不会出现左右值类型不一致而导致的错误.

    结论:当表达式中的类型相同时,以上两种发方式效果是一样的,当表达式中出现多个类型时,a=a+5:低类型的会转换为高类型的,可能会导致左右值类型不同而报错的情况.a+=5会自动转换类型,不会出现左右值类型不同的情况,所以不会报错.推荐使用a+=5这种运算形式.

                                                  

   第二道:char型变量中是否可以保存中文?(提示:char类型的占2个字节,即16位)

   可以保存中文,但是存在一些特殊的中文不可以保存.

   原因:计算机中的存储都是转成二进制保存的,例如我们看到的电影,图片,听到的音乐等.保存字符相对来讲比较简单,我们给每一个字符都进行编号,计算机保存的时候可以将编号转换为二进制存储就可以.早期美国人给英文字符、数字、标点符号进行了编号,差不多有100个,所以1个字节(8位,支持256个字符编号)就可以了,这称为ASCII字符集,后来亚洲国家纷纷为本国文字进行编号,但是发现并不兼容,所以美国人又为世界上所有的书面语言的字符进行了统一编号,他们使用了两个字节(16位,支持65535个字符编号),这就是Unicode字符集。Java语言使用16位的Unicode字符集作为编码方式,所以只要是有Unicode编号的汉字就可以保存为char类型。

总结 

    不怕不知道就怕不知道,认真对待,就会有意想不到的结果!

  

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值