Java类型转换问题

e.g:

int a = 10;
int b = 15;
double avg = (a+b)/2;

结果为:avg=12.0

因为 a,b是int型,系统在运行时就将(a+b)/2看成int型运算,最后结果不会有小数,结果就是12,然后把87转成double类型赋值给avg,最终avg=12.0;

正确写法:

double a = 10;
double b = 15;
double avg = (a+b)/2;

结果为:avg=12.5

时间: 2024-10-28 15:50:48

Java类型转换问题的相关文章

java 类型转换

在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些方法一一进行分析.方法1:采用 Object.toString()方法请看下面的例子:      Object object = getObject();System.out.println(object.toString()); 注1在这种使用

JAVA 类型转换:隐式转换与强制转换

  这篇随笔是对java类型转换的回顾,方便忘记的时候查询,同时希望帮助有这方面需要的朋友 一. 数据类型分类: 简单数据类型:整型.实型.字符型((byte-short-char)-int-long-float-double) 二.简单类型转换 (1)低级向高级转换---自动转换:隐式转换 byte i = 0;        int a =i;        long b = i;        float c =b;        double d =c;        short j =

转 Java类型转换

原文链接:http://www.cnblogs.com/lwbqqyumidi/p/3700164.html 基本数据类型共有8种,分别是:布尔型boolean, 字符型char和数值型byte/short/int/long/float/double.由于字符型char所表示的单个字符与Ascii码中相应整形对应,因此,有时也将其划分到数值型中.引用类型具体可分为:数组.类和接口.因此,本文中Java类型转换的总结也将分为基本数据类型和引用数据类型两个方面展开. 一.基本数据类型的类型转换 基本

SQLServer类型与Java类型转换问题解决

ResultSet 接口提供用于从当前行获取列值的获取 方法(getBoolean.getLong 等).可以使用列的索引编号或列的名称获取值.一般情况下,使用列索引较为高效.列从 1 开始编号.为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,每列只能读取一次. 对于获取方法,JDBC 驱动程序尝试将底层数据转换为在获取方法中指定的 Java 类型,并返回适当的 Java 值.JDBC 规范有一个表,显示允许的从 SQL 类型到 ResultSet 获取方法所使用的 Java

Java 类型转换以及Object转成其他类型

Object转int int count=(int)map.get("count") int count=Integer.parseInt((String)map.get("count")); int  count=Integer.parseInt(map.get("count").toString()); 自动数据类型转换 自动转换按从低到高的顺序转换.不同类型数据间的优先关系如下:    低--------------------------

java类型转换

java基本类型的类型转换有三种: 1.自动类型转换 2.强制类型转换 3.表达式类型的自动提升 (1)自动类型转换 由上图可以看出自动类型转换,其实是从小到大的转换. (2)强制类型转换 如果将上图,反向转换,则需要强制类型转换.并且有可能损失精度. (3)表达式类型的自动提升. 一个算术表达式中可能有多个类型数据进行运算,因此,按照自动类型转换,整个表达式都将转换成最高等级的类型,也就是最大的类型.然后进行运算.  int a=3.4/2.1;   /*  这个语句会报错,因为整个语句中最高

Java类型转换实例

例:将字符串内容转为浮点数,再还原出原字符串内容 import java.io.UnsupportedEncodingException; import java.nio.ByteBuffer; import java.nio.DoubleBuffer; import java.nio.FloatBuffer; public class test3 { public static void main(String[] args) { new test3(); } /** * 第一种方法 */ /

java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转

一.类型转换 p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; text-align: justify; widows: 0; orphans: 0 } p.western { font-family: "Calibri", sans-serif; font-size: 10pt } p.cjk { font-family: "宋体"; font-size: 1

java类型转换详解(自动转换和强制转换)

自动转换 class Hello { public static void main(String[] args) { //自动转换 int a = 5; byte b = 6; int c = a + b; System.out.println(c); } } a是int类型,b是byte类型 当二者进行加法运算时(根据同类型相加结果还是同类型) 由于int的范围比byte的取值范围大这个时候jvm会自动将b转换成int类型 强制转换 //强制转换 int a = (int)8.8; 强制转换

java 类型转换前先做检查

1.传统的类型转换由RTTI确保正确性. 2.instanceof关键字(二元操作符) ,返回一个Boolean值,告诉我们对象是不是某个类或该类派生类的实例,他判断的是类型. if (a instanceof A) //对象a是不是属于A类型,A可能是a父类的父类,如果是这样也返回true 3.instanceof 不能比较Class对象,对于Class对象使用isAssignableFrom()判断 if (as.isAssignableFrom(cs))// Class对象cs所在类是不是