文章目录
前言
Java是一门强类型的语言,Java 的两大数据类型:
- 内置数据类型
- 引用数据类型
提示:以下是本篇文章正文内容,下面案例可供参考
一、内置数据类型(基本数据类型)
1.数值类型
- 整数类型
byte: 字节型,占1字节(8位),-128~127;
byte a = 100;
byte b = -50;
short: 短整型,占2字节(16位),-32768~32767;
short aa = 1000;
short bb = -500;
int: 整型,占4字节(32位),是整数类型的默认选项;
int c = 10000;
int d = -5000;
long: 长整型,占8字节(64位),一般定义时,为了方便理解,在结尾要加上L(建议)或l;
long cc = 10000L;
long dd = -5000L;
- 浮点类型:浮点数不能用来表示精确的值,如货币,会有精度丢失的问题;
float: float 数据类型是单精度、占4字节(32位),默认值是 0.0f;
float e = 123.4f
double: double 数据类型是双精度、占8字节(64 位),默认值是 0.0d;
double f = 2344.5d;
- 字符类型
char 字符类型是一个单一的 16 位 Unicode 字符,最小值是 \u0000(十进制等效值为 0);最大值是 \uffff(即为 65535);char 数据类型可以储存任何字符;
char c = 'A';
char c = 99;
char类型对应的 Unicode 编码表,每一个字符都对应一个数字,赋值为数字,会转换为编码表中对应的数字。
2. boolean类型
boolean类型占1位,只有true和false。
二、引用数据类型
1.类
首先,Java是面向对象编程,先来说一下对象。
万物皆对象,在我们现实世界中,我们所看到的实物,都可以称之为对象,eg:人、 狗、猫、车、房子、手机,到小花小草…皆为对象,是类的实例化
类可以看成是创建 Java 对象的模板,是一类事物的抽象。
可以简单理解为,类是一类事物的共同特征的描述,对象就是对这一类事物进行细分。
eg: 定义一个狗类,new两个对象
//定义一个类——狗
public class Dog{
//属性
private String name;
private String color;
private int age;
//方法,可以理解为行为
public void run(){
System.out.println("小狗run...");
}
public void shot(){
System.out.println("小狗叫...");
}
public void eat(){
System.out.println("小狗吃骨头");
}
}
//定义一个方法的入口
public class Test{
public static void main(String[] args){
//创建一个对象,柯基
Dog Corgi = new Dog();
//创建一个对象,德牧
Dog Demu = new Dog();
}
}
类中包含的有变量和方法:
(1) 变量 :初始化后,还能被修改的量。
- 类变量(静态变量):被static修饰的变量,会跟随类的加载而加载
class Cat{
//静态变量
static int bb = 100;
void eat(){
}
}
- 成员变量:在类里面,方法外面的变量
class Cat{
//成员变量
int bb = 100;
void eat(){
}
}
- 局部变量:在方法中定义的变量
class Cat{
void eat(){
//局部变量
int cc = 1000;
}
}
成员变量和局部变量的区别: 就是作用域不同,成员变量是在整个类范围有效,而局部变量只在所定义的方法范围有效,出了该方法,就无效了。
成员变量和静态变量的区别: 被加载的时机不同,静态变量是类被加载到内存中时开始存在,而成员变量是在对象产生时开始存在。
(2) 常量 :初始化后,不能被修改,被final修饰
final int dd = 1000;
(3) 方法:描述一些行为或是功能
- 构造方法:每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法(无参构造),若我们显示的定义了有参构造方法,无参构造将不存在,除非我们也显示的定义了无参构造(一般建议写了有参构造后,显示定义无参)。
构造方法定义方式:访问修饰符 类名(){}
class Cat{
//属性
String name;
//显示定义无参构造
public Cat(){}
//显示定义有参构造
public Ca(String name){
this.name = name;
}
}
- 静态方法:被static修饰的方法,只能使用静态变量和其他静态方法,调用方法:类名.静态 方法名。
class Cat{
//创建静态方法
public static void eat(){
System.out.println("小猫吃小鱼");
}
}
- 普通方法:
class Cat{
//创建方法
public void run(){
System.out.println("小猫跑...");
}
}
2.接口
编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法(可以理解为是一种约束)。接口无法实例化,需要通过实现类来使用(类通过implements来实现接口),实现了接口的类要重写里面的所有方法,所以可以理解为是一个约束。
定义方式:[权限修饰符] interface 接口名称{变量;方法}
//定义一个接口
interface Animal{
//抽象方法,接口中的方法没有方法体,所以需要实现类
public void eat();
public void travel();
}
3. 数组
Java 语言中提供的数组是用来存储固定大小的同类型元素,初始化后长度不能改变。
声明方法:数据类型[] 数组名 = new 数据类型[数组长度];
或数据类型[] 数组名 = {值1,值2,值3,....};
//定义一个整型数据
int[] arr1 = new int[10];
int[] arr2 = {1,2,3,4,5,6};
总结
今天,就先到这里了,明天继续。