3/27~3/28总结

目录

  Java语言概述

         理解面向对象

面向对象的基本特征

对象的基本特点

数据类型

基本类型的类型转换

表达式类型的自动提升

Java语言概述

JDK: Java SE Development Kit               即Java 标准版开发包

JRE :Java Runtime Environment             即Java运行时环境

JVN :  Java Virtual Machine                     即 Java 虚拟机

联系:JDK 包含 JRE ,而JRE又包含JVM。

JVM不能单独搞定class的执行,解释class的时候JVM需要调用JRE里的类库lib。

JRE目录里有2个文件夹bin和lib,bin里面就是JVM,lib里的则是JVM工作所需要的类库lib,而JVM和lib和起来就是JRE。

利用JDK开发了Java程序后,通过JDK中的编译程序(javac),将java文件编译成了Java字节码,在JRE上运行这些字节码,JVM解析这些字节码,映射到CPU指定集成OS的系统调用。

JDK也有bin目录,而且含有javac.exe,而JRE的bin里没有。

javac指令:用来将java文件编译成class 文件。

一个文件里只能有一个public修饰的类。

Java的堆内存是一个运行时数据区,用以保存类的实例(对象)

Java虚拟机的垃圾回收,能自动释放内存空间减轻编程的负担,这使Java虚拟机具有2个显著的特点

1.垃圾回收机制使程序员不必再显示释放内存,很好地提高编程效率

2.垃圾回收机制保护程序的完整性

1.垃圾回收机制能够精确地标记活着的对象

2.垃圾回收器能够精确地定位对象之间的引用关系

理解面向对象

采用面向对象方式开发的软件系统最小的程序单元是类

类定义 = 成员变量 + 方法

成员变量就是对象的一些状态,数据。

方法就是对象的行为。

组件更大,更好组装成电脑

面向对象的基本特征

封装,继承,多态

对象的基本特点

标识唯一性,分类性,多态性,封装性,模块独立性好。

类是对象的抽象,对象是类的实例,类是整个软件系统最小的程序单元。

“消息”是一个实例与另一个实例之间相互通信的机制。

数据类型

引用类型包括:类,接口,数组类型,null类型。

空引用(null)可以转换为任何引用类型,但不能转换成基本类型。

引用数据类型就是对一个对象的引用,对象包括实例和数组两种。

基本数据类型:Boolean   ,数值类型

数据类型:字符类型,整数类型,浮点类型

整数类型: byte,short,int ,long

浮点类型:float,double。

char型变量:

1.赋值单个字符   char ch = 'a'

2.赋值转义字符   char ch = '\r'

3.赋值u+16进制  char ch = '\u9999'

输入char时,一定会输出相应的字符  char ch = 97

char型变量可直接当成int类型变量使用

应为它存的是数字(字符的编号)

String不是基本数据类型

赋值时要用双引号括起来

用var定义时,一定要指定初始值

var a = 20;  这是对的

var a;     这个不行

var ch = "Hello"

编译器会推断ch的类型是个字符串

Java中,浮点类型默认是double类型,但是通过在浮点类型值后紧跟f或F即可当成float型

正数除以0得到浮点型POSITIVE_INFINITY

负数除以0得到浮点型NEGATIVE_INFINITY

0.0除0.0或对一个负数开方得到非数:浮点型NaN

所有正无穷大数值都是相等的,所有负无穷大数值都是相等的

只有浮点数除以0才可以得到正无穷大或负无穷大。

整数除以0,会抛出异常:ArithmeticException :/by  zero

基本类型的类型转换

1.自动类型转换

表数范围小的可以向表数范围大的进行自动类型转换

2.强制类型转换

3/27~3/28总结_第1张图片

需要注意的是进行强转时有可能出现错误

比如上面这个代码,它会输出-23而不是233

原因

因为int是4个字节,32位,byte是1个字节,8位

将int型强转成byte时,会只保留右边的8位

并且第8位是符号位

如果符号位数字是1,那么表示这是个负数

负数要得出结果需要先减1得到反码,再化成原码

(因为负数以补码形式存在)

 将一个字符串转换成基本类型(如int)

3/27~3/28总结_第2张图片

 java 为八种基本类型都提供了相应的包装类

8个类都有一个parseXxx(String str)静态方法用于将字符串转换成基本类型

表达式类型的自动提升

1.所有的byte类型,short类型,char类型在操作时将被提升到int

2.整个算术表达式的数据类型自动提升到与表数范围最大的类型一致

数组

java的数组既可以存储基本类型的数据,也可以存储引用类型的数据

数据也是一种数据类型,本身是一种引用类型

如:int 是基本类型,int []是引用类型

数组的初始化

1.静态初始化:

3/27~3/28总结_第3张图片

 2.动态初始化

3/27~3/28总结_第4张图片

静态初始化的简化形式:使用简化时,不能用var来定义数组变量

· 

数组的访问

数组自带属性.length,表示数组长度

如果访问数组元素时指定的索引值小于0,或者>=数组长度

运行时出现异常:java.lang.ArrayIndexOutOfBoundsException:N

其中N是引发异常的索引。

foreach,可以便捷访问所有元素,但是不能改改变其值。

每一遍循环都将遍历到的数组元素赋给指定的变量

3/27~3/28总结_第5张图片

内存中的数组

实际的数组对象被存储在堆内存中

数组名即引用变量存储在栈内存中

你可能感兴趣的:(servlet)