【从基础学 Java】运算符和数据类型

3 篇文章 0 订阅

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

运算符

先从运算符谈起。

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

  • 算术运算符
  • 关系运算符
  • 逻辑运算符

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

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

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

数据类型

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

基本数据类

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

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

  • byte
  • short
  • int
  • long

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

  • float
  • double

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

  • char

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

  • boolean

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

基本数据类型包装数据类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

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

常用类类型

除了一些基本数据类型, 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遍历
  • 多维数组本质上是数组的数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值