Java 7 (数据类型转换)
2021-05-12 17:29
标签:main 字节 sys 种类型 value alt color print ted 数据类型转换 主要内容: 数据类型转换概述 数值型数据的转换 数字字符串与数值型的转换 什么是数据类型转换? 又称:类型转换 在Java程序中,常数(常量)或者变量从一种数据类型转换到另一种数 据类型。 注意:有条件地转换,类型之间 并不能任意转换 2、数值型之间的转换 分两类: augmented、conversion 加宽转换 系统自动完成 强制类型转换 explicit cast 变窄转换 显式强制转换 2.1自动类型转换 两种类型兼容 如:整数和浮点型彼此兼容,数字类型和boolean不兼容 转换原则 自动“加宽转换” ,不需要显式强制类型转换语句 转换后数据类型的表示范围比转换前的类型大 如:int → long byte →short int → double 自动类型转换范例:Test.java 两个数中有一个为浮点 数时,运算结果直接为 浮点型 2.2强制类型转换(“变窄转换”) 格式:(target-type) value (target-type)指要将指定值所转换成的类型 int a; double b=34.56; a = (int) b; 注意: 当把一个浮点值赋给整数类型时,截断小数部分; 如 double→int 如果浮点值太大,不能适合目标整数类型,将对目标类型值域取模 int强制转成byte时,对byte型的值域取模(对byte(256)求模) 强制类型转换举例Test2.java 不会丢失信息的类型转换: byte short, char, int, long, float, double short int, long, float, double char int, long, float, double int long, float, double long float, double float double 注意:不推荐从较长数据向较短数据 的转换,因为数据存储位数缩小,将 导致计算数据精度的降低。 3、类型转换—字符串与数值型 3.1数字字符串转换成数值型数据 转换方法 说明 Byte.parseByte() 将数字字符串转化为字节型数据 Short.parseShort() 将数字字符串转化为短整型数据 Integer.parseInt() 将数字字符串转化为整型数据 Long.parseLong() 将数字字符串转化为长整型数据 Float.parseFloat() 将数字字符串转化为浮点型数据 Double.parseDouble() 将数字字符串转化为双精度型数据 Boolean.parseBoolean() 将字符串转换为逻辑型 用“+”来实现连接操作 用“+”来实现自动转换 若其中某个操作数不是字符串,在连接之前会自动将其转换 成字符串。 4.编程实践 代码两处错误; b2=5.0/6.0; //有错误,请修改为正确的语句 改为 b2=(int)(5.0/6.0); c2=5/6.0; //有错误,请修改为正确的语句 改为 c2=5/(int)6.0; 必须全英文(中文括号也不行,必须全英文状态下),完整正确代码如下: 结果如下: Java 7 (数据类型转换) 标签:main 字节 sys 种类型 value alt color print ted 原文地址:https://www.cnblogs.com/9587cgq/p/13138097.html
1.类型转换概述
自动类型转换public class Test
{
public static void main(String[] args)
{
int a=155;
float b=21.0f;
System.out.println("a="+a+",b="+b);
System.out.println("a/b="+(a/b));
}
}
public class Test2
{
public static void main(String[] args)
{
int a=155;
int b=9;
float g,h;
System.out.println("a="+a+",b="+b);
g=a/b;
System.out.println("a/b="+g+"\n");
System.out.println("a="+a+",b="+b);
h=(float)a/b;
System.out.println("a/b="+h);
}
}
原始类型 目标类型 String myNumber = “1234.56”;
float myFloat = Float.parseFloat(myNumber);
3.2数值型数据转换成字符串 int MyInt=1234;
String myString=“hello"+MyInt; //将整型数据转换成了字符串
public class Conversion
{ public static void main(String[] args)
{ System.out.println("浮点型:");
double a1=0,b1=0,c1=0;
a1=5/6;
System.out.println("5/6="+a1);
b1=5.0/6.0;
System.out.println("5.0/6.0="+b1);
c1=5/6.0;
System.out.println("5/6.0"+c1);
System.out.println("整数型:");
int a2=0,b2=0,c2=0;
a2=5/6;
System.out.println("5/6="+a2);
b2=5.0/6.0; //有错误,请修改为正确的语句
System.out.println("5.0/6.0="+b2);
c2=5/6.0; //有错误,请修改为正确的语句
System.out.println("5/6.0="+c2);
}
}
public class Conversion
{ public static void main(String[] args)
{ System.out.println("浮点型:");
double a1=0,b1=0,c1=0;
a1=5/6;
System.out.println("5/6="+a1);
b1=5.0/6.0;
System.out.println("5.0/6.0="+b1);
c1=5/6.0;
System.out.println("5/6.0"+c1);
System.out.println("整数型:");
int a2=0,b2=0,c2=0;
a2=5/6;
System.out.println("5/6="+a2);
b2=(int)(5.0/6.0); //有错误,已改正
System.out.println("5.0/6.0="+b2);
c2=5/(int)6.0; //有错误,已改正
System.out.println("5/6.0="+c2);
}
}