Java 入门 之 不同类型数据的输出与转换
2016-01-20 11:42
501 查看
本节主要掌握,Java之中大类型向小类型转换转换中需要注意的问题,即隐式转换与显示转换。其次,需要熟悉的方法有,Math.round( )、Math.sqrt( )、Byte.parseByte( )、Integer.parseInt( )、Integer.toHexString( )、Integer.toBinaryString( )、Integer.toBinaryString( )、Long.toBinaryString(
) 。
不同类型的数据联合输出,代码示例
Math.round 表示对小数点后面第一位数字,进行四舍五入操作。
System.out.println 可以连接不同类型的数据,进行一行输出。
例:
System.out.println("嗨!我的名字是" + name + “,我是第” + num + “号参赛选手!”);
Java 也不允许对变量重复定义。
例:
int a=9;
// int a; // 这一句代码会有红线显示,表示因重复定义而出错。
字符转换整型
System.out.println(Byte.parseByte("108"));
System.out.println(Integer.parseInt("801"));
输出即为字符串对应的数字。
数字进制转换
System.out.println(Integer.toHexString(16));
System.out.println(Integer.toBinaryString(32));
Java 默认整数运算的结果为整数,byte 和 short 类型变量在计算的时候,被计算机识别为 32 位(int)整型变量。
byte num = 3;
// byte val = 3+num; // 报错
Java 默认浮点数运算的结果 计算机默认为 double 类型
long a=9;
float b = 9.2f;
float c = b+a;
double d = b+a;
float 类型变量字长为 32 位,double 为 64 位
由上可知,因为,尾数位和指数位的存在,所以,float精度小于int(31位),double精度小于long(63位)。
Java底层是用一个16位整数表示字符型数据的,占2个字节,该整数称为 Unicode 编码。
System.out.println((char)65+":"+65); // 65 A ; 97 a
System.out.println('\u4e2d'); // 中
布尔类型数据的输出
System.out.println(true);
System.out.println(90>89);
小类型数据项大类型数据转换
例:
byte-->short-->int-->long-->float-->double
由之前的预备知识可以了解到,int-->float 以及 long-->double 易丢失精度。
若,long lnum = 0x1000000000000010l; // 加上l至关重要 !!!,该段代码没有添加上“l”,则lnum的字长只能有32位,添上才允许出现64位。
输出:
大类型向小类型转换,也称强制转换,用字符类型加括号即可实现。
例:
int src = 65;
char dst = (char)src;
) 。
不同类型的数据联合输出,代码示例
package Type_Trans_Pack; public class My_Class { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("sqrt(10)/(sqrt(20)-sqrt(5)) = " + Math.round(Math.sqrt(10)/(Math.sqrt(20)-Math.sqrt(5)))); } }
Math.round 表示对小数点后面第一位数字,进行四舍五入操作。
System.out.println 可以连接不同类型的数据,进行一行输出。
例:
System.out.println("嗨!我的名字是" + name + “,我是第” + num + “号参赛选手!”);
Java 也不允许对变量重复定义。
例:
int a=9;
// int a; // 这一句代码会有红线显示,表示因重复定义而出错。
字符转换整型
System.out.println(Byte.parseByte("108"));
System.out.println(Integer.parseInt("801"));
输出即为字符串对应的数字。
数字进制转换
System.out.println(Integer.toHexString(16));
System.out.println(Integer.toBinaryString(32));
Java 默认整数运算的结果为整数,byte 和 short 类型变量在计算的时候,被计算机识别为 32 位(int)整型变量。
byte num = 3;
// byte val = 3+num; // 报错
Java 默认浮点数运算的结果 计算机默认为 double 类型
long a=9;
float b = 9.2f;
float c = b+a;
double d = b+a;
float 类型变量字长为 32 位,double 为 64 位
数据类型 | 符号位 | 指数位 | 尾数位 |
float | 1 | 23 | 8 |
double | 1 | 52 | 11 |
Java底层是用一个16位整数表示字符型数据的,占2个字节,该整数称为 Unicode 编码。
System.out.println((char)65+":"+65); // 65 A ; 97 a
System.out.println('\u4e2d'); // 中
布尔类型数据的输出
System.out.println(true);
System.out.println(90>89);
小类型数据项大类型数据转换
例:
byte-->short-->int-->long-->float-->double
由之前的预备知识可以了解到,int-->float 以及 long-->double 易丢失精度。
package Type_Pack; import java.util.jar.Attributes.Name; public class Type_Class { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub float num = (float)Math.pow(3,2); String Name = "张"+"大飞"; System.out.println(Name); int numint = -2; long numlong = numint; System.out.println(numint); System.out.println(numlong); // int2float 二进制码最后2字节(8位)精度丢失 int i = 0x10000010; float f = i; System.out.println(Integer.toBinaryString(i)+":"+i); System.out.println(Integer.toBinaryString((int)f)+":"+f); // long2double 二进制码最后11位精度丢失 long lnum = 0x1000000000000010l; // 加上l至关重要 !!! double dnum = lnum; System.out.println(Long.toBinaryString(lnum)); System.out.println(Long.toBinaryString((long)dnum)); int src = 65; char dst = (char)src; System.out.println(dst); } }注:
若,long lnum = 0x1000000000000010l; // 加上l至关重要 !!!,该段代码没有添加上“l”,则lnum的字长只能有32位,添上才允许出现64位。
输出:
张大飞 -2 -2 10000000000000000000000010000:268435472 10000000000000000000000000000:2.68435456E8 1000000000000000000000000000000000000000000000000000000010000 1000000000000000000000000000000000000000000000000000000000000 A
大类型向小类型转换,也称强制转换,用字符类型加括号即可实现。
例:
int src = 65;
char dst = (char)src;
相关文章推荐
- java基础的用法
- 【2-4】用Java接口操作HDFS
- java class文件简介
- JAVA从字符串中截取部分匹配的字符串
- java调用接口(跨域调用函数)
- Java正则表达式的总结和一些小例子
- java.util.regex
- Ecslipse安装Svn插件的两个方法
- 几秒前,几分钟前,几小时前,几天前,几月前,几年前的java实现
- Java 多字符分割字符串
- struts2——(2)struts开发使用基本步骤
- eclipse 安装其他插件后,SVN失效的解决
- java的动态绑定与双分派
- LeetCode 328. Odd Even Linked List Java
- Java WebService 简单实例
- JAVA去掉空格
- IO流2(字符流缓冲区、字节流、装饰设计模式、转换流)
- JAVA多线程实现的三种方式
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- java getResourceAsStream