Java-数据类型&变量

目录

数据类型

1. 字面常量

1.1字面常量的分类

2. 数据类型

2.1Java八种数据类型的分类图

2.2基本数据类型

2.3引用数据类型

2.4包装类

变量

3.1变量概念

3.2语法格式

3.3整形变量

3.3.1整型变量

3.3.2 长整型变量

3.3.3 短整型变量

3.3.4 字节型变量

3.4 浮点型变量

3.4.1 双精度浮点型

3.4.2 单精度浮点型

3.5 字符型变量

3.6 布尔型变量


数据类型

1. 字面常量

1.1字面常量的分类

定义:常量即程序运行期间,固定不变的量称为常量

分类:

1. 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。
2. 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000
3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49
4. 字符常量:由单引号括起来的当个字符,比如:‘A’、‘1’
5. 布尔常量:只有两种true和false
6. 空常量:null

2. 数据类型

2.1Java八种数据类型的分类图

2.2基本数据类型

2.3引用数据类型

引用数据类型分3种:类,接口,数组;
一、类Class引用 
<1>Object :Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类 。
<2>String :String类代表字符串,Java 程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。 
<3>Date :Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被Calendar 和GregorianCalendar所有代替 
<4>Void :Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。 

二、接口interface引用 
List<E>:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引 (在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接口提供了两   种在列表的任意位置高效插入和移除多个元素的方法。 
add() : 在列表的插入指定元素。 
remove():移除列表中指定位置的元素。 
get(int index):返回列表中指定位置的元素。
Map<K,V>: 
K - 此映射所维护的键的类型 
V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 
这里我们主要是用String List Map Object 是最常用Number ArrayList<E> Arrays。

三、数组引用

数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始。
 

2.4包装类

数据类型包装类
byteByte
shortShort
intInteger
longLong
charCharacter
booleanBoolean
floatFloat
doubleDouble

我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long, Float, Double, Character, Boolean。关于基本数据类型的介绍可参考八大基本数据类型

变量

3.1变量概念

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计
算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。

3.2语法格式

数据类型 变量名 = 初始值;

int a = 10;
double d = 3.14;
char c = 'A';
boolean b = true;

3.3整形变量

3.3.1整型变量

// 方式一:在定义时给出初始值
int a = 10;
System.Out.println(a);
// 方式二:在定义时没有给初始值,但使用前必须设置初值
int b;
b = 10;
System.Out.println(b);
// 使用方式二定义后,在使用前如果没有赋值,则编译期间会报错
int c;
System.Out.println(c);
c = 100;
// int型变量所能表示的范围:
System.Out.println(Integer.MIN_VALUE);
System.Out.println(Integer.MAX_VALUE);
// 注意:在定义int性变量时,所赋值不能超过int的范围
int d = 12345678901234; // 编译时报错,初值超过了int的范围

注意事项:
1. int不论在何种系统下都是4个字节
2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0
3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出
4. 变量在使用之前必须要赋初值,否则编译报错

3.3.2 长整型变量

int a = 10;
long b = 10; // long定义的长整型变量
long c = 10L; // 为了区分int和long类型,一般建议:long类型变量的初始值之后加L或者l
long d = 10l; // 一般更加以加大写L,因为小写l与1不好区分
// long型变量所能表示的范围:这个数据范围远超过 int 的表示范围. 足够绝大部分的工程场景使用.
System.Out.println(Long.MIN_VALUE);
System.Out.println(Long.MAX_VALUE);

注意事项:
1. 长整型变量的初始值后加L或者l,推荐加L
2. 长整型不论在那个系统下都占8个字节
3. 长整型的表示范围为:$-2^{31}$ ~ $2^{31}-1$

3.3.3 短整型变量

short a = 10;
System.Out.println(a);
// short型变量所能表示的范围:
System.Out.println(Short.MIN_VALUE);
System.Out.println(Short.MAX_VALUE);

注意事项:
1. short在任何系统下都占2个字节
2. short的表示范围为:-32768 ~ 32767
3. 使用时注意不要超过范围

3.3.4 字节型变量

byte b = 10;
System.Out.println(b);
// byte型变量所能表示的范围:
System.Out.println(Byte.MIN_VALUE);
System.Out.println(Byte.MAX_VALUE);

注意事项:
1. byte在任何系统下都占1个字节
2. byte的范围是:-128 ~ 127


3.4 浮点型变量

3.4.1 双精度浮点型

double d = 3.14;
System.Out.println(d)

注意事项:
1. double在任何系统下都占8个字节
2. 浮点数与整数在内存中的存储方式不同,不能单纯使用$2^n$的形式来计算
3. double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值

3.4.2 单精度浮点型
 

float num = 1.0f; // 写作 1.0F 也可以
System.out.println(num);

3.5 字符型变量

char c1 = 'A'; // 大写字母
char c2 = '1'; // 数字字符
System.out.println(c1);
System.out.println(c2);
// 注意:java中的字符可以存放整形
char c3 = '帅';
System.out.println(c3);

注意事项:
1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文
 

3.6 布尔型变量

boolean b = true;
System.out.println(b);
b = false;
System.out.println(b);

注意事项:
1. boolean 类型的变量只有两种取值, true 表示真, false 表示假
2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法

让我们随着青春永不磨灭的阳光,一起奋斗!

本节的内容就到这里了,如果发现错误请及时联系,博主会尽快进行更改,谢谢大家 ^ _ ^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值