其他分享
首页 > 其他分享> > 数据类型拓展

数据类型拓展

作者:互联网

数据类型拓展

整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x

int i =10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x

System.out.println(i);
System.out.println(i2);
System.out.println(i3);

八进制转换为其他进制数的原则是:逢8进1。
八进制化为十进制:例如八进制数1507转换为十进制,
7*8^0+0*8^1+5*8^2+1*8^3=839

浮点数拓展 银行业务怎么表示 无法用下面两个

float 有限 离散 舍入误差 接近但不等于
double
//最好完全避免使用浮点数进行比较,可以用Bigdecimal(数学工具类)

float f=0.1f;
double d = 1.0/10;
System.out.println(f==d);//输出f是否等于d,结果是false,二者并不相等
System.out.println(f);
System.out.println(d);

float d1=23231312313112f;
float d2=d1+1;
System.out.println(d1==d2);//结果显示TRUE`

字符拓展

char c1='a';
char c2='中';
System.out.println((int)c1);//强制换行 char转换成int 字符转换成数字
System.out.println((int)c2);//强制换行
System.out.println(c1);
System.out.println(c2);
//所有的字符本质上还是数字
//原因:Unicode编码 2字节 范围是U0000-UFFFF
char c3='\u0051';//代表字母Q
System.out.println(c3);

转义字符\n \t

例如: \t 制表符 \n换行

System.out.println("Hello\nWorld");//输出时换行

对象 从内存分析

输出flase,New String相当于在内存里创造一个空间,每个空间对应一个地址,比较的是地址

String sa = new String("hello world");//original自动生成的
String sb = new String("Hello World");
System.out.println(sa==sb);//结果是false

布尔值拓展

boolean flag=true;
if(flag==true){}//新手
if(flag){}//老手(这两个代码意思是一样的)

强制转换、自动转换与溢出

在这里插入图片描述

运算中,不同类型的数据先转化为同一类型,再进行运算。

int i =128;
byte b =(byte)i;//内存溢出 byte最大值127
System.out.println(i);
System.out.println(b);

//强制转换  语法:(类型)变量  高--低
//自动转化  低--高
int i1=128;
double b2=i1;
System.out.println(i1);//输出128
System.out.println(b2);//输出128.0

注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换,反之则不用。
4.转化的时候可能存在内存溢出或者精度问题

System.out.println((int)23.7);//精度问题,舍弃了小数部分
char c='a';
int d =c+1;
System.out.println(d);//输出98
System.out.println((char)d);//输出b
//操作比较大的数字时,注意溢出问题
int money=1000000000;
int years=20;
int total=money*years;//输出-1474836480,计算的时候溢出了
long total2=money*years;//还是输出-1474836480,转换之前已经存在问题了,相当于运算后再加Long
System.out.println(total2);
long total3=money*(long)years;//先把一个数转换为long数据类型
System.out.println(total3);//输出正确数值20000000000

标签:输出,int,数据类型,System,拓展,char,println,out
来源: https://www.cnblogs.com/dayu2022/p/16558436.html