java输出类什么不同_Java 入门 之 不同类型数据的输出与转换

不同类型的数据联合输出,代码示例

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

由上可知,因为,尾数位和指数位的存在,所以,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 易丢失精度。

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值