ICode9

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

day3-数据类型拓展

2021-08-09 10:00:34  阅读:161  来源: 互联网

标签:字符 数据类型 day3 拓展 System 转义字符 println 返回值 out


数据类型拓展

浮点数拓展

浮点数类型有舍入误差,精确计算时会四舍五入。

例1:

public class Demo01{
   pubilc static void main(String[] args){
       
       float f = 0.1f;
       double d = 0.1/10;
       
       System.out.println(f);//返回值为0.1
       System.out.println(d);//返回值为0.1
       System.out.println(f==d);//返回值为false
  }
}

 

例2:

public class Demo02{
   pubilc static void main(String[] args){
       
       float f = 2323232323232323f;
       double d = f+1;
       
       System.out.println(f);//返回值为2.32323237E15
       System.out.println(d);//返回值为2.32323236757504E15
       System.out.println(f==d);//true
  }
}

从以上例子分析,例1返回值明显相等,判断相等时却返回false,例2返回值明显不相等,返回值却是true。

由此得出结论浮点数类型在判断值时会有舍入误差,值较大或较小时会计算大约数,所以根据特性在计算对精度要求较高的项目时不要使用浮点数类型

解决方法:在要求高精度计算时使用BigDecimal进行计算,BigDecimal是一个数学工具类。

 

字符拓展

例3:

public class Demo03{
   public static void main(String[] args){

       char f = '王';
       char d = 'W';

       System.out.println(f);//返回值为:王
       System.out.println((int)f);//返回值为:29579
       System.out.println(d);//返回值为:W
       System.out.println((int)d);//返回值为:87

  }
}

从例3分析,将cher类型强制转换成int类型后,输出结果为数字,由此我们可得结论字符类型实际上在本质上还是数字。

原理:字符统一由 Unicode 表 从数字转换成字符。

转义字符

转义字符意义ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
\? 代表一个问号 063
\0 空字符(NUL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 十六进制所代表的任意字符 十六进制

定义:转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。—摘自百度百科

 

标签:字符,数据类型,day3,拓展,System,转义字符,println,返回值,out
来源: https://www.cnblogs.com/huangcaiyan/p/15117321.html

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

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

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

ICode9版权所有