Java语言中:在数据类型的讲解中补充的几个小问题

简介: ============================================================================= 1:在定义Long或者Float类型变量的时候,要加L或者f。

=============================================================================
1:在定义Long或者Float类型变量的时候,要加L或者f。
  整数默认是int类型,浮点数默认是double。

  byte,short在定义的时候,他们接收的其实是一个int类型的值。
  这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。
  例如:
    byte a = 50;  //其实50是int类型的。
    short b = 100;   //其实100是int类型的。
-----------------------------------------------------------------------------
2:byte值的问题:即默认是有符号的。
  byte b1 = 127; //127
  byte b2 = (byte)128; //-128
  byte b3 = (byte)129; //-127
  byte b4 = (byte)130; //-126
  ......
  byte b4 = (byte)255; //-1
  byte b4 = (byte)256; //0
  byte b4 = (byte)257; //+1
---------------------------------------
  byte b1 = -128; //-128
  byte b2 = (byte)-129; //+127
  byte b3 = (byte)-130; //+126
  byte b4 = (byte)-131; //+125
  ......
  byte b4 = (byte)-255; //+1
  byte b4 = (byte)-256; //0
  byte b4 = (byte)-257; //-1
---------------------------------------
  所以有个规律是:在任何范围内,如果给个较大的值,在截取的时候,当比最大值还大的时候,又会绕回去从最小的开始。
  所以有个规律是:在任何范围内,如果给个较小的值,在截取的时候,当比最小值还小的时候,又会绕回去从最大的开始。
---------------------------------------
  byte的范围:-128 ~ 127

  128: 1000 0000
  -128:1000 0000 (可以这样认为:这里的1即是符号位,也是数值位。)

  其实1000 0000表示-0。
  其实实际上byte的范围是 -127,-126,-125,...,-1,-0,+0,+1,...,+125,+126,+127
  但是呢我们一般认为的是0不分正负的,所以为了区别以及为了超过范围数还能绕回去,叫做数据的回环!,就上面那样做了。
-----------------------------------------------------------------------------
3:数据类型转换之默认转换:
  byte,short,char --> int --> long --> float --> double
          默认转换
  但是呢?
    long: 8个字节
    float:4个字节
  为什么long会在前面呢?
---------------------------------------
  原因是:
    A:它们底层的存储结构不同。所有的整数是按照1010...去存储的,但浮点数是按照科学计数法的表示的,所以存储的有效数字位以及次幂。
    B:这样就导致了float表示的数据范围比long的范围要远远大。
      long:-2^63 ~ 2^63-1
      float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 >> 2^63-1
---------------------------------------
  Java浮点类型常量有两种表示形式:
    十进制数形式,     如:3.14         314.0
    科学记数法形式, 如:3.14e2    3.14*10^2
  Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
  所谓的有效数字:具体地说,是指在分析工作中实际能够测量到的数字。所谓能够测量到指的是包括最后一位估计的不确定的数字。
    例如:对于一个近似数,从左边第一个不是0的数字起,到精确到的位数止,所有的数字都叫做这个数的有效数字。
-----------------------------------------------------------------------------
4:面试题:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
  可以。因为java语言中的字符char占用两个字节。

  Java语言采用的是Unicode编码。(Unicode是全球语言统一编码)
=============================================================================

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
5天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
12 0
|
30天前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
14 0
|
22天前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
4天前
|
Java Android开发 C++
Kotlin vs Java:选择最佳语言进行安卓开发
【4月更文挑战第13天】Java曾是安卓开发的主流语言,但Kotlin的崛起改变了这一局面。Google在2017年支持Kotlin,引发两者优劣讨论。Java以其成熟稳定、强大生态和跨平台能力占优,但代码冗长、开发效率低和语言特性过时是短板。Kotlin则以简洁语法、空安全设计和高度兼容Java脱颖而出,但社区和生态系统仍在发展中,可能存在学习曲线和性能问题。选择语言应考虑项目需求、团队熟悉度、维护性、性能和生态系统。无论选择哪种,理解其差异并适应新技术至关重要。
|
15天前
|
Java
Java语言打印九九乘法表(详解)
Java语言打印九九乘法表(详解)
13 1
Java语言打印九九乘法表(详解)
|
23天前
|
Java API 开发工具
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(三)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
30 0
|
23天前
|
Java 数据处理 数据库
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(二)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
33 0
|
23天前
|
存储 算法 Java
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(一)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
33 0
|
24天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
88 3
|
27天前
|
存储 Java
Java基本数据类型
Java基本数据类型
7 0