在编写程序之前,假设一些简单类型的对象都需要我们自己去创建,那是非常不方便的,故JAVA提供了基本类型的对象能够让我们直接引用,下面我们先来了解每种基本类型。
基本类型 | 大小 | 包装器类型 |
---|---|---|
boolean | - | Boolean |
char | 16-bit | Character |
byte | 8-bit | Byte |
short | 16-bit | Short |
int | 32-bit | Integer |
long | 64-bit | Long |
float | 32-bit | Float |
double | 64-bit | Double |
void | - | Void |
boolean 类型所占存储空间的大小没有明确指定,仅能定义为 true 和 false 。
void 类型表示一个不可实例化的占位符,表示方法没有任何返回值。
基本类型与其包装类可以互相转换:
Character ch = 'x';
char c = ch;
此外JAVA还提供了两个高精度计算类:BigInteger 和 BigDecimal ,但二者都没有对应的基本类型。不过,能作用于 int 或者 float 的方法,同样也能作用于 BigInteger 和 BigDecimal 。
然后,我们来了解下变量的作用域,在JAVA中变量的作用域由花括号的位置决定,下面来个错误示范:
int a = 1;
int b = 2;
if (b > 0) {
int a = 0;
}
代码下方的 int a = 0 ,编译器会报错,告知变量 a 已经定义过, 不允许重复定义。
接下来,我们来创造一个类,新建一个 java 文件:
左边的文件名与右边的类名必须一致,类名之前必须加上 class 关键字来表示这是一个新的类型,public 表示这是一个可以公开访问的类(最外层的类必须这么定义,内部私有类可以将其定义为 private )。
随后定义类的字段(数据成员)和方法(成员函数):
public class Shape {
int width;
int length;
public int getArea(int width, int length) {
int area = width * length;
return area;
}
}
public int getArea(int width , int length)方法中圆括号内表示调用方法的所需参数, getArea 之前的 int 表示该方法的返回值(可以是任意基本类型或者对象),其中的 public 关键字表示此方法为公用方法,通过 new 关键字实例化对象后,便可调用。
Shape shape = new Shape();
int width = 10;
int length = 20;
shape.getArea(width,length);
有时,我们想为一个对象分配单一存储空间或者不实例化对象也能调用其中的方法,这就需要用到 static 关键字。
public class Shape {
static int width;
static int length;
public static int getArea(int width, int length) {
int area = width * length;
return area;
}
}
static 可以定义在类的字段或者方法上。
定义在字段上时,表示该类无论实例化多少个对象,该字段都共用一份存储空间:
public static void main(String[] args) {
Shape shape1 = new Shape();
shape1.width=100;
Shape shape2 = new Shape();
System.out.println(shape2.width);
}
定义在方法上时,无需通过 new 关键字实例对象,也可以直接调用方法:
public static void main(String[] args) {
int width = 10;
int length = 20;
Shape.getArea(width, length);
}
static 方法通常拿来当做“牧羊人”的角色,负责看护与其隶属同一类型的实例群。比如监管售票方法,保证票的余量不少于0,倘若有多个实例都在调用售票方法,票的余量很有可能会被减少至负数,因为每个实例中票的余量都被存储在不同的堆中。
static int ticketCount = 100;
public static int getTicketCount() {
if (ticketCount < 0) {
return 0;
}
ticketCount--;
return ticketCount;
}
我们再来说下大家都熟悉的一个方法:
public static void main(String[] args) {
String str = "Hello World!";
System.out.println(str);
}
倘若你想编写一个独立运行的程序,那个类必须包含名为 main() 的方法,public 表示这是一个供外部调用的公共方法, static 表示这是一个静态方法,参数 String[] 表示 String 数组,虽然方法中并未用到这个参数,但是 JAVA 编译器强制要求这么做,因为 args 是用来存储命令行参数的。
我们在编程中,通常会用到一些额外的类,需要使用 import 关键字导入:
import java.util.ArrayList;
有时,我们会用到一个包下的多个类:
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
为了简化,可以这么表示:
import java.util.*;
JAVA在你创建每个类时,默认会将 java.lang 下的所有类进行导入,这也是为什么在没有使用 import 导入包的情况下,也有可供使用的基本工具类。
本次分享至此结束,希望本文对你有所帮助,若能点亮下方的点赞按钮,在下感激不尽,谢谢您的【精神支持】。
若有任何疑问,也欢迎与我交流,若存在不足之处,也欢迎各位指正!