Java基础知识:数据类型与变量、标识符、运算符、表达式
一、数据类型
Java定义了基本数据类型、引用数据类型、自定义类型。
八种基本数据类型:byte (1)、 short (2)、 int (4)、 long(8)、 float (4)、 double(8)、 char(1)、boolean(1或4)
1、基本数据类型的包装类
(1)概述
(2)为什么使用包装类
A.包装类中封装了一些很实用的方法和常量。例如:
Byte.MIN_VALUE是Byte类中的一个常量,存放了byte类型数据的最小值。
B.包装类在集合中用来定义集合元素的类型。
(3)栈空间,三特点:
A.栈空间存取数据的效率高。
B.栈中的数据按“先进后出”的方式管理。
C.栈空间存储空间较小,不能存放大量的数据。
D.JVM将基本类型的数据存放在栈空间。
(4)堆空间
A.堆空间存取数据的效率最低。
B.数据存放的位置随机分配。
C.堆空间存储数据的空间大,能存放大容量的数据。
2、基本数据类型间的转换
(1)自动类型转换
容量小的数据类型可以自动转换成容量大的数据类型,例如:byte→short→int→long→float→double(byte、short、int不会互相转换,它们三者在计算时会转换成int类型)。
(2)强制类型转换
容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,例如:
long l = 100L;
int i = (int)l;
二、标识符
在编程过程中,Java对包、类、方法、参数等命名时使用的字符序列称为标识符。标识符也有命名规范,具体要求如下:
由字母、数字、下划线(_)或美元符号($)组成。
不能以数字开头。
区分大小写。
长度无限制。
不能是Java中的保留关键字。
为方便后期测试或维护用,一般标识符命名最好有意义。
在Java中被赋予特定含义、已被系统使用、有专门用途的字符串称为关键字(keyword)。关键字全部是小写。Java中共有50个保留的关键字,如下表所示。
三、常量
1、什么是常量:常量是指程序中持续不变的值,是值不能改变的数据。
2、Java语言中常量的表示形式如下。
十进制整数:如12、-314、0。
八进制整数:要求以0开头,如0123表示八进制的123。
十六进制数:要求以0x或0X开头,如0x123。
浮点数(实型)常量:如3.14。
字符常量:如‘a’、‘ ’、‘u0027’。
布尔(逻辑)常量:true、false。
字符串常量:如“a”、“hello world”。
null常量:表示对象的引用为空,不能作为基本数据类型的值使用。
3、怎样使用常量:常量是装到变量存储空间中的数据,例如:
public static final double PI = 3.14;
4、常量的书写规则
Java中的常量一般采用大写字母单词命名,单词与单词之间用下划线(_)加以分隔,这也符合ANSI的常量命名规则。例如:
static final int MIN_AGE = 100;
static final String MAX_PAGE = 1000;
四、运算符
在Java编程过程中,运算符主要包括如下几种。
1、 算术运算符:+、-、*、/、%、++、--。
2、 赋值运算符:=、+=、-=、*=、/=、%=。
3、 关系运算符:>、<、>=、<=、==、!=。
4、 逻辑运算符:!、&、|、^、&&、||。
5、 位运算符:&、|、^、~、>>、<<、>>>。
位运算符对两个运算数中的每一个二进制位都进行运算,位运算符分类如下:
~:按位取反(二进制数据取反,即0变1,1变0)。
&:按位与(进行按位与操作时,两位都是1结果才是1)。
|:按位或。
^:按位异或(1^0结果为1)。
在参加面试的时候需要用到这方面的知识,比如要对数字25和3进行AND 运算,如何分析呢?分析方法如下图所示。
6、 字符串连接运算符:+。
语句“String s = “He” + “llo”;”的执行结果为“Hello”,“+”除了可用于字符串连接,还能将字符串与其他的数据类型相连,成为一个新的字符串。例如“String s = “x” + 123;”,结果为“x123”。
7、 三目运算符?:
三目运算符就是能操作三个数的运算符,如X ? Y : Z,X为boolean类型表达式,先计算X的值,若为true,整个三目运算的结果为表达式Y的值,否则整个运算结果为表达式Z的值。
五、表达式
对表达式中的操作数进行运算得到的结果称为表达式的值。表达式的值的数据类型即为表达式的类型,一般多个类型的数据运算,最后结果的数据类型以最大的数据类型为准。
例如,若有:int a=3, double b=4.8, float c=8.9f;那么a*b+c最后的结果类型就为double类型。
Java的错误类型
程序的错误分为编译期语法错误、运行期异常错误和运行期逻辑错误。
1、编译期语法错误可以借助Eclipse的帮助方便地定位错误,并进行修改。
2、运行期异常:系统会提示错误的类型和出错的位置。
3、逻辑错误是指程序可以编译运行,但程序执行的结果却不是预期的效果。