java学习笔记——02.数据类型与类型转换
2021/8/5 9:36:28
本文主要是介绍java学习笔记——02.数据类型与类型转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据类型与类型转换
一、八大基本数据类型
1. 整数
-
byte
-
short
-
int
-
long
long型数据后面要加L
2. 小数
-
double
-
float
float数据后面要加F
为什么Java中long后面要加L?float后面加F?-CSDN博客
3. 字符
- char 只能表示一个字符
- String 字符串,不是关键字,是引用类
4. 布尔值
- boolean
类型名称 | 关键字 | 占用内存 | 取值范围 |
---|---|---|---|
字节型 | byte | 1 字节 | -128~127 |
短整型 | short | 2 字节 | -32768~32767 |
整型 | int | 4 字节 | -2147483648~2147483647 |
长整型 | long | 8 字节 | -9223372036854775808L~9223372036854775807L |
单精度浮点型 | float | 4 字节 | +/-3.4E+38F(6~7 个有效位) |
双精度浮点型 | double | 8 字节 | +/-1.8E+308 (15 个有效位) |
字符型 | char | 2 字节 | ISO 单一字符集 |
布尔型 | boolean | 1 字节 | true 或 false |
二、数据类型扩展
1. 进制:
- 十进制
10
- 二进制
0b10
- 八进制
010
- 十六进制
0x10
2. 浮点数扩展:
float的精度问题
最好完全避免使用浮点数进行比较
需要时使用BigDecimal 数学工具类表示
3. 字符拓展:
所有的字符本质还是数字
char c1 = 'a'; System.out.println((int)c1); //强制转换
char c1 = '\u0061'; System.out.println(c1);
编码 Unicode 2字节 0-65536
转义字符\u0061....(十六进制)
4. 布尔值扩展:
boolean flag = true; if(flag==true){ System.out.println("ok"); } if(flag){ System.out.println("ok"); }
三、类型转换
容量低->高:
byte,short,char->int->long->float->double
1. 强制转换(高->低)
(类型)变量名,如:
int i = 10; byte a = (byte)i; //强制转化int到byte
需要注意的是内存溢出的问题
int i = 128; byte b = (byte)i; //byte只能表示-128~127范围内的数,此处内存溢出
2. 自动转换(低->高)
char c1 = 'a'; int a1 = 1; System.out.println(c1+a1); //'a'自动转换为int(编码97)
注意:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候是强制转换
-
转换的时候可能存在的内存溢出,或者精度问题
-
操作比较大的数的时候,注意溢出问题
-
JDK7新特性,数字之间可以用下划线分割,下划线不会被输出
int money = 10_0000_0000; System.out.println(money);
这篇关于java学习笔记——02.数据类型与类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27本地多文件上传的简单教程
- 2024-11-27低代码开发:初学者的简单教程
- 2024-11-27如何轻松掌握拖动排序功能
- 2024-11-27JWT入门教程:从零开始理解与实现
- 2024-11-27安能物流 All in TiDB 背后的故事与成果
- 2024-11-27低代码开发入门教程:轻松上手指南
- 2024-11-27如何轻松入门低代码应用开发
- 2024-11-27ESLint开发入门教程:从零开始使用ESLint
- 2024-11-27Npm 发布和配置入门指南
- 2024-11-27低代码应用课程:新手入门指南