学习目录:
- 数据类型
- 理解什么是字符
- 会使用不同数据类型的实际例子
- 理解 非原数据类型 和 原始数据类型
一. Java数据类型
A. 强类型语言(例如:java , c++ 等)
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
- 如果指定了一个变量的类型,不经过数据转换永远都是那个类型
严谨安全性高,速度慢
B. 弱类型语言(例如:python , JS等)
- 变量的使用符合规定就行
C. 数据类型分为两类:
- 基本数据类型 - 包括
byte
、short
、int
、long
、float
、double
、boolean
和char
。 - 非基本数据类型 - 如
String
、数组和类
数据类型 | 大小 | 描述 |
---|---|---|
byte |
1 字节 | 存储从 -128 到 127 的整数 |
short |
2 字节 | 存储从 -32,768 到 32,767 的整数 |
int |
4 字节 | 存储从 -2,147,483,648 到 2,147,483,647 的整数 |
long |
8 字节 | 存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数 |
float |
4 字节 | 存储小数。足够存储 6 到 7 位小数 |
double |
8 字节 | 存储小数。足够存储 15 到 16 位小数 |
boolean |
1 位 | 存储 true 或 false 值 |
char |
2 字节 | 存储单个字符/字母或 ASCII 值 |
D. 基本数字类型分为两组:
- 整数类型:存储整数(正数或负数),没有小数部分(例如 123 或 -456)。有效类型有
byte
、short
、int
和long
。应该使用哪种类型,取决于数值的大小。 - 浮点类型:表示带有小数部分的数字,包含一个或多个小数。共有两种类型:
float
和double
1 | public class Main { |
E. 举个例子:
5.75
:这是一个默认的double
类型。5.75f
:这是一个float
类型,表示一个单精度浮点数。
F. 为什么有单精度和双精度?
- **
float
**(单精度浮点数):占用 4 字节(32 位),精度大约到 7 位有效数字,适用于要求精度不高、对内存和性能要求较高的情况。 - **
double
**(双精度浮点数):占用 8 字节(64 位),精度大约到 15 位有效数字,适用于需要更高精度的计算。对于大多数计算来说,使用double
更为安全。
G. 科学数字
浮点数也可以是带有“e”的科学数,表示 10 的幂:
例:
1 | public class Main { |
输出的结果:
1 | 35000.0 |
二. 字符
a. 字符:
char
数据类型用于存储单个字符。字符必须用单引号括起来,例如 'A'
或 'c'
。
1 | public class Main { |
b. 另外,如果你熟悉 ASCII 值,你可以使用这些值来显示特定的字符:
1 | public class Main { |
输出结果:
1 | A |
c. 字符串
String
数据类型用于存储一系列字符(文本)。字符串值必须用双引号括起来:
1 | public class Main { |
String 类型在 Java 中使用得非常广泛,在 Java 中,String
实际上是一种非原始数据类型,因为它指向一个对象。String
对象有一些方法,用于对字符串执行特定的操作。
三. 使用不同数据类型的实际例子
用于计算并输出若干商品的总成本:
1 | public class Main { |
输出结果:
1 | Number of items: 50 // 物品数量:50 |
四. 非原始数据类型
非原始数据类型被称为引用类型,因为它们指向对象。
原始数据类型和非原始数据类型之间的主要区别如下:
- Java 中的原始数据类型是预定义的,并且内置于语言中,而非原始数据类型是由程序员创建的(除了 String)。
- 非原始数据类型可以用来调用方法执行某些操作,而原始数据类型则不能。
- 原始数据类型以小写字母开头(如 int),而非原始数据类型通常以大写字母开头(如 String)。
- 原始数据类型总是保存一个值,而非原始数据类型可以为 null。
- 非原始数据类型的例子包括字符串、数组、类等。
五. 原始数据类型
在 Java 中,原始数据类型是语言提供的最基本的数据类型,用于表示基本的数值、字符和逻辑值。原始数据类型是 值类型,也就是说,它们的变量直接存储数据的值,而不是指向数据的引用。
Java 共有 8 种原始数据类型,它们分别是:byte
、short
、int
、long
、float
、double
、boolean
和 char
。
原始数据类型的特点:
- 值类型:原始数据类型直接存储值。例如,
int a = 5;
变量a
直接保存整数值 5。 - 不可为 null:原始数据类型的变量不能为
null
,它们必须有一个具体的值。 - 内存占用小,性能高:由于原始数据类型非常简单,它们的内存占用小且执行效率高。
- 没有方法:原始数据类型本身不具备方法或属性。它们只是存储值的基本单元。
- 默认值:原始数据类型有默认值,例如
int
的默认值是0
,boolean
的默认值是false
。