Java基础——数据类型和运算符
来源:互联网 发布:linux下的网络编程 编辑:程序博客网 时间:2024/05/18 01:49
Java标识符
一句话解释:标识符不能是java关键字和保留字
规则:必须以字母、_、$开头
关键字解释:java中具有特殊用途的单词被称为关键字,java所有的关键字都是小写的.
java中的50个关键字包括(enum是java5新增的特性):
类型分类
分为基本类型和引用类型。
基本类型转换
自动类型转换(箭头左侧的可以自动转换成右侧的)
基本类型及其包装类
两道面试题
看到这里,会不会觉得这篇博文很扯,没有什么精华!以上的内容都是非常基础的内容。
第一道: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类型。
总结
不怕不知道就怕不知道,认真对待,就会有意想不到的结果!
- Java基础学习笔记——数据类型和运算符
- Java基础——数据类型和运算符
- java基础语法-运算符和数据类型
- 【java基础】数据类型和运算符
- JAVA基础——数据类型及运算
- Java语言基础(二)——数据类型、运算符和流程控制语句
- 黑马程序员——高新技术---Java基础语法-数据类型和运算符
- 黑马程序员--------------java基础语法(—)------常量,变量,数据类型和运算符
- Java 学习基础第三章之数据类型和运算符
- 黑马程序员-----java基础之数据类型和运算符
- Java基础学习总结----数据类型和运算符
- java基础之数据类型和基本运算符
- java基础 第三章 数据类型和运算符
- 【从基础学 Java】运算符和数据类型
- Java基础2--基本数据类型和运算符
- java基础(2)-变量、数据类型和运算符
- Java基础总结(一)数据类型和运算符
- java基础-数据类型--运算
- ZOJ 3537 Cake 计算几何+区间dp
- Qt样式表 学习总结
- 【期望DP】HDU3853 LOOPS
- caffe dilation 空洞卷积
- 二叉树——判断两棵二叉树是否相等(先序和中序遍历序列建立二叉树)
- Java基础——数据类型和运算符
- ftp协议,文件传输的一抹色彩
- KCF详解
- [ARM-Linux]Linux-MATLAB安装
- matlab的findobj函数
- 沧田TS618K打印机驱动官方版下载
- 【hdu 1863】 畅通工程
- C/C++使用NotePad++DIY一个IDE
- linux shell使用loop和cursor批量修改sql