Java基础笔记(一) 数据类型

Java基础笔记(一) 数据类型

[TOC]

第一章 Java概述

img

Java SE:(Java Platform, Standard Edition)整个Java技术的核心和基础,它是Java ME和Java EE编程的基础。
Java ME:(Java Platform, Micro Edition)主要用于控制移动设备和信息家电等有限存储的设备。
Java EE:(Java Platform,Enterprise Edition)提供了企业应用开发相关的完整解决方案,是Java技术中应用最广泛的部分。


Java基础笔记(一) 数据类型_第1张图片
img

JVM:(Java Virtual Machine)Java虚拟机,负责解释执行字节码文件。(JVM是Java程序跨平台的关键)


1、Java程序的组织形式

Java是一种纯粹的面向对象的程序设计语言,即必须以类(class)的形式存在。类是Java程序的最小程序单位。(Java程序不允许可执行语句、方法等成分独立存在,所有的程序部分都必须放在类定义里)

Java程序的入口是一个类中的main方法public static void main(String[] args)

2、源文件的命名规则

img

3、垃圾回收机制

Java不需要程序员直接控制内存回收,程序的内存分配和回收都是由JRE在后台自动进行的。JRE会负责回收那些不再使用的内存,这种机制称为垃圾回收(Garbage Collection)

第二章 Java数据类型

Java中的所有关键字(都是小写):

Java基础笔记(一) 数据类型_第2张图片
img

除了上面48个关键字之外,Java还包含gotoconst两个保留字(未来可能用作关键字)与 三个特殊的字面值:truefalsenull


Java基础笔记(一) 数据类型_第3张图片
img

引用类型就是对一个对象的引用。实际上,引用类型变量就是一个指针,只是Java语言里不再使用指针这个说法。

1、整型

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;

2、浮点类型

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:循环里面使用浮点增量时要特别注意避免进入死循环

3、boolean类型

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

4、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编码的;

5、基础数据类型之间的转换

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

byte

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

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

基础类型之间的转换

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

6、引用数据类型

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类的设计者共享带来的效率要高于提取拼接带来的低效率

D:比较方法:equals和==;

String的equals方法比较的是字符串的字面值是否相等,而==比较的是两个字符串的存储地址是否相等

你可能感兴趣的:(Java基础笔记(一) 数据类型)