• 数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean)

    • 整型

      int 4字节 -2 147 483 648~2 147 483 647
      short 2字节 -32 768~32 767
      long 8字节 -9 223 372 036 854 775 808~9 223 372 036 854 775 807
      byte 1字节 -128~127
      • 长整型(long)数值后加后缀L  (e.g.  4000000000L)
      • 二进制数(BIN):前缀0b    (e.g.   0b10012=910
      • 八进制数(OCT):前缀0    (e.g.   0108=810
      • 十六进制(HEX):前缀0x   ( e.g.   0xCAFE16=5196610
      • 在Java中,整型的范围与运行Java代码的机器无关,保障了Java的可移植性。在C中,在16/32/64位系统下的整型所占字节不尽相同:short(2Byte)<=int(2/4Byte)<=long(4/8Byte)
      • Java 7之后,可以在数字之间加入“_”增加易读性(编译器将无视下划线)  (e.g.  2_000_000)
      • Java没有 无符号类型(unsigned)
    • 浮点类型

      float 4字节 有效数字6~7位
      double 8字节 有效数字15位
      • float类型数值加后缀F   (e.g.  3.14F)     没有后缀F的浮点数值(e.g.  3.14)默认为double类型
    • char类型

      • char数据类型是一个采用UTF-16编码表示Unicode代码点的代码单元。(具体关于UTF-16、Unicode代码点、代码单元的内容于下一节讲述)
      • char类型用于表示单个字符,通常用来表示字符常量。(e.g.   ‘A’是编码为65所对应的字符常量,“A”则是一个包含字符‘A’的字符串)
      • 转义序列符
        \b 退格
        \t 制表
        \n 换行
        \r 回车
        \” 双引号
        \’ 单引号
        \\ 反斜杠
      • 我自己也看晕了,下一节深入讨论Java中char的前生今世
    • boolean类型

      • boolean类型(布尔)有两个值:false和true,用于判定逻辑条件。整型值与布尔值不能进行相互转换(一般情况下)。
      • C中,值0相当于boolean中的false,非0值则为true。因而在下面代码中,C中由于表达式“x=0”的值为0,所以其结果判断为false。而在Java中,将无法通过编译,因为表达式“x=0”的值不能转换为boolean值。(插多一句,在C/C++编程中,判断语句中,将“x==0”改写为“0==x”可以很好的解决有时候漏写一个‘=’的问题)
        if (x = )
  • 数据类型转换
    • 图中实心箭头表示无信息丢失的转换,虚线箭头表示可能有精度损失的转换。(e.g.   123 456 789(int)是一个大整数,所包含的位数多过float类型所能表达的位数(有效数字6~7位),当此整型数值转换为float类型时,将得到同样大小的结果,但损失了一定的精度(小数后几位无法精确表达))
    • 二元操作时(具有两个操作数,e.g.  n+f )自动类型转换优先级: double>float>long>int(如果有,则向更高优先级转换,最低也转换为int)
  • 强制数据类型转换(cast)

    • 有可能损失精度
    • 强制类型转换中,浮点数值转换为整型通过截断小数部分,变量nx的值为9。
    double x = 9.997;
    int nx = (int) x;
    • 如果想对浮点数进行四舍五入运算,需使用Math.round方法,此时变量nx值为10。另外,Math.round()返回结果的long类型,所以还需要进行强制类型转换为int类型。
    double x = 9.997;
    int nx = (int) Math.round(x);
  • 当将一个数值从一种类型转换为另一种类型时,而又超出了目标类型的表示范围(long->int),那么将截断成一个完全不同的值(e.g.   (byte)300 –> 44)

Core Java 学习笔记——2.基本数据类型&类型转换的更多相关文章

  1. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

  2. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  3. java学习笔记04-基本数据类型

    编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法).数据可能有很多类型,比如对于年龄来说,数据就是整数. 对于金额来,数据是带小数的.在java中,可以分为内置数据类型和引用数据类 ...

  4. Java学习笔记 01 基本数据类型、标识符、关键字和运算符

    一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147 ...

  5. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  6. [core java学习笔记][第十一章异常断言日志调试]

    第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...

  7. [core java学习笔记][第四章对象与类]

    4.3 用户自定义类 4.3.1 类数组的声明 需要两次new Employee[]=staff=new Employedd[3]; staff[0]=new Employedd(参数列表); sta ...

  8. Java学习笔记一:数据类型I

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/IntPractice1.java https://github.com ...

  9. Java学习笔记day03_引用数据类型

    1.引用数据类型 步骤: 1. 导包   2. 创建引用类型变量 类型 变量名 = new 类型名();   3. 使用数据类型的功能 变量名.功能名(); 如Scanner类: import jav ...

随机推荐

  1. LR_问题_无法使用LR的Controller,提示缺少license

    问题描述 无法使用LR的Controller,提示缺少license 问题解决 使用开始->所有程序->HP LoadRunner->loadrunner,在打开界面的左上角选择co ...

  2. tomcat 内存配置

    在bin目录下的catalina.bat里添加如下代码: rem ----- Execute The Requested Command ------------------------------- ...

  3. tcp通信:多进程共享listen socket方式

    原文链接:http://blog.csdn.net/largetalk/article/details/7939080 看tornado源码多进程(process.py)那段,发现他的多进程模型和一般 ...

  4. 图像二值化----otsu(最大类间方差法、大津算法)

    最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定的方法,又叫大津 法,简称OTSU.它是按图像的灰度特性,将图像分成背景和目标2部分.背景和目标之间的类间方差越大,说明构成图像 ...

  5. sqort函数用法总结

    qsort包含在<stdlib.h>头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序.排序之后的结果仍然放在原数组中.使用qsort函数必须自己写一个比较函数. 函数原 ...

  6. linux/shell sort命令

    sort是在Linux里常用的一个命令,用来排序的 # man sort 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最 ...

  7. ViewPager介绍和使用说明

    1   ViewPager实现的功能 和实际运行的效果图示意 ViewPager类提供了多界面切换的新效果.新效果有如下特征: [1] 当前显示一组界面中的其中一个界面. [2] 当用户通过左右滑动界 ...

  8. iOS开发:告诉git不要跟踪UserInterfaceState.xcuserstate

    在xcode中使用git管理项目的技巧: 在多人协作开发的时候,每个开发者都会在项目中的某个目录生成一个 UserInterfaceState.xcuserstate 文件,这个文件大概每5s会刷新一 ...

  9. Alpha、Beta、RC、GA版本的区别

    Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用. Beta:也是测试版,这个阶段的版本会一直加入新的功能.在Alpha版之后推出. RC:(Release Candi ...

  10. HDU 5284 wyh2000 and a string problem(字符串,水)

    题意:比如给你一个串,要求判断wyh是不是它的子序列,那么你只需要找一个w,找一个y,再找一个h,使得w在y前面,y在h前面即可.有一天小学生拿着一个串问他“wyh是不是这个串的子序列?”.但是wyh ...