2019-04-20 java语法基础5

1.ASCII码表

由来:通过一个字符和一个整数相加所得出的表。(表中所记录的是字符的真实值)

ASCII码表中有三个重要的值:

‘a’=97

‘A’=65

‘0’=48

2.字符串中的“+”

字符串数据与其他数据做+,所得出结果是字符串类型。

这里的+不是数学中的+而是字符串连接符。

3.数据类型中补充几个小问题

(1)在定义long或者float类型的变量的时候要加上L或f后缀,整数默认是int类型,而小数默认是double类型。

(2)byte,short在定义的时候,他们接收的其实是一个int类型的值。只不过是它们自己做了一个数据检测,只要不在它们的范围内,就会报错。

(3)byte值的问题:10000000B = +-128(这里的二进制的1既是符号位又是数值位)//理解参看正负零的概念

(4/*重点*/)前面写到数据类型转换中的默认转换遵循:

byte,short,char→int→long→float→double

这其中long类型占用8字节,而float占用4字节。问题:为什么在这儿是大的存储空间转换成小的存储空间而不用担心损失精度?原因:

①它们底层的存储结构不同。

float数据类型在存储时通常采用的是科学计数法,因此一个浮点数由两部分所组成:底数m和指数e

1°底数部分使用二进制数来表示次浮点数的实际值。那么问题来了,底数部分在科学计数法中往往是小数形式,那么小数该如何转换为二进制数呢?

首先是整数部分,除以二,直到商为0,余数反转。

小数部分则是乘以二,知道乘位为0,进位顺序取。

2°指数部分则是占用8bit的二进制数,可表示的数值范围是0~255

我还是举个例子吧:


**总结:

float所表示的数据范围其实是比龙类型数据要大的。

long(max) = 2`63-1

float(max) = 3.4*10`38

(5)java语言中的字符char可以存储一个中文汉字吗?为什么?

能。因为java语言中的字符占用2个字节。(因为汉字多于256个)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
    Java小辰阅读 4,778评论 0 2
  • 第一类:逻辑型boolean 第二类:文本型char 第三类:整数型(byte、short、int、long) c...
    Jasonme阅读 4,822评论 0 4
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,142评论 0 4
  • 时隔一年,我的简书早已成了一片荒地。回看研究生期间写的文字,竟然倍感陌生,那是曾经的我么?还是我现在已经变了?交易...
    只想写点什么阅读 1,027评论 0 0
  • 雪飘雪融 风起风停 霜来霜去 冰消冰成 皆叹菊花开放 院小也留香清
    A清风_33b1阅读 1,490评论 0 7

友情链接更多精彩内容