java类型转换方法
来源:互联网 发布:淘宝互刷平台源码 编辑:程序博客网 时间:2024/05/16 19:26
基本类型的类型转换(难点)
自动类型转换主要指小范围向大范围转换,在编译阶段自动完成。
byte => short => int => long => float => double char =>boolean类型不参与任何形式的类型转换。
强制类型转换主要指大范围向小范围转换,需要编写代码进行处理。
尽量避免使用强制类型转换,因为该转换可能会造成数据的丢失。格式:目标类型 变量名 = (目标类型)源类型的变量名;
当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升(自动提升到与表达式中最高等级操作数同样的类型)
所有byte型,short型和char型将被提升到int型整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。1) short sValue = 5; sValue = sValue -2; //error 因为与int型2做运算,所以表达式中的sValue将自动提升到int类型, //则右边的表达式类型为int将一个int类型赋给short类型的变量将发生错误。 sValue = (short) (sValue - 2); //正确写法2) float xx = 5.6; //error 因为5.6默认为double类型,必须使用强制类型转换才可以。 float xx = (float) 5.6;3) System.out.println('a'+7+"Hello!"); // 104Hello! a=97 +7 =104 System.out.println("hello!"+'a'+7); // hello!a74) long类型转化为float类型时,会出现数据精度丢失 因为float类型的有效位数有限制,不可显示超过7位的有效位数(含小数点),达到8位时就会精度丢失,【double类型的精度为16位】 float yy = 5.123456789f; 结果:5.123457 float yy = 123456789f; 结果:1.23456792E85) short与int之间的类型转换问题 int a = 50; short b = a; //error:可能会损失精度 原因:50为常量,在编译阶段可以检查50是不是可以放在short中,若可以,则不报错。 a 为变量,a的值可能会发生改变,存在不确定因素。假设在代码中改为10^6,则放不下。 因此,java要避免这种错误发生,直接禁止这种类型之间的转换。
各类型转换方法(重点)
java为8中基本类型都提供了对应的包装类:
boolean对应Boolean、byte对应Byte、short对应Short、int对应Integer、long对应Long、char对应Character、float对应Float、double对应Double
8种包装类都提供了一个parseXxx(String str)静态方法用于将字符串转换成基本类型。
1. char/int、float、long、double ——> String 转换 1)String s = String.valueOf (intvar); String s = String.valueOf (charvar); 2)String s = ""+intvar 3)String s =Integer.toString(intvar);2. String->int、float、long、double 转换 1)int i = Integer.valueOf(my_str); long l = Long.valueOf(s); float f = Float.valueOf("1111"); double d = Double.valueOf("123"); char ch = Character.valueOf('1'); 2)int i=Integer.parseInt(s); float f= Integer.parseInt("12314"); long lo=long. parseInt(s); double d=double.parseInt("12314");3. String->char 转换 String s="abc"; Char a=s.charAt(0); //获取数组下标为0的进行返回
阅读全文
0 0
- java类型转换方法
- Java中的实用类型转换的方法
- java方法重载--参数类型转换
- JAVA中类型转换的有三种方法
- Java与JNI类型转换,方法调用
- 通用类型转换方法
- 类型转换常用方法
- C# 类型转换方法
- C# 类型转换方法
- Java运算符顺序: 强制类型转换与调用方法
- java.util.Date的set方法问题(struts2类型转换)
- java之 多态-扩展性、多态子父类的类型转换、equals方法
- java中各种类型转换成Byte[]的工具方法
- java int与byte类型转换的2种方法
- java对象转换String类型的三种方法
- java强制类型转换后调用方法加括号
- java类型转换与强制类型转换
- java 类型转换 强制类型转换
- CMVS-PMVS 知识库链接
- 负数在计算机中如何表示,计算机中负数为什么用补码表示?
- LintCode题目解答之字符串操作(2)
- Maven私服-Nexus搭建文档
- CentOS服务器配置之python环境配置
- java类型转换方法
- FORM的基础开发
- POJ 1703 带权并查集
- hdu2665 Kth number(主席树模板)
- MySQL主从同步实践
- iOS:json格式字符串转字典,字典转json格式字符串
- Spring Boot中使用JdbcTemplate访问数据库
- C++智能指针<二>
- 音视频直播技术--视频渲染之EGL