1

Java 是一种强类型语言,因此,Java 定义了基本数据类型。同时, Java 和其它高级计算机语言一样,有多种运算符,这在我们编程过程中极为有用。

运算符

先从运算符谈起。

顾名思义,运算符解决的是多个对象之间的运算问题。 Java 的运算符分为:

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

对于运算符的使用,这里不再赘述,只把恼人的运算优先级再次列出(从上到下优先级递减)。

运算符 结合性
[] . ()(方法调用) 从左往右
! ~ ++ +(一元) -(一元) (强制类型转换) new 从右往左
* / % 从左往右
+ - 从左往右
<< >> >>> 从左往右
< <= > >= instanceof 从左往右
== != 从左往右
& 从左往右
^ 从左往右
位或 从左往右
&& 从左往右
逻辑或 从左往右
?: 从右往左
= += -= *= /= %= &= ^= <<= >>= >>>= 从右往左

P.S. 结合性指定是:运算符优先级相同的时候,从左边或右边开始运算。

数据类型

这里,我主要想强调的是 Java 的 8 种基本数据类型以及一些常用的类类型。

基本数据类

Java 的基本数据类型同其它高级程序语言比较类似。

有 4 种表示整数的数据类型:

  • byte

  • short

  • int

  • long

2 种表示浮点数的数据类型:

  • float

  • double

1 种表示字符的数据类型:

  • char

1 种表示布尔值的数据类型:

  • boolean

这些数据类型的使用同样不再赘述。不过,每个基本数据类型都有一个对应的包装类型:

基本数据类型 包装数据类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

包装类型可以进行一个基本数据类型进行封装、获取基本数据类型的最大/最小值以及把字符串转换成一些基本数据类型等一系列操作。在实际开发过程中,比较好用。

常用类类型

除了一些基本数据类型, Java 提供的一些类类型,使用频率也很高。这里把它们拿出来总结一下。

字符串类型

广义上, Java 的字符串就是 Unicode 字符序列(关于 Unicode ,可以参见字符集与字符编码里的说明)。

在 Java 中,字符串是不可变的,即:一个字符串被创建出来后,这一块内存空间里的值是不会被更改。我们对于字符串的常用操作方法有:

  • 判断字符串是否相等
    str.equals(str1)

  • 截取字符串
    str.subString(beginIndex, endIndex)

  • 拼接字符串
    str + str1

  • 判断空串
    str == ""

  • 判断null串
    str == null

如果我们想要构造字符串,常用的构造器 (Builder) 有: StringBuffer 和 StringBuilder。它们之间的简单区别是: StringBuilder 是线程安全的, StringBuffer 不是。

我们想要拼接字符串,三者的速度上: StringBuffer > StringBuilder > String。

大数值类型

在 Java 的java.math包下,有两个类用来表示大数,它们分别是:

  • BigInteger

  • BigDecimal

这两个类,都可以对超出基本数据类型表示范围的数进行构造。另外,它们的构造方法都需要传进来一个字符串。

对于 BigInteger 而言,可以进行 add, substract, multiply, divide 等操作;对于 BigDecimal,同样可以进行上述操作,不过最好给定一个 MathContext 保留有效数字。

数组类型

准确地讲,数组不是一种类型,而是一种数据结构。但是数组是很多其它 Java 类(如 String、 ArrayList )的基础,所以也拿出来说明。

在 Java 里,数组是一种用来存储相同数据类型对象的数据结构。 对 Java 数组,我们应该知道的是:

  • 数组被分配出来后,长度不可变

  • 只有有length属性,没有length()方法

  • 可使用for-each遍历

  • 多维数组本质上是数组的数组


野原英雄
206 声望25 粉丝

一只小猿