首页 > 其他分享 >4、数据类型

4、数据类型

时间:2022-10-27 10:12:53浏览次数:42  
标签:Double NaN System println 类型 数据类型 out

1、Java是一种强类型语言,这意味着必须为每一个变量声明一种类型。
2、在Java中一共有8中基本类型,其中4种整型(byte short int long),2种浮点型(float double),1种字符型(char),一种用来表示真值的boolean。
3、整型(byte short int long)
1)、整型用于表示没有小数部分的数值,允许是负数。,取值范围如下:
类型 存储需求(字节) 取值范围
byte 1 -128~127
int 2 -32768~32767
short 4 -2147483648~2147483647
long 8 负的2的64次方~2的64次方-1
2)、Java中没有无符号形式的byte short int long类型。
3)、long型数据有一个后缀l或L,一般使用大写的L,如long a = 10000L。
4)、从Java7开始,加上前缀0b和0B可以写二进制数,如0B1001表示9。
5)、从Java7开始,可以为数字字面量加下划线,如用1_000_000表示100万,这些下划线只是让人更易读,在编译时Java编译器会去除这些下划线。
4、浮点类型,Sample01_DataType
1)、浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型,float和double
类型 存储需求(字节) 取值范围
float 4 约正负3.40282347E+38F(有效位数为6~7位)
double 8 约正负1.79769313486231570E+308(有效位数为15位)
2)、double表示这种类型的数值精度是float类型的两倍,有人称之为双精度数值。在很多情况下,float类型的精度并不能满足需求,需要使用double。
3)、float类型的数值有一个后缀f或F,没有后缀F的浮点数值总是默认为double类型,double数值后面添加后缀D或d。
4)、所有的浮点数值计算都遵循IEEE754规范有三个表示溢出和出错情况下的三个特殊的浮点数值:正无穷大、负无穷大、NaN(不是一个错字),见例Sample.java。
5、char类型
1)、用来表示单个字符,或者Unicode字符。char类型的字面量值要用单引号括起来,如'A',
2)、char类型的值可以表示为十六进制值,其取值范围从\u0000到\uFFFF。
3)、除了转义序列\u之外,还有一些表示特殊字符的转义序列,如\b 退格,\t 制表,\n 换行,\r 回车,\" 双引号,\' 单引号,\\反斜杠
4)、转义序列\u还可以出现在加引号的字符常量或字符串之外(而其他所有转义序列不可以),如public static void main(String\u005B\u005D args) 这个完全符合语法规则,\u005B\u005D分别是[]字符
5)、Unicode转义序列会在解析代码之前得到处理。例如:
"\u0022+\u0022",这个并不是由引号(U+0022)包围加号构成的字符串。实际上,\u0022会在解析之前转换为",这样会得到""+"",也就是一个空串
更隐秘的,一定要当心注释中的\u,
注释1: // \u000A is a newline 会产生一个语法错误,因为读程序时\u000A会替换成一个换行符。
注释2: // look inside c:\users,这个也会产生一个语法错误,因为\u后面没有跟着4个十六进制树。
6、boolean类型
1)、boolean类型有两个值:true和false,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。

/**
* 1、Java 中使用 Double.POSITIVE_INFINITY 、Double.NEGATIVE_INFINITY、 Double.NaN 表示正无穷大、负无穷大、不是一个数字,同时Float也有相应的常量。
* 2、Double.NaN表示非数字(不是一个数字,比如0/0),但是没有任何一个数值和他相等。但是可以使用Double.isNaN来进行是否是数字
* 3、浮点数值不适用于无法接收舍入误差的金融计算,例如System.out.println(2.0-1.1);将打印出0.8999999999999999,而不是0.9,
* 原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确地表示分数十分之一。
* 如果再数值计算中不允许有任何舍入误差,应该使用BigDecimal类
*/
public class Sample01_DataType {

public static void main(String[] args) {
System.out.println("Double.POSITIVE_INFINITY---"+Double.POSITIVE_INFINITY); //值为:Infinity
System.out.println("Double.NEGATIVE_INFINITY---"+Double.NEGATIVE_INFINITY); //值为:Infinity
System.out.println("Double.NaN---"+Double.NaN); //值为:NaN
//System.out.println("x==Double.NaN----"+(0/0 == Double.NaN)); System.out.println(Double.isNaN(0/0)); 这两行在执行时报错 Exception in thread "main" java.lang.ArithmeticException: / by zero
System.out.println("x==Double.NaN----"+(0.0 == Double.NaN)); //输出false
System.out.println("Double.isNaN(0.0)---"+Double.isNaN(0.0)); //输出false
System.out.println(2.0-1.1);
}
}

标签:Double,NaN,System,println,类型,数据类型,out
From: https://www.cnblogs.com/fengqishi1208/p/16831161.html

相关文章

  • Java 常见数据类型
    数据类型基本类型数值类型整数byte:1个字节short:2个字节int:4个字节long:8个字节浮点float:4个字节double:8个字节字符char:2个字节Boolean类型:占1位......
  • Java知识9 基本数据类型【多测师】
    一、Java的八种基本类型六种数字类型:四个整数型俩个浮点型一个字符类型一个布尔型byteshortintlongfloatdoublebooleanchar实例:基本类型的取值范围:publicclassPr......
  • Chap06 回顾数据类型和表达式 第五组
    Chap06回顾数据类型和表达式1)数据存储方式:都是以二进制方式保存,最高位是符号位,0表示正数,1表示负数。 在计算机数据表达中提出了三个重要概念。原码反码补码  原......
  • 二、python基本数据类型
    一.字面量代码中,被写在代码中的固定的值,称之为字面量Python常用6种值(数据)类型字符串(string):又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。......
  • mybatis typehandler适配postgresql中的point数组数据类型
    mybatistypehandler适配postgresql中的point数组数据类型importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.type.BaseTypeHandler;importorg.apache.ibat......
  • SQLite REAL数据类型值比较问题
    SQLiteREAL数据类型值比较问题数据类型是REAL的字段,where条件where字段=值查询时,可能查询结果为空,使用whereabs(字段-值)<0.00001查询例子表结构字段名称......
  • 基本数据类型
    标准数据类型Python3中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)Python3的六个标准数据类型中:不可变数据(3个):Num......
  • Go | 基本数据类型的相互转换
    基本数据类型的相互转换Go在不同类型的变量之间赋值时需要显示转换,不能自动转换基本语法表达式T(v):将值v转换成类型TT就是数据类型:int32,int64,float32...v就是......
  • Redis的数据类型详解
    作者:IT邦德中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造现拥有Oracle11gOCP/OCM、Mysql、Oceanbase(OBCA)认证分布式TBase\TDSQL数......
  • 针对特殊数据类型JSON.parse()无法完整实现深拷贝的情况下的解决方法
    //判断数据类型functiontypeOf(obj){consttoString=Object.prototype.toStringconstmap={'[objectBoolean]':'boolean','[objectNumber]':'number','[o......