3.3 数据类型

这里所说的数据类型是指 Java的8中基本数据类型,是原生就存在的。

不同进制数的字面值表示方法

进制 字面值表示方法 例子 是否默认 JDK版本支持
2进制 0b或0B前缀(每4位可用_分隔) 0b1001,0b1111_0100_0010   Java SE 7开始
8进制 0前缀 010    
10进制   010  
16进制 0x或0X前缀 0xCAFE    

  Java中没有unsigned 类型的数

  在Java中谈默认值是没有意义的,一个数据的默认值只有在声明为成员变量或是静态变量以及初始化的时候存在,而没有初始化的变量会出现编译错误。

3.3.1 整数型(4种)

类型 字节数  表示范围 默认值 大致表示范围 字面值表示方法 例子 是否是默认字面值类型 是否推荐使用
byte 1 –128 到 127 0 100        
short 2 –32,768 到 32,767  0 3万        
int 4 –2,147,483,648 到 2,147,483, 647 0 20亿   400
long 8 –9,223,372,036,854,775,808 到9,223,372,036,854,775,807 0L 9*1018 l或L后缀(400L) 400L    

3.3.2 浮点数型(2种)

类型 字节数 表示范围 默认值 有效数字(精度)(10进制下) 字面值表示方法 例子 是否为默认字面值类型 是否推荐使用
float 4 ±3.40282347E+38F 0.0f 6-7位 f或F后缀 3.14F    
double 8  ±1.79769313486231570E+308 0.0d 15位 d或D后缀 3.14D,3.14

16进制指数式浮点数字面值表示方法

底数 表示方法 例子 常规表示方法
以2为底 0x***p***标记(尾数采用16进制,指数采用10进制) 0x1.0p-3 1.0x2-3

3个特殊的浮点数

Double.POSITIVE_INFINITY 正无穷
Double.NEGATIVE_INFINITY 负无穷
Double.NaN 非数(0/0或负数的平方根)

  1.Double类是对double类型的对象化封装,java.lang.Double

System.out.println(2.0 - 1.1)

输出结果是 0.8999999999999999 而不是 0.9 ,浮点数在实际存储时以2进制存储,出现了精度损失,入股数值计算不能有任何舍入误差,使用 BigDecimal 类

3.3.3 字符型(1种)

Java中的char字符表示的是unicode(即UTF-16)编码字符,

类型 字节数 表示范围 默认值 表示方法 例子
char 2 \u0000 到 \uFFFF ‘\u0000’ ‘ ’标记,可使用\u转译和特殊字符转译 ‘A’,‘\u2122’,‘\n’

常用的char字符以及转译字符

转译形式 名称 Unicode值
\n 换行 \u000a 
\r 回车 \u000d 
\t Tab \u0009
\" \u0022 
\' \u0027 
\\ \ \u005c
  π,数字PI的符号 \u03C0
  ™,商标符号 \u2122

  Unicode型转译字符可以在源代码中直接使用

public static void main(String\u005B\u005D args)

  等价于

public static void main(String[] args)

3.3.4 Unicode与char

3.3.5 布尔型

类型 默认值 字节数 表示方法 例子
boolean  false 在编译之后都使用JVM中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节 true,false true,false

boolean与其他类型不可转换,在c/c++中,0表示false,非0表示true,java中不行。

