初学JAVA所遇问题之自动数据类型转换
来源:互联网 发布:java开源商城 编辑:程序博客网 时间:2024/04/29 03:33
初学JAVA 编程用while循环语句计算 1+1/2!+1/2!....1/20!之和;
public classPcounter {
public static void main(String[]args) {
// TODO 自动生成的方法存根
double i=1,j=1;
double sum=0;
while(i<20){
sum += 1/j;
j=j*(i+1);
i++;
}
System.out.println("和为:" + sum);
}
}
第一次编译时:i j 使用的是int 类型,导致sum的结果一直为 1.0
再改为double后解决问题。google后应该是自动数据类型转换的问题,教材并没有提及这个问题,还有些题目涉及输入的问题,java里不是用cin给变量赋值,只能等之后慢慢的学习才能解决问题。
题目来自《java从入门到精通》清华大学出版社 第四章 实践与练习
以下摘自微学院:http://www.weixueyuan.net/view/5957.html
自动数据类型转换
自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:
低--------------------------------------------->高
byte,short,char-> int-> long -> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:
操作数1类型
操作数2类型
转换后的类型
byte、short、char
int
int
byte、short、char、int
long
long
byte、short、char、int、long
float
float
byte、short、char、int、long、float
double
double
强制数据类型转换
强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确,下面的例子可以说明这个问题。
1. publicclassDemo{
2. publicstaticvoidmain(String[]args){
3. int x;
4. double y;
5. x=(int)34.56+(int)11.2; // 丢失精度
6. y=(double)x+(double)10+1; // 提高精度
7. System.out.println("x="+ x);
8. System.out.println("y="+ y);
9. }
10.}
运行结果:
x=45
y=56.0
仔细分析上面程序段:由于在 34.56前有一个 int的强制类型转化,所以 34.56就变成了 34。同样 11.2就变成了 11了,所以 x的结果就是 45。在 x前有一个 double类型的强制转换,所以 x的值变为 45.0,而 10的前面也被强制成 double类型,所以也变成 10.0,所以最后 y的值变为 56。
- 初学JAVA所遇问题之自动数据类型转换
- java学习之旅10--基本数据类型自动转换_强制转型_类型提升问题
- Linux初学所遇问题
- 从java到初学javaweb,所遇问题
- java基本数据类型自动转换
- 初学java——java数据类型,数据类型之间的转换
- 初学Java所犯的问题
- Java之数据类型转换
- JAVA数据类型自动转换,与强制转换
- JAVA数据类型的转换(自动转换)
- 黑马程序员—Java基础学习笔记之数据类型转换(自动转换和强制转换)
- 初学Java007 数据类型转换
- 初学所遇问题及解决方法
- Java 基本数据类型转换问题
- Java 数据类型转换之字符串
- 【JAVA】之【数据类型之间转换】
- Java之数据类型的转换
- java数据类型转换之精华版
- 渣渣作业1.1
- ERROR 1130: Host 'xxx' is not allowed to connect to this MySQL server
- 关于IIS7.5下的web.config 404 配置的一些问题
- ArcGIS Engine 开发(一)对地图放大、缩小、漫游、全局等功能
- Hadoop Hive与Hbase关系 整合
- 初学JAVA所遇问题之自动数据类型转换
- Ubuntu下彻底卸载mysql的方法
- Linux下零基础学C语言、C++系列实战视频教程
- Linux下的lds链接脚本简介(一)
- ROS 摄像头矫正 camera_calibration
- 输出100到200之间的素数
- Jquery下的Ajax调试方法
- php缓存原理
- Myeclipse 2015 stable 1.0 完美破解方法