资讯专栏INFORMATION COLUMN

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

izhuhaodev / 1883人阅读

摘要:是一种强类型语言,因此,定义了基本数据类型。运算符先从运算符谈起。基本数据类的基本数据类型同其它高级程序语言比较类似。常用类类型除了一些基本数据类型,提供的一些类类型,使用频率也很高。

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遍历

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66838.html

相关文章

  • Java基础入门笔记|原来Java可以这么简单

    摘要:刚开始学习的时候,可能是一头雾水,不知道从何学起。这个教程总体来说就像列文虎克教学,细到极致,妙到毫巅。适合绝对零基础的,每个知识点掰开了揉碎了讲解。 刚开始学习java的时候,可能是一头雾水,不知道从何学起。还有很多Java小白,在刚自学Java的时候玩命的学习,玩命的记住Java原理,天天早上五点起床背Java的一些英...

    2bdenny 评论0 收藏0
  • 零开始 Java基础语法(中)

    摘要:下面开始今天的知识,先看下基础语法的总纲今天我们接着学习变量使用变量的注意事项数据类型和类型转换。推荐阅读从零开始学之基础语法上从零开始学之基础概述本文原创发布于微信公众号,编程思维成长正能量,关注并回复编程阅读等关键字获取免费学习资料 showImg(https://segmentfault.com/img/remote/1460000016134163); Java 基础断更一周了...

    chinafgj 评论0 收藏0
  • 基础 Java】序

    摘要:本人生性愚钝,在大学期间没能好好领略等面向对象编程的魅力。现借助一些较为权威的书籍资料,将基础知识里比较重要的东西整理成文,命名从基础学。如果博文不慎侵犯了您的著作权,请联系我。 和很多大学一样,我的学校也是从 Java 、C++ 入手,教给我们面向对象 (OOP) 的思想。本人生性愚钝,在大学期间没能好好领略 Java 等面向对象编程的魅力。现借助一些较为权威的书籍资料,将 Java...

    JackJiang 评论0 收藏0
  • 推荐Java——数据表操作

    摘要:出现在分组之后,其后可以接聚合函数。和表名删除表中数据有何区别前者是将表直接删除,然后重新创建表,表中无数据。后者是一条一条删除表中所有数据。在数据量较少的情况下,后者效率高反之,前者高。 说明上节内容学习了数据库 MySQL 的安装、验证、数据库管理工具、数据库的基本操作命令,还没有学习的同学可以从主页去看上...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<