ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据类型拓展

2022-08-07 09:00:37  阅读:153  来源: 互联网

标签:输出 int 数据类型 System 拓展 char println out


数据类型拓展

整数拓展 进制 二进制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){}//老手(这两个代码意思是一样的)

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

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
  • 容量高–>低:

在这里插入图片描述

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

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有