【Java Cookbook 1】数值的处理
2021/6/7 22:35:31
本文主要是介绍【Java Cookbook 1】数值的处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
I. Introduction
II. Content
Trick 1. 检查字符串是否可以有效地转化为数字
Trick 2. 将一个较大的数据类型存储在较小的类型中
I. Introduction
对任何程序来说,数据都是最基础的东西。无论你是想做销售系统,或者财务系统,乃至于学校成天要你做的图书管理系统(比如武汉理工),没有数据的支持,都是镜花水月。
Java拥有几种常见的数据类型用来表示整数,浮点数,布尔值以及字符等。注意,Java为了跨平台兼容已经对数据类型的大小做出详细的规定,而不是像C语言那样任由编译器来决定。
更正:boolean官方文档没有明确定义,依赖于JVM具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素。
[来源: JavaGuide/Java基础知识.md at master · Snailclimb/JavaGuide (github.com)]
类型 | 包装器 | 位数 | 内容 | 默认值 |
---|---|---|---|---|
byte | Byte | 8 | 带符号整数 | 0 |
int | Integer | 32 | 带符号整数 | 0 |
short | Short | 16 | 带符号整数 | 0 |
long | Long | 64 | 带符号整数 | 0L |
float | Float | 32 | IEEE-754 浮点数 | 0f |
double | Double | 64 | IEEE-754 浮点数 | 0d |
char | Char | 16 | 无符号整数 | 'u0000' |
boolean | Boolean | 1 | 布尔值 | false |
II. Content
Trick 1. 检查字符串是否可以有效地转化为数字
你需要确定字符串 s 是否可以转化为数字 x,如果可以,进行转化。
解决方法:
用上正确的包装类以及异常处理机制。
代码:
public static void main(String[] argv) { String aNumber = argv[0]; // not argv[1] double result; try { result = Double.parseDouble(aNumber); System.out.println("Number is " + result); } catch (NumberFormatException exc) { System.out.println("Invalid number " + aNumber); return; } }
补充:
如果你的数字类型比较特殊,可以用正则表达式解决。
Trick 2. 将一个较大的数据类型存储在较小的类型中
你希望将一个 long 的数据存储在 short 或者 int 。
解决方法:
强制类型转化。
代码:
long old_one = 150; short new_one = (short) old_one;
补充:
// 错误写法 float f = 3.0; // 等价于 double tmp = 3.0; float f = tmp; // 正确写法 float f = 3.0f; // or just 3f double f = 3.0; float f = (float)3.0; float f = 3; // int 转化为short, char, byte也会有这种错误。
Trick 3. 确保浮点数运算的准确性
浮动数的运算其实是有一定误差的,这里有一个很经典的例子
double x1=1.0-0.9; double x2=0.9-0.8; System.out.println(x1==x2); // false
这篇关于【Java Cookbook 1】数值的处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南