CoreJavaE10V1P3.3 第3章 Java的基本编程结构-3.3 数据类型的更多相关文章

  1. CoreJavaE10V1P3.5 第3章 Java的基本编程结构-3.5 操作符

    最基本的操作为赋值操作,= 即赋值操作符 基本的算术操作为加.减.乘.除取模.除取余数,其对应操作符为 +.-.*./.% 算术操作与赋值操作联合衍生为:+=:-=:*=:/=:%=: 由于处理器硬件 ...

  2. CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)

    数组是存储同一类型数据的数据结构 数组的声明与初始化 int[] a; int a[]; int[] a = new int[100]; int[] a = new int[100]; for (in ...

  3. CoreJavaE10V1P3.9 第3章 Java的基本编程结构-3.9 大数值(Big Numbers)

    如果基本的整型与浮点型不能满足需求,可以使用java.Math包提供的 BigInteger 和 BigDecimal 两个类,这两个类可以存储任意长度的数, BigInteger 实现的任意精度整数 ...

  4. CoreJavaE10V1P3.8 第3章 Java的基本编程结构-3.8 控制流程(Control Flow)

    通过使用条件语句.循环语句可以实现流程的控制. 3.8.1 块作用域(Block Scope) 块(Block)就是由一对花括号包围起来的部分.他指定了一个变量的生存范围,与一个方法的操作范围. Ja ...

  5. CoreJavaE10V1P3.7 第3章 Java的基本编程结构-3.7 输入输出(Input ,Output)

    3.7.1 读取输入 Scanner in = new Scanner(System.in); System.out.print("What is your name? "); S ...

  6. CoreJavaE10V1P3.6 第3章 Java的基本编程结构-3.6 字符串 String

    String类(java.lang.String)就是Unicode字符序列,例如:"Java\u2122" 3.6.1 Substring 提取子串 String greetin ...

  7. CoreJavaE10V1P3.4 第3章 Java的基本编程结构-3.4 变量

    1.在Java中,每一个变量都必须有一个类型,在变量声明是,类型必须在变量名之前.示例如下: double salary; int vacationDays; long earthPopulation ...

  8. CoreJavaE10V1P3.2 第3章 Java的基本编程结构-3.2 注释

    3.2 注释 1. //形式注释 System.out.println("We will not use 'Hello, World!'"); // is this too cut ...

  9. CoreJavaE10V1P3.1 第3章 Java的基本编程结构-3.1 Java 最简程序

    3.1Java最简程序 FirstSample.java public class FirstSample { public static void main(String[] args) { Sys ...

随机推荐

  1. 【值得收藏】符号计算软件Maple的学习资料汇编【可免费下载】

    Maple学习教程 Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称.Maple在全球拥有数百万用户,被广泛地应用于科学.工程和教育等领域,用户 ...

  2. [置顶] android调用第三方库——第四篇——调用多个第三方库

    0:前言: 在前面三篇中我们介绍了android调用第三方库的形式,在这一篇中我们介绍调用多个第三方库的Android.mk的写法,由于其他三篇介绍的很详细,这里只给出Android.mk的内容. [ ...

  3. SignalR 2.0 系列: SignalR简介

    SignalR 2.0 系列: SignalR简介 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET S ...

  4. 验证编辑方法(Edit method)和编辑视图(Edit view)

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view) 在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是 ...

  5. bzero与memset

    bzero:原型:void bzero(void *s, int n); 功能:置字节字符串s的前n个字节为零且包括‘\0’. 说明:bzero无返回值,并且使用strings.h头文件,string ...

  6. ToolBox Analysis & Design

    话说小菜过做已近3年,虽出身PHP后项目大多涉及.net,系统也做得比较繁杂,从常见的CMS,企业OA,ERP,也涉及到电商系统的开发定制,爬虫,工具不一而足,其中web系统居多. 由于表现良好,时常 ...

  7. 在ASP.NET MVC3 中利用Jsonp跨域访问

    在ASP.NET MVC3 中利用Jsonp跨域访问 在信息系统开发的时,根据相关业务逻辑难免会多系统之间互相登录.一般情况下我们需要在多系统之间使用多个用户名和密码.这样客户就需要在多个系统之间重复 ...

  8. javascript full screen 全屏显示 页面元素

    javascript full screen 全屏显示 页面元素 要想让页面的某个元素全屏显示,就像在网页上看视频的时候,可以全屏观看一样,该怎么实现呢? 一种最简单的方式,就是动态改变你想要全屏显示 ...

  9. .net下将富文本编辑器文本原样读入word文档

    关键词:富文本编辑器  生成word  样式 为了解决标题中提出的问题,首选需要了解,在.net环境下读取数据库中的内容动态生成word至少有2种方式,[方式一]一种方式是在项目中添加引用,例如在“添 ...

  10. 简单使用JSON,JavaScript中创建 JSON 对象(一)

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...