当前位置:网站首页>2.2-数据类型
2.2-数据类型
2022-07-28 16:35:00 【night_du】
常量
定义
- 在程序执⾏过程中其值不可以发⽣改变
- 常量就是指我们⽣活中⽤的数值,字⺟等
- 常量⽆法被改变,⼀旦改变,其意义也随之被改变
分类
- 字⾯值常量
- ⾃定义常量(⾯向对象部分再学习)
字⾯值常量的分类
- 字符常量 : ⽤单引号括起来的内容 ‘a’
- 字符串常量 : ⽤双引号括起来的内容 “abc” “ufc”
- 整数常量 : 所有的整数 1 0 3
- ⼩数常量 : 所有的⼩数 1.2
- 布尔常量 : ⽐较特殊, 只有true 和 false
- 空常量 : null(数组部分会讲到)
System.out.println("字符类型常量:" + 'a');
System.out.println("字符串类型常量:" + "abc");
System.out.println("整数型常量:" + 1);
System.out.println("浮点类型常量:" + 12.32);
System.out.println("布尔类型常量:" + true + "\t" + false);
变量
定义
- 在程序执⾏的过程中,在某个范围内可以发⽣改变
- 也就是说,其值是可以被改变的,在不同时期,同⼀个变量可以代表不同的值
- 有了变量之后,我们使⽤起来就⾮常灵活
- 计算机内存中的⼀块存储空间,是存储数据的基本单元
流程
先声明变量,后给变量赋值
声明⼀个变量
数据类型 变量名;
给声明的变量赋值
变量名 = 值
声明变量的进⾏赋值的操作
数据类型 变量名 = 值
同时声明多个同类型的变量与初始化 – 可以拆开
数据类型 变量名1, 变量名2,变量名3,变量名4 = 值第⼀次的赋值操作被称为初始化
public static void main(String[] args) {
int n; //声明int类型的变量(只能装整数),未赋值
n = 10; //给变量n赋值
int m = 20; //声明int类型的变量,赋值
int x = 1, y = 2, z = 3; //声明多个int类型的变量
int a, b, c = 10;
}
数据类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FMlALZtu-1645533840481)(C:\Users\night_du\AppData\Roaming\Typora\typora-user-images\image-20210831142857741.png)]](/img/0c/1211f58607a97973512d7a7274dd53.png)
字节、字符、字符集与编码方式
- 字节组成字符,字符是我们肉看看到的数据
- 字符集就是字符的集合
- 编码方式就是字符拼成字符集的规则
常见编码方式
ASCII码:⼀个英⽂字⺟(不分⼤⼩写)占⼀个字节的空间,⼀个中⽂汉字占两个字节的空间。⼀个⼆进制数
字序列,在计算机中作为⼀个数字单元,⼀般为8位⼆进制数,换算为⼗进制。最⼩值0,最⼤值255。如⼀
个ASCII码就是⼀个字节。UTF-8编码:⼀个英⽂字符等于⼀个字节,⼀个中⽂(含繁体)等于三个字节。
Unicode编码:⼀个英⽂等于两个字节,⼀个中⽂(含繁体)等于两个字节。
符号:英⽂标点占⼀个字节,中⽂标点占两个字节。举例:英⽂句号“.”占1个字节的⼤⼩,中⽂句号“。”占2
个字节的⼤⼩。GBK编码⽅式是中⽂占两个字节,英⽂占1个字节。
不同数量级间的信息单位换算关系
1B(byte,字节)= 8 bit;
1KB(Kibibyte,千字节)=1024B= 2^10 B;
1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;
1GB(Gigabyte,吉字节,⼗亿字节,⼜称“千兆”)=1024MB= 2^30 B;
基本数据类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TWcwUx83-1645533840482)(C:\Users\night_du\AppData\Roaming\Typora\typora-user-images\image-20210831144316675.png)]](/img/30/60031280a82e0696781dd8dfdd03b0.png)
整数类型:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J6914Uri-1645533840483)(C:\Users\night_du\AppData\Roaming\Typora\typora-user-images\image-20210831144417151.png)]](/img/a7/2be9aeacf5f7775c045d864cc25950.png)
创建基本数据类型变量:
byte b = 10;
short s = 20;
int i = 30;
long l = 1000000000000L;
double d = 12.22;
float f = 5.1f;
boolean b1=true;
精度缺失
public static void main(String[] args) {
double a=1.0;
double b=0.9;
System.out.println(a-b);
double c=(1.4-0.5)/0.9;
System.out.println(c);
}
Java中整数型默认的是int ,浮点型默认的是double , double的精度⽐float要⾼,所以如果我们将double转成float可
能会造成丢失精度的问题.所以我们在给float类型的变量赋值时,要⽤f标明数值的类型
使用BigDecimal处理精度缺失问题:
BigDecimal b1=new BigDecimal("1.0");
BigDecimal b2=new BigDecimal("0.9");
System.out.println(b1.subtract(b2));
字符类型
char 占两个字节 0~65535(没有负数)
ASCII:美国信息交换标准码
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0exWUHYS-1645533840484)(C:\Users\night_du\AppData\Roaming\Typora\typora-user-images\image-20210831163537936.png)]](/img/b6/a33bb455da6089edc5e50f89553099.png)
- Unicode:计算机科学领域的⼀项业界标准,包括字符集。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EEaK46pQ-1645533840484)(C:\Users\night_du\AppData\Roaming\Typora\typora-user-images\image-20210831163603439.png)]](/img/29/e6b647782084f251d966e2aebb9abd.png)
public class CharDemo {
public static void main(String[] args) {
//Acsll码
char a = 97;
System.out.println(a);
//Unicode
char b='\u4f01';
System.out.println(b);
}
}
布尔类型
类型转换
自动类型转换
把一个表示数据范围小的数值或变量赋值给另一个表示数据范围大的变量
强制类型转换
把一个表示数据范围大的数值或变量赋值给另一个表示数据范围小的变量
格式:目标数据类型 变量名=(目标数据类型)值或者变量;
范例:int k =(int)88.88;
public class TypeTranslateDemo {
public static void main(String[] args) {
//自动转换
byte b = 10;
int i = b;
System.out.println(i);
//强转
int x = 5;
byte y = (byte) x;
System.out.println(y);
}
}
边栏推荐
- 软件测试到底有没有前景和出路?
- Three ways to dynamically call WebService.Net
- JVM performance tuning
- 封装、继承、多态
- Vscode intranet access server
- 零基础转行软件测试到底能不能行?
- 【C语言进阶】——剖析入微数据在内存中的存储[上]
- Strsplit() function
- PCA reports error in eigen (crossprod (t (x), t (x)), symmetric = true): 'x' has infinite value or missing value
- DOS command Daquan basic command + network common command
猜你喜欢

