Java中的数据类型
**Java中的数据类型有以下几种:
内置类型:
- 整型变量 —— int
- 长整型变量 —— long
- 双精度浮点型变量 —— double
- 单精度浮点型变量 —— float
- 字符类型变量 —— char
- 字节类型变量 —— byte
- 短整型变量 —— short
- 布尔类型变量 —— boolean
引用类型:
- 字符串类型变量 —— string
- 数组类型
- 类
1. 整型变量int
-
基本语法格式:
int 变量名 = 初始值;
-
代码示例:
int a = 10;
-
在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系。
-
表示的数据范围: -2^31 -> 2^31-1
使用以下代码查看 Java 中的整型数据范围:System.out.println(Integer.MAX_VALUE); // int 的最大值 System.out.println(Integer.MIN_VALUE); // int 的最小值
2. 长整型变量long
-
基本语法格式:
long 变量名 = 初始值;
-
代码示例:
long a = 10L;
-
在 Java 中, long类型变量占 8个字节. 表示的数据范围: -2^63 -> 2^63-1。
使用以下代码查看 Java 中的长整型数据范围:System.out.println(long.MAX_VALUE); System.out.println(long.MIN_VALUE);
3. 双精度浮点型变量double
- 基本语法格式:
double 变量名 = 初始值;
- 代码示例:
double a = 10.0;
- 在 Java 中double类型的变量占 8 个字节。
- Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范围。
- double遵循IEEE754标准,在使用double时,不能直接用 == 判定两个浮点数是否相等。
4. 单精度浮点型变量float
- 基本语法格式:
float 变量名 = 初始值;
- 代码示例:
float a = 10.0f;
- 在 Java 中float类型的变量占 4 个字节。
- float表示的数据精度范围较小,工程中一般优先考虑使用double。
5.字符类型常量 char
- 基本语法格式:
char 变量名 = 初始值;
- 代码示例:
char ch = 'A';
- 在 Java 中char类型的变量占 2个字节。
- 计算机中的字符本质上是一个整数,在C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。
6.字节类型常量 byte
- 基本语法格式:
byte 变量名 = 初始值;
- 代码示例:
byte value = 0;
- 在 Java 中byte类型的变量占 1个字节。
- 字节类型表示的也是整数. 只占一个字节, 表示范围较小(-128 -> +127)
7.短整型变量 short
-
基本语法格式:
short 变量名 = 初始值;
-
代码示例:
short value = 0;
-
在 Java 中short类型的变量占 2个字节。
-
表示的数据范围为 -32768 -> +32767,一般不推荐使用。
8.布尔类型常量 boolean
-
基本语法格式:
boolean 变量名 = 初始值;
-
代码示例:
boolean value = true;
-
boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定。
-
boolean类型的变量只有两种取值,true表示真, false 表示假。
-
Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。
9.字符串类型变量 string
-
基本语法格式:
string 变量名 = "初始值";
-
代码示例:
string name = "lwn" ;
-
String 类型不是基本数据类型,而是引用数据类型。
引用本质是一个指针,相当于一个低配指针。
-
字符串中的一些特定的字符需进行转义。
10.数组
-
基本概念:
Java 语言中提供的数组是用来存储固定大小的同类型元素。 -
创建方式:
//方法一: int[] a = {1,2,3,4}; //方法二: int[] a = new int[]{1,2,3,4}; //方法三: int[] a = new int[4];
11.类
-
基本概念:
java中的类是程序的组织单位,类有自己的属性和方法,比如小猫是一个类,它要吃饭,喝水这些都是方法,自身的属性包括爪子,眼睛等。
类可以看成是创建 Java 对象的模板。 -
类举例:
public class Dog { String breed; int size; String colour; int age; void eat() { } void run() { } void sleep(){ } void name(){ } }
一个类可以拥有多个方法,在上面的例子中:eat()、run()、sleep() 和 name() 都是 Dog 类的方法。
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。
构造方法的名称必须与类同名,一个类可以有多个构造方法。 -
构造方法举例
public class Puppy{ public Puppy(){ } public Puppy(String name){ // 这个构造器仅有一个参数:name } }