黑马程序员_1数据类型转换
来源:互联网 发布:java 编译器api 编辑:程序博客网 时间:2024/05/17 10:07
------- android培训、java培训、期待与您交流! ----------
1、Java语言是一种强类型的语言,强类型的语言有以下 几个要求 :
(1)变量或常量必须有类型。“先声明,后使用”就是上说声明变量或常量时必须声明类型,而且仅在声明之后方可使用。
(2)赋值时类型必须一致。值的类型必须和变量或常量的类型完全一致,如声明long = 10L,我们需要在其值后加上L以表示其值为long型。
运算时类型必须一致。参与运算的数据类型必须一致才能运算。但是在实际的使用中经常需要在不同类型的值之间进行操作,这就需要类型转换。
在开发程序过程中经常需要把不现的基本数据进行转换,Java语言提供为7个数值型之间(boolean型数据不能与其他基本类型值转换)可以相互转换的方式,主要有两种类型,自动类型转换和强制类型转换。
2、自动类型转换
自动类型转换也称隐式类型转换,是指不需要书写代码,由系统根据一定条件自动完成的类型转换。
在程序中,常常遇到已定义好数据类型的变量需要用另一个数据类型来表示,Java会在以下 两个条件均满足时,实现自动类型转换。
①要转换的两种类型是兼容的。如,int 型可以与long型转换,但boolean型不能与int型转换。
②目的类型的取值范围要比源类型大。
注意:自动类型转换是扩大转换,不会因为自动转换而影响了数据的精度,这就是要满足“目的类型的取值范围要比源类型大”的原因了。
例如:
public class AutoCov{
public static void main(String[] args){
byte b = 8;
int i = b; //将byte型自动转换成int型
System.out.println("byte型自动转换int型:"+i); //输出结果:8
char c = 'a';
i = c; //将char型自动转换int型
System.out.println("char型自动转换int型:"+i); //输出结果:65
float f =i;//将int型自动转换float型
System.out.println("int型自动转换float型:"+f); //输出结果:65.0
}
}
注意:在整数之间进行类型转换时,数值不发生改变。而将整数类型,特别是Int型和long型转换成浮点数类型时,由于存储方式不同,int型和long型所包含的位数比float型所能表达的有效位数多,就有可能存在数据精度的损失。
如:整型转换浮点型,损失精度。
public class IntCovFloat{
public static void main(String[] args){
int i = 1234567890;
float f= i;//将int型转换为float型
System.out.println(f);//损失精度,,输出结果:1.23456794E9
}
}
在自动类型转换中还有一个很重要也很能 常用的转换---任何型的数据均可向String转换。如:
class AutoCovString
{
public static void main(String[] args)
{
String name = "我的名字叫华";
int age = 5;
float grade = 98.5F;
//将int型和float型向String转换。
String str = name+ "今年"+age+"岁,期末数学得了"+grade+"分";System.out.println(str); //输出结果:我的名字叫华今年5岁,期末数学得了98.5分
}
}
- 黑马程序员_1数据类型转换
- 黑马程序员--数据类型转换
- 黑马程序员---数据类型转换
- 黑马程序员--C#数据类型转换
- 黑马程序员—基本数据类型转换
- 黑马程序员_JAVA基础之数据类型转换
- 黑马程序员-变量与数据类型转换
- 黑马程序员_数据类型的转换
- 黑马程序员_JAVA多线程_1
- 黑马程序员_javaIO流_1
- 黑马程序员_JAVA基础_1
- 黑马程序员_JAVA多线程_1
- 黑马程序员_JAVA_基础_1
- 黑马程序员_多线程_1
- 黑马程序员_Java基础(数据类型,数据类型转换,scanner语句总结)
- 黑马程序员----【javaSE基础】入门基础--数据类型及转换
- [黑马程序员]_转义字符、数据类型和转换
- 黑马程序员----C#中的不同数据类型之间的转换
- 数据可视化 D3.js实现力导向图之二(node带文字说明和提示)
- Codeforces Round #221 (Div. 2) B. I.O.U.
- ==, .equals(), compareTo(), and compare() (之一)
- This Android SDK requires Android Developer Toolkit version 20.0.0 or above
- 率失真优化的几篇论文
- 黑马程序员_1数据类型转换
- 如何完全卸载oracle
- 从郑大到北邮的心路历程
- 在使用MyEclipse新建文件时常常有些不需要的冗余代码可以采用如下方式进行更改
- 如何在Eclipse开发环境进行android应用调试
- 黑马程序员---Java基础学习之Java语法格式
- ios打电话
- gcd(int a, int b) //求最大公约数
- 画表格_蓝桥杯