ps快速制作全屏水印

In depth sharing of Ali (ant financial) technical interview process, with preliminary preparation and learning direction

【p5.js学习笔记】局部变量(let)与全局变量(var)声明

【Unity】三张图让你看懂ShaderGraph编辑器

abstract、static、final

【C语言进阶】——函数指针

【 R语言—基础绘图】

【C语言笔记分享】自定义类型:结构体,枚举,联合(建议收藏)

Visual object class introduces Pascal VOC dataset

Solve package is not available (for R ve [package 'xxx' is not available (for R version x.y.z) "warning?]
随机推荐
【p5.js】实战临摹——国际象棋盘
想转行IT,非科班出身真的不要紧吗?
MySQL高级-MVCC(超详细整理)
mmdetection3d(2)---结果、log可视化
100+医学影像数据集集锦
【C语言进阶】——剖析入微数据在内存中的存储 【下】(浮点数存储)
Sql Server STUFF与FOR XML PATH
【C语言进阶】——函数指针
软件测试的培训机构靠谱吗
.net MVC understanding
软件测试培训两个月骗局?培训机构到底如何选择?
【C语言必看】哟写BUG呢,我敢保证你踩过坑
QT programming serial port assistant
JS synchronizes the local time with the server time
地图R语言
Jerry ac692n --- prompt tone compression and modification
【无标题】
MySQL的安装
7-8 浪漫侧影(25分)建树+新解题思路
软件测试和软件开发应该怎么选择?