Java一直占据着最流行编程语言的榜首位置。如果你想成为一名软件开发人员,精通Java是一个很好的敲门砖——无论是web、移动还是桌面应用程序开发。在本文中,我们将带您了解一些基本知识。请继续阅读我们关于Java基本数据类型的概述。

Java中的变量类型

计算机程序通常涉及数据和指令以操纵该数据。计算机还需要一种访问数据的方法。但是,由于多种信息可能驻留在计算机的内存中,我们如何指示计算机访问我们需要的确切信息?

我们可以为该块分配一个名称,而不是在整个内存中寻找相关的内存块。通过这种方式,计算机将内存的一部分与名称联系起来,所以下次当您使用名称来引用内存的某个特定部分时,计算机就知道到哪里去查找。简而言之,这就是变量的工作原理。

当您使用Java创建一个变量时,您是在指示Java虚拟机(JVM)分配计算机内存的一个段,用于存储和检索信息。然而,Java的学生知道并非所有变量都是平等的。可变大小可能会急剧地差异,有时您可能会存储很少的数据(例如,数字),而其他时间您可能会存储很多IT(例如,数百万个数字)。另外,变量也可以在存储的数据类型中不同。

Java中的强类型

我们已经建立了变量可能的大小和存储的信息类型不同。这些因素都由变量的数据类型确定。

在Java中编写代码时,您需要每次创建变量时选择数据类型。这是强有力的语言的特征,包括Java。虽然这可能最初听起来像一个任意约束,但有一个有充分的理由强制执行这一规则:阻止程序从做你不想要的事情做事。不强制执行此规则的语言从上下文中推断数据类型,这可能导致意外行为 - 即使程序可能仍然成功编译和运行。

因此,可能会出现以下错误:

在其他一些编程语言中,例如JavaScript, " true "是一个布尔数据类型(一种类型有两个可能的值:" true "或1和" false "或0)。然而,由于布尔类型没有定义加法,JavaScript将它们转换为整数。转换后,两个整数被加在一起,程序输出2,这可能不是您预期的结果。

上面的代码不能精确地在Java中编译,因为Booleans不存在添加(“+”)的操作。由于Java中的每个数据类型都是在操作方面严格定义的,因此它所代表的数据类型,强制执行每个变量,以确保从上面示例中的需要转换的模糊数据类型没有错误。

Java区分了两种主要数据类型:原始和非原始。在以下部分中,我们主要将在Java中使用原始数据类型。

原始Java类型

基本类型是Java的基本数据类型——整数、浮点数、布尔数和字符。基元类型在其表示的数据类型和值方面受到限制,但它构成了创建更复杂的用户定义数据类型的基础。

整数

整数是一种用于表示整数的数据类型,例如20或-5。Java定义了四种整型:byte、short、int和long。这些类型在它们在内存中占用的位的数量上有所不同,因此在它们包含的值的范围上也有所不同。

例如,字节占用8位,所以它包含2个8.值为256.其中一半用于表示负值(下至-128),一个为零,其余值(最多127)。下表显示了所有整数类型。

定义变量的类型就像在变量名之前写类型的关键字一样简单:

坚持捕获要存储的值范围的类型是个好主意;然而,这曾经比今天更重要。从历史上看,当记忆昂贵并且计算速度慢时,很重要,重要的是优化两者。如今,内存很少有桌面和服务器系统上的问题。此外,由于当今大多数桌面CPU至少为32位,因此所有更简单的类型都将转换为32位,以获取大多数计算。因此,虽然它可能不直观,但使用较小的类型不会提高计算速度,如此讨论StackOverflow线程。

当然,使用适当的类型在节省内存问题时,使用适当的类型在方案中仍然是良好的做法,例如在嵌入式设备上工作时的内存有限。数组(给定数据类型的多个元素的集合)字节将占用比相同长度的长的数组更少的内存。在十亿个数据点的数组中,字节或长期之间的选择是占据1 GB和8 GB内存之间的阵列之间的差异。

浮点数

浮点类型用于表示具有分数分量的数字,例如0.75。Java中有两个浮点数据类型:浮点和双打。

这两种类型对应于电气和电子工程师(IEEE)研究所提出的标准,它定义了两种类型的浮点表示 - 一个带32位(浮点),另一个具有64位(双)。比特数是指数据类型的精确度:浮动在第7位的圆形值,而双打具有15位十进制数字的精度。

四舍五入是浮点数在内存中表示的基础。这是一个有趣的主题,但超出了本文的范围,所以请查看本文如果你想了解更多。

请注意,Java默认表示浮点数为双打。如果要使用浮动,则需要添加“f”或“f”后缀,如下所示:

以上表明,强烈优选漂浮的双打,特别是对于计算的准确性重要的应用。当然,相同的内存注意事项在这里适用于整数:在计算机图形学中使用浮点数可以使用floats,在那里优化内存和速度很重要,并且精度无关紧要。

布尔斯

布尔值是一种只能接受两个值的数据类型:true或false。它被表示为单个位,可以是1表示为真,也可以是0表示为假。

关系运算符,例如“小于”或“大于”返回布尔值。这些操作的输出通常用于编程,以控制执行程序指令的顺序。在下面的示例中,PrintLN语句的执行取决于表达式(a == true)是否为true或false。

如果其两个操作数相等,则平等运算符“==”返回“true”,否则“false”。由于“a”不等于“true”,表达式返回“false”,并且程序通过打印第二语句进行程序进行。

在本文的开头,我们展示了一个JavaScript编程语言中非预期程序行为的示例。发生意外的行为是因为代码中包含了加法操作——对于布尔值来说,这是一个未定义的操作。然而,就像整数有用于加法的操作符+和用于乘法的操作符*一样,布尔Java类型也有用于逻辑操作的操作符。要了解更多关于布尔类型和操作符的信息,请查看这些笔记从斯坦福的计算机科学课程中

人物

char是表示单个字符的Java数据类型,例如“!”或“x。人物坚持Unicode标准这意味着它们可以代表任何语言的文字——拉丁语、阿拉伯语、西里尔语或任何其他语言。

CHAR占用16位,这意味着它能够代表65,536个不同的角色。由Unicode表示的每个字符都有一个数字对应物。因此,可以使用文字字符或整数值声明字符。以下示例将向您展示这是如何工作的:

我们分配了char“a”的整数值80和char“b”字母'p。''平等表达式返回“true”,因为这两个表示值相等。将整数值分配给chars自动将这些值转换为Unicode的转换图表;在这种情况下,80对应于大写拉丁字符'P,'其中两个变量被认为是相等的。

让我们打印“a”和“b”来验证这确实是如此:

注意,当我们将“P”赋值给字符“b”时,我们是如何使用单引号的。这是Java为字符赋值的规则;使用双引号不起作用。

非原始Java类型

在上面的部分中,我们涵盖了原始数据类型。这些是Java的预定义类型,它是尽可能简单的。相反,非原始数据类型未预定定义:它取决于程序员,以定义非原始数据对象的行为和方法。

Java定义四种主要的非原始数据类型:阵列和界面。这些类型不一定比其原始对应物更复杂。实际上,字符串实际上只是多个字符的集合,并且阵列只是相同类型的元素集合。

成为Java Web开发人员

在本文中,我们介绍了如何在Java中初始化和使用原始数据类型的基础知识。要成为一名Java web开发人员,您将需要学习更多内容,从用Java Launch创建接口和子类,到用SQL编写基本查询。开始注册我们的专家教授Java开发人员Nanodeg188金宝搏安不安全ree程序。

开始学习