Java之数据类型


前言

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 对象的模板,是一类事物的抽象。
1
可以简单理解为,类是一类事物的共同特征的描述,对象就是对这一类事物进行细分。
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};

总结

今天,就先到这里了,明天继续。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值