您的位置:首页 > 编程语言 > Java开发

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

2017-11-08 21:46 549 查看

Java标识符

     一句话解释:标识符不能是java关键字和保留字
    规则:必须以字母、_、$开头
    关键字解释:java中具有特殊用途的单词被称为关键字,java所有的关键字都是小写的.
    java中的50个关键字包括(enum是java5新增的特性):
                               


类型分类

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


                                           


基本类型转换

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


基本类型及其包装类

     https://blog.csdn.net/zh15732621679/article/details/79623414

两道面试题

     看到这里,会不会觉得这篇博文很扯,没有什么精华!以上的内容都是非常基础的内容。
     第一道: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类型。

总结 

    不怕不知道就怕不知道,认真对待,就会有意想不到的结果!
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: