2.1 Java中的基本数据类型
-
刚刚我们已经创建了一个String类型的对象,并且被String s所引用,接下来我们来了解更改的Java的基本数据类型。
-
在Java语言中,每种基本数据类型所占用的存储空间的大小是确定的,它不像其他大多数语言那样随机械硬件结构的变化而变化。因此相对于其他大多数语言,Java更具有可移植性的特点。
| 基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
| — | — | — | — | — |
| boolean | - | - | - | Boolean |
| char | 16-bit | Unicode o | Unicode 216-1 | Character |
| byte | 8 bits | -128 | +127 | Byte |
| short | 16 bits | -215 | +215 -1 | Short |
| int | 32 bits | -231 | +231 -1 | Integer |
| long | 64 bits | -263 | +263 -1 | Long |
| float | 32 bits | IEEE754 | IEEE754 | Float |
| double | 64 bits | IEEE754 | IEEE754 | Double |
| void | - | - | - | Void |
-
基本类型的特点:
大小固定,存在堆栈中,过作用域就被释放,不是对象,不需要用引用操控,没有可以调用的函数,按值传递。
-
包装器类型的特点:
大小固定,存在堆中,由GC释放,本身是对象,需要依赖引用操控,有函数可以调用,按引用传递。
-
表示基本类型的方法:
通过创建对象进行赋值:char c = new char('c');
直接通过数据进行赋值:char c = 'c';
用另一个本基本类型的值进行赋值:char ch = c ;
本类型的包装器类型初始化基本类型的值:char ch = new Character( 'x' );
对包装类进行赋值:Character ch = new Character('x');
2.2 高精度的数字
- Java提供了两个用于高精度计算的类:BigInteger和BigDecimal,两者对基本类型所执行的操作相似,作用与int与float的操作也能作用与BigInteger和BigDecimal。但是实现方式是调用运算符,操作会变得复杂,执行速度也会变慢,这里我们用速度换取了精度。
2.3 自定义数据类型:类
- 类与对象是整个面向对象中最基础的组成单元。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
我们都知道Java是类与对象的语言,在一个类中主要有两种类型的元素:数据属性,成员方法。
数据属性可以是任意类型的对象,可以通过其引用进行通信,也可以是基本数据类型中的一种。成员方法决定了对象能过接收什么样的消息,一个成员方法的基本组成包括:方法名称、参数、返回值和方法体。
在现实生活中,我们不能将一个事物描述为一类事物,就像我们称呼一个人时不能直接叫它人类一样,类应该是对同一类对象的统称,在代码编程中,我们往往将一类事物的基本特征和行为,封装为一个类,而对象便是复合我们所定义类标准的一个实例。接下来我们试着定义一个类:
public class Student { //通过class关键字,定义一个Student类
public String name; //定义一个成员变量
public String getName() { //定义getName方法
return name;
}
public void setName(String name) { //定义setName方法
this.name = name;
}
@Override
public String toString() { //从写类的toString方法
return “Student [name=” + name + “]”;
}
public Student getStudent() { //返回Student类的引用
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
return this;
}
}
在上面代码中,class关键字定义了Student类的名称,同时我们在类中定义了成员变量以及相关方法,这样我们就可以通过其他程序对这个类进行访问了。其具体步骤如下:
导包:我们将所有的类放到同一个文件夹下,可以避免导包
创建对象:数据类型 变量名 = new 数据类型();
调用方法:我们可以通过调用成员方法,来执行相关操作
访问属性:变量名.属性、或者采取调用方法的方式来完成对属性的访问
创建一个Java的程序:
对于每一个程序文件的开头,一般需要有import声明语句,用来引入文件代码中需要用到的额外类,之后public关键字表示这是一个可以由外部调用的方法。main方法的参数是一个String对象的数组,args用来存储命令函参数。如果我们想创建一个可以独立运行的程序,那么文件中必须有某个类与该文件同名,且哪个类必须包含一个名为main()的方法,其程序样例如下:
import java.util.Date; //导入Date包
public class ReadName {
public static void main(String[] args) {
Student student = new Student(); // 创建Student对象
student.name = “张三”; // 对对象中的成员变量进行复制
System.out.println(“我的名字是:” + student.name); // 获取成员变量
student.setName(“李四”); // 通过成员方法对成员变量进行赋值
System.out.println(“我的名字是:” + student.getName()); // 通过成员方法获取成员变量
System.out.println(student); // 打印类
System.out.println("It’s: " + new Date()); // 打印当前时间
}
}