Java复习笔记第一篇----数据类型

可能大家对java的基础数据类型都了解,但是有深入了解过他们的底层组成么?今天笔者就带着大家一起来深入了解Java的基础数据类型

一:基础数据类型

整型

1:byte类型

eg:byte temp = 12;它是由一个字节组成即8位,它的取值范围为-128-127;

2:short类型

eg :short temp = 12,由两个字节组成,它的取值范围为-215-215;

3:int类型

eg:int temp =12;由四个字节组成:取值范围为-231-231;

4:long类型

eg:long temp = 12;由八个字节组成,取值范围为-263-263;

浮点类型

5:float类型

eg:float a = 12.3f;由四个字节组成,取值范围为:3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方):注意:浮点类型默认为double如果想要表示float类型一定要在字面值后面加f

6:double类型

eg:double a = 12.3;占用8个字节1.797693e+308~ 4.9000000e-324;

Ps:

  • A:浮点类型不适用于禁止出现舍入误差的金融计算中,例如:System.out.println(2.0-1.1)将打印出来0.899999999;而不是人们想象的0.9;主要原因:浮点类型采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10;解决这一现象使用BigDecimal类

  • B:如果使用一个整数除于0将会报错,但是如果使用浮点数除于0将会出现无穷大identify;

C:循环里面使用浮点增量时要特别注意避免进入死循环

7:boolean类型

只有两个值,分别为false何true;java中的boolean不可以转换成其他的数据类型

8:char类型:重点

eg:char a = '1';占有两个字节,两个字节表示一个字符;采用的是Unicode编码;它的前128个字符和ASCLL兼容,char类型的取值它的取值范围为\u0000(0)-\uFFFF(65535);如果仅仅是表示英文字符我们需要一个字节也就够了,但是为了让char类型能够表示汉字或者其他的特殊字符我们将其扩展为两个字节;

记住如果采用UTF-8编码表示中文,一个中文有3个字节;

例子:char a = '陈';这里的a是两个字节

String a = ‘陈’;byte[] arr = a.getBytes();这里的arr的长度为3;应为String是采用utf-8编码的;

基础数据类型之间的转换

  • A:小容量向大容量可以自动转换,但大容量向小容量需要强制类型转换而且可能会造成精度丢失

byte<short,char<int<long<float<double;

  • B:char和short和byte三种类型之间不可以直接进行转换,他们转换之前都将先转换成int类型再进行转换;

  • C:整数类型默认为int,浮点类型默认为double;


image

注意:实线表示不存在精度丢失,虚线表示存在精度丢失

二:引用数据类型

  • 1:引用数据类型是由类的编辑器定义的。他们是用于访问对象的。这些变量被定义为不可更改的特定类型。例如:Employee, Puppy 等等。

  • 2:类对象和数组变量就是这种引用数据类型。

  • 3:任何引用数据类型的默认值都为空。

  • 4:一个引用数据类型可以被用于任何声明类型和兼容类型的对象。

例如:Animal animal = new Animal("giraffe");

  • 5:关于String

    • A:从概念上来讲,字符串起始就是Unicode字符序列;java没有内置的字符串类型,而是在java类库里面预定义了一个类;String类

    • B:两种声明字符串的方法

      • a:String a = "adb";创建一个字符串常量;

      • b:Strint b = new String("sadsa");创建一个字符串对象

      • 这里我们需要引入一个常量池的概念:常量池是指在编译期间就被确定的,并且在此期间就已经保存在.class文件中的一些数据;它包括了关于类、方法、接口等中的常量,也包括字符串常量。

    • C:String的不可变性;String类型的字符串一旦确定了值就不能改变;但可以修改它的引用让其引用另外一个字符串;不可变字符串有一个优点,

      • 方便共享----编译器可以让这种字符串共享;String类的设计成共享带来的效率要高于提取拼接带来的低效率
      • 安全性 ,String被许多的Java类(库)用来当做参数,假若String不是固定不变的,将会引起各种安全隐患。
    • D:比较方法:equals和==;

      • String的equals方法比较的是字符串的字面值是否相等,而==比较的是两个字符串的存储地址是否相等
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341