Java基础知识笔记总结

Java基础知识笔记总结
Java基础知识笔记总结

Java知识——精华总结

一、java概述与基础知识 (6)

二、方法与数组 (19)

三、面向对象(1) (28)

四、面向对象(2) (39)

五、异常处理和常用类 (59)

六、线程技术 (77)

七、集合框架(1) (93)

八、集合框架(2) (110)

九、IO操作(1) (123)

十、IO文件操作(2) (135)

十一、网络编程 (146)

十二、反射机制 (162)

十三、GUI界面 (181)

十四、Java高新技术(1) (197)

十五、Java高新技术(2) (205)

十六、Java高新技术(3) (215)

十七、面试题之交通灯管理系统 (233)

十八、面试题之银行业务系统 (241)

一、java概述与基础知识 (6)

1、何为编程? (6)

2、Java语言概述,历史、特点 (6)

3、什么是跨平台性?原理是什么?JVM (6)

4、Jre和Jdk的区别? (7)

5、java虚拟机JVM (7)

6、Java程序运行机制 (7)

7、学习java注意的地方 (8)

8、Java语法格式 (8)

9、代码注释:单行//,多行/* */,文档注释/** */ (8)

10、Java中的标识符 (8)

11、java中的常量和变量 (9)

12、Java成员变量和局部变量 (9)

14、基本数据类型转换之向上转型和向下转换 (11)

15、Java的运算符 (12)

16、表达式和三目运算符 (12)

17、程序流程控制 (13)

18、三大循环结构: (15)

19、嵌套循环与流程控制 (17)

二、方法与数组 (19)

1、什么是方法(Method)? (19)

2、Java中方法的格式: (19)

3、方法里的属性 (20)

4、方法特点 (20)

5、什么是方法的重载(Overload)? (21)

6、可变参数 (22)

7、数组简介: (22)

8、一维数组的声明与初始化: (23)

9、数组的使用: (24)

10、分配内存空间 (25)

11、二维数组: (26)

12、操作数组的工具类-Arrays (27)

13、Java5新特性对数组的支持: (28)

三、面向对象(1) (28)

1、什么叫面向对象? (28)

2、类 (29)

3、构造方法 (30)

4、static关键字 (31)

5、匿名对象 (32)

6、this关键字 (32)

7、面向对象之封装 (32)

8、访问修饰符 (33)

9、类的设计分析 (34)

10、面向对象之继承 (34)

11、子类访问父类和方法覆写 (35)

12、super关键字和调用父类构造方法 (36)

13、面向对象之多态 (37)

14、引用变量类型转换 (38)

四、面向对象(2) (39)

1、基本数据类型的包装类 (39)

2、基本数据类型和包装类相互转换 (40)

3、基本类型和String之间的转换 (41)

4、Object类 (41)

5、代码块 (42)

6、构造方法的私有化 (43)

7、Singleton模式(单例模式) 饿汉式和懒汉式 (44)

8、final 关键字 (46)

9、抽象类 (46)

10、抽象类的体现-模板模式 (48)

11、接口(interface) (50)

12、接口的使用 (51)

13、面向接口编程之制定标准和简单工厂模式 (52)

14、面向接口编程之适配器模式 (54)

15、接口和抽象类的比较 (55)

16、匿名内部类 (56)

17、枚举类 (56)

五、异常处理和常用类 (59)

1、异常 (59)

2、异常处理格式 (60)

3、多异常处理 (60)

4、异常的分类 (61)

5、声明异常(throws) (62)

6、throw (62)

8、throw和catch同时使用 (64)

9、常用类 (64)

10、String方法 (66)

11、StringBuffer 与StringBuilder (68)

12、Math和Random和UUID (71)

13、Date和Calendar (73)

14、System (76)

六、线程技术 (77)

1、进程和线程 (77)

2、创建线程方式 (78)

3、两种进程创建方式比较 (79)

4、线程的生命周期 (81)

5、控制线程 (82)

6、多线程安全问题 (84)

7、多线程安全问题的解决方法 (85)

8、线程通信 (89)

七、集合框架(1) (93)

1、集合类& 容器 (93)

2、Collection接口 (94)

3、Iterator接口 (94)

4、集合遍历输出方式 (95)

6、TreeSet (99)

7、List接口 (103)

8、List接口中常用类 (104)

9、Map接口 (108)

八、集合框架(2) (110)

1、Collections类 (111)

2、Arrays (112)

3、泛型(Generic) (113)

5、声明多个泛型类型和通配符 (118)

6、泛型的上限与下限 (119)

7、泛型接口和方法 (121)

8、泛型的嵌套(map例子) (122)

九、IO操作(1) (123)

1、IO的概述和File方法 (123)

2、递归(Recursion) (125)

3、文件过滤器java.io.FilenameFilter (126)

4、流 (127)

5、操作流的步骤(重点) (128)

6、字节流和字符流 (129)

7、文件拷贝 (131)

8、字节→字符转换流 (134)

9、自动关闭资源的try语句 (134)

十、IO文件操作(2) (135)

1、内存操作流 (135)

2、打印流 (137)

3、格式化输出 (139)

4、标准流 (140)

5、Scanner(简单文本扫描器) (141)

6、缓冲流 (144)

7、合并流(SequenceInputStream) (145)

十一、网络编程 (146)

1、什么是网络编程? (146)

2、网络通讯要素 (147)

3、TCP和UDP的联系和用途 (147)

4、InetAddress与Socket (148)

5、UDP传输 (149)

6、TCP传输 (153)

8、小例子 (159)

十二、反射机制 (162)

1、反射的概念 (162)

2、获得Class对象 (163)

3、九个预定义Class对象 (164)

4、利用Class获取类的属性信息 (165)

5、Class中得到构造方法Constructor、方法Method、字段Field (167)

6、利用反射创建对象 (172)

7、使用反射调用方法 (175)

8、使用反射调用可变参数方法 (176)

9、使用反射操作字段 (178)

10、反射和泛型-反射来获取泛型信息 (179)

十三、GUI界面 (181)

1、GUI(图形用户界面) (181)

3、事件监听机制组成 (183)

4、Dialog (190)

5、菜单 (193)

十四、Java高新技术(1) (197)

1、Eclipse的使用技巧 (197)

2、静态导入(1.5特性,好处是不用写类名) (199)

3、可变参数 (200)

5、基本数据类型的自动拆箱与装箱 (201)

6、枚举 (201)

7、反射实现框架功能 (203)

十五、Java高新技术(2) (205)

1JavaBean (205)

2、内省综合案例和Beanutils工具包 (205)

3、注解(Annotation) (208)

4、泛型 (211)

十六、Java高新技术(3) (215)

1、类加载器 (215)

2、类加载器的委托机制 (216)

3、一个类加载器的高级问题分析 (220)

4、代理的概念与作用 (220)

5、动态代理技术 (222)

6、分析JVM动态生成的类 (222)

8、实现类似spring的可配置的AOP框架 (229)

十七、面试题之交通灯管理系统 (233)

1、面向对象的分析与设计 (234)

2、Road类的编写 (234)

3、Lamp类的编写 (236)

4、LampController类的编写 (239)

5、MainClass类的编写 (239)

十八、面试题之银行业务系统 (241)

1、需求 (241)

2、需求分析 (242)

3、NumberManager类 (242)

4、NumberMachine类 (243)

5、CustomerType枚举类 (244)

6、ServiceWindow类 (244)

7、MainClass类与Constants类 (248)

一、java概述与基础知识

1、何为编程?

编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。

为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

2、Java语言概述,历史、特点

是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级语言。

是一种面向Internet的编程语言。

随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。

java5.0之后的三大技术框架

J2EE(Java 2 Platform Enterprise Edition)企业版

在jdk5.0版本后称为JA V AEE,是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。。

J2SE(Java 2 Platform Standard Edition)标准版

在jdk5.0版本后称为JA V ASE,这是在java基础阶段主要学习的内容,也是java的基础,以后不管从事Android开发或者是物联网+云计算的开发,等是建立在JSE基础上的,因此该技术是java的最核心技术,主要上课内容.。

J2ME(Java 2 Platform Micro Edition)小型版

在jdk5.0版本以后称为JA V AME,该技术多应用于一些电子产品的嵌入式开发,以前在手机开发上应用的也比较多,但是随着智能手机的发展,现在手机应用程序(比如Android程序)的开发已经不再使用该技术。

3、什么是跨平台性?原理是什么?JVM

所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。

实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。(注意不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机)。

我的总结:Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!

4、Jre和Jdk的区别?

JRE:(Java Runtime Environment),java运行环境。包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。

JDK:(Java Development Kit Java)开发工具包。JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等

简单而言:使用JDK开发完成的java程序,交给JRE去运行。

我的总结:必须熟练的记忆,核心类库,开发工具!

5、java虚拟机JVM

Java Virtual Machine ,简称JVM;

它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。

Java编译器针对JVM产生class文件,因此是独立于平台的。

Java解释器负责将JVM的代码在特定的平台上运行。

Java虚拟机是不跨平台的.

6、Java程序运行机制

编译: javac 文件名.文件后缀名

运行: java 类名

我的总结:Java程序的组成:Java源文件,字节码文件。

7、学习java注意的地方

Java语言拼写上严格区分大小写;

一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类;若源文件中包括了public类,源文件必须和该public类同名;

一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和

其对应的类名相同;

我的总结:一个Java源文件只定义一个类,不同的类使用不同的源文件定义;

将每个源文件中单独定义的类都定义成public的;

保持Java源文件的主文件名与源文件中的类名一致;

8、Java语法格式

任何一种语言都有自己的语法规则,Java也一样,既然是规则,那么知道其如何使用就可以了。代码都定义在类中,类由class来定义,区分public class 和class;

代码严格区分大小写,如main 和Main 是不一样的;

Java中的标识符与关键字;

注释;

main方法的作用:

程序的入口

保证程序的独立运行

被JVM调用

9、代码注释:单行//,多行/* */,文档注释/** */

1.单行注释//:

//后到本行结束的所有字符会被编译器忽略;

2.多行注释/* */:

/* */之间的所有字符会被编译器忽略

3.文档注释/** */:

在/** */之间的所有字符会被编译器忽略,java特有的(用于生成文档);

我的总结:多行和文档注释都不能嵌套使用。

10、Java中的标识符

可简单理解为在Java程序中为了增强阅读性自定义的名称。比如:类名,方法名,变量名

等。

命名规则:

(1) 由字母、数字、下划线、$组成,不能以数字开头

注意:此处的字母还可以是中文,日文等;

(2) 大小写敏感

(3) 不得使用java中的关键字和保留字

(4) 别用Java API里面的类名作为自己的类名。

11、java中的常量和变量

变量的概念:

占据着内存中的某一个存储区域;

该区域有自己的名称(变量名)和类型(数据类型);

该区域的数据可以在同一类型范围内不断变化;

为什么要定义变量:

用来不断的存放同一类型的常量,并可以重复使用;

使用变量注意:

变量的作用范围, 初始化值

定义变量的格式:

数据类型变量名= 初始化值;

注:格式是固定的,记住格式,以不变应万变。

作用范围:定义开始到定义它的代码块结束;

同一范围内,不允许多个个局部变量命名冲突

12、Java成员变量和局部变量

局部变量:不是声明在类体括号里面的变量;

局部变量使用前必须初始化值;

局部变量没有默认初始化值;

局部变量的作用域是从定义开始到定义它的代码块结束;

成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员)

成员变量的作用域是整个类中;

我的总结:注意成员变量和局部变量的区别

package reviewDemo;

public class Demo2 {

public static void main(String[] args) {

int i;

System.out.println(i);

}

}

备注:局部变量调用前没有初始化,所以编译的时候就会报错!

package reviewDemo;

public class Demo2 {

static int i;

public static void main(String[] args) {

System.out.println(i);

}

}

备注:此时i为全局变量,未初始化会被赋予默认的初始化值!程序正确!

我的总结:

局部变量是定义在方法中的变量,,,出了该方法就不能访问该变量了....

成员变量是在类中定义,,,,并且在类的成员方法中都能访问的变量..

13、基本数据类型

在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。可以使用这些类型的值来代表一些简单的状态。

Java 语言的基本数据类型总共有以下8 种,下面是按照用途划分出的4 个类别:

定点类型:

整数型是一类代表整数值的类型。当需要代表一个整数的值时,可以根据需要从 4 种类型中挑选合适的,如果没有特殊要求的话,一般选择int 类型。4 种整数型区别主要在每个数据在内存中占用的空间大小和代表的数值的范围。

小数型是一类代表小数值的类型。当需要代表一个小数的值时,可以根据需要从以下 2 种类型中挑选合适的。如果没有特殊要求,一般选择double类型。

由于小数的存储方式和整数不同,所以小数都有一定的精度,所以在计算机中运算时不够精确。根据精度和存储区间的不同,设计了两种小数类型。

字符型:

字符型代表特定的某个字符,按照前面介绍的知识,计算机中都是以字符集的形式来保存字符的,所以字符型的值实际只是字符集中的编号,而不是实际代表的字符,由计算机完成从编号转换成对应字符的工作。Java 语言中为了更加方便国际化,使用Unicode 字符集作为默认的字符集,该字符集包含各种语言中常见的字符。在程序代码中,字符使用一对单引号加上需要表达的字符来标识,例

如’A’、’a’等,当然也可以直接使用字符编码,也就是一个非负整数进行表示。

布尔型:

布尔型代表逻辑中的成立和不成立。Java 语言中使用关键字true 代表成立,false 代表不成立。布尔型是存储逻辑值的类型,其实很多程序中都有逻辑值的概念,Java 把逻辑的值用布尔型来进行表达。

14、基本数据类型转换之向上转型和向下转换

向上转换:

整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型可自动转换为容量大的数据类型;

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

byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。

boolean 类型是不可以转换为其他基本数据类型。

Eg:

int i = 123;

long l = i; //自动转换,不需强转

float f = 3.14F;

double d = f;

整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型可自动转换为容量大的数据类型;

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

byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型。

boolean 类型是不可以转换为其他基本数据类型。

Eg:

long l = 123L;

int i = (int) l;//必须强转

double d = 3.14;

float f = (float) d;

我的总结:类型转化

小转大,自动!自动类型转换(也叫隐式类型转换)

大转小,强转!强制类型转换(也叫显式类型转换)

15、Java的运算符

运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种:

算术运算符(+ 、—、* 、/ 、%)

赋值运算符(= 、+=、-=、*=、/=,、%=)

关系运算符(>、>=、<、<=、!=)

条件运算符(&&、||、!&、|、^)

位运算符(&、|、^、~、>>、<<、<<<、>>>)

我的总结:

逻辑运算符用于连接布尔型表达式,在Java中不可以写成33 & x<6 。“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

“^ ”与“|”不同之处是:当左右都为true时,"^"结果为false。

16、表达式和三目运算符

是由数字、运算符、数字分组符号(括号)等以能求得数值的有意义排列的序列;

a + b

3.14 + a

(x + y) * z + 100

boolean b= i < 10 && (i%10 != 0)

表达式的类型和值:

对表达式中操作数进行运算得到的结果是表达式的值。

表达式值的数据类型即为表达式的类型。

表达式的运算顺序

应按照运算符的优先级从高到低的顺序进行;

优先级相同的运算符按照事先约定的结合方向进行;

“三目运算符”,语法格式:

x ? y : z;

其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算符的结果是表达式y的值,否则就是z的值。

package reviewDemo;

public class Demo2 {

public static void main(String[] args) {

String s = "lz";

s = (s == "lz" ? "正确" : "错误");

System.out.println(s);

}

}

输出:正确

17、程序流程控制

顺序结构

分支结构(条件结构)

循环结构

控制循环结构

顺序结构:

如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。

if语句:

基本语法:if(表达式){方法体}else if(表达式){方法体}else(方法体)

几种形式:

三种格式:

if(条件表达式){执行语句;}

if(条件表达式){执行语句;}else{执行语句;}

if(条件表达式){执行语句;}else if (条件表达式){执行语句;}……else{执行语句;}

public class If3

{

public static void main(String args[])

{

int i = 3;

if (i > 5)

{

System.out.println("变量i大于5");

}

else if (i > 4)

{

System.out.println("变量i小于4");

}

else

{

System.out.println("其他");

}

}

}

switch控制语句

格式:

switch(表达式)

{

case 表达式可能的结果值1:

执行语句;

break;

case 表达式可能的结果值2:

执行语句;

break;

...

default:

执行语句;

break;//最后这个一般不写

}

备注:

case之间与default没有顺序。先执行第一个case,都没有匹配的case值执行default。

结束switch语句的两种情况:遇到break,switch语句执行结束。

如果匹配的case或者default没有对应的break,那么程序会从第一次匹配的case语句开始继续向下执行,运行可以执行的语句,直到遇到break或者switch结束为止。

class switch2

{

public static void main(String[] args)

{

int a = 7,b = 5;

switch(a-b)

{

case 3://表达式可能的值;

{

System.out.println("33!");

}

break;

case 4:

{

System.out.println("44!");

}

break;

default://都没有执行则执行该语句!

System.out.println("其它的");

}

}

}

18、三大循环结构:

用于处理需要重复执行的操作;

根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体;while:事先不需要知道循环执行多少次;

do while:同上,只是至少要执行一次(先做,后判断);

for:需要知道循环次数;

循环结构(while & do while)

while语句

格式:

while(条件表达式值为true)

{

执行语句;

}

do while语句

格式:

do

{

执行语句;

}

while(条件表达式值为true);

我的总结:do while特点是无论条件是否满足,循环体至少被执行一次。

循环里的条件表达式不能直接写false或直接写结果是false的表达式,不过可以使用变量来传递false值;

循环结构(for)

格式:

for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3))

{

执行语句;(4)

}

执行顺序:(1) →(2) →(4) →(3) →(2) →(4) →(3)

备注:

1, for里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

2, while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

3, 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

Eg:

用三种循环控制求出100以内前5个3的倍数的数字;

class while

{

public static void main(String[] args)

{

int i = 1,k = 0;

while(i<=100)

{

if(i%3==0)

{

if(k<5)

System.out.println(i);

k++;

}

i++;

}

}

}

class dowhile

{

public static void main(String[] args)

{

int i = 1,k = 0;

do{

if(i%3==0)

{

if(k<5)

System.out.println(i);

k++;

}

i++;

}

while(i<=100);

}

}

class for

{

public static void main(String[] args)

{

int i = 1,k = 0;

for(;i<100;i++)

{

if(i%3==0&&k<5)

{

System.out.println(i);

k++;

}

}

}

}

19、嵌套循环与流程控制

嵌套循环:循环里套循环

假设外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要m * n次。

Eg:利用for循环语句的嵌套打印出乘法口诀表

class break1

{

public static void main(String[] args)

{

for(int i=1;i<=10;i++)//定义i与j的值必须在for循环里面,否则每次跳出循环重新执行就无法取值

{

for(int j=1;j<=10;j++)

{

if(j<=i)

System.out.print(j+"*"+i+"="+i*j+" ");//小注意:print()括号里面必须传递参数,println()无限制!

}

System.out.println();

}

}

}

流程控制

break语句、c ontinue语句;

break:终止该层循环;

continue:跳过该层循环

注:

①:若这两个语句离开应用范围,存在是没有意义的。

②:这个两个语句后面都不能有语句,因为执行不到。

③:continue语句是跳过本次循环,继续下次循环。

④:标签的出现,可以让这两个语句作用于指定的循环。

Eg:

package reviewDemo;

public class Demo2 {

public static void main(String[] args) {

int i = 1;

for (; i < 10; i++) {

System.out.println(i);

if(i == 8){

break;//流程控制,不会完全执行!

}

}

}

}

二、方法与数组

第二篇:

1、什么是方法(Method)?

方法是一组为了实现特定功能的代码块的集合。方法在语法上的功能主要有以下两个:①:结构化代码

将代码按照功能进行组织,使代码的结构比较清晰,容易阅读和修改,也就是程序的可维护性强。

②:减少代码重复

一个固定的功能,可能会在程序中多次使用,在使用时只需要调用写好的方法,而不用重复书写对应的功能代码。

方法在书写时需要注意以下两点:

①:逻辑严谨

方法实现的一个完整的功能,所以在书写时要考虑到各种可能的情况,并对每种情况做出恰当的处理。

②:通用性强(可重复利用)

方法实现的是一种功能,在实际实现时,可以根据需要,使方法具备一定的通用性,除非必要,否则不要写专用的方法。在Java 语言中,恰当的使用方法,将使程序更加优雅,便于阅读和使用。

我的总结:

方法:一段可重复使用的代码段;

程序中完成独立功能的一段代码的集合。

2、Java中方法的格式:

[修饰符] 返回值类型方法名([参数类型形式参数1,参数类型形式参数2,……])

{

执行语句; [return 返回值;]//需要的话

}

参数列表(参数的类型,参数的个数,参数的顺序)

我的总结:只要上述有一个不一样,那么这个参数列表就不一样!对于方法而言,即使同名也不是同一个方法,也就是下面讲的方法签名。

3、方法里的属性

访问控制符:访问控制符限定方法的可见范围,或者说是方法被调用的范围。方法的访问控制符有四种,按可见范围从大到小依次是:public、protected,无访问控制符,private。其中无访问控制符不书写关键字即可。具体的范围在后续有详细介绍。

形式参数:在方法被调用时用于接收外界输入的数据。

实参:调用方法时实际传给方法的数据。

返回值:方法在执行完毕后返还给调用它的环境的数据。

返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回类型void。

方法签名:方法名和方法的参数列表(能区别方法);//最关键的

java语言中调用方法:对象名.方法名(实参列表)。

实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。

return 语句终止方法的运行并指定要返回的数据。

4、方法特点

它可以实现独立的功能;

必须定义在类里面;

它只有被调用才会执行;

它可以被重复使用;

方法结束后方法里的对象失去引用;

如何定义一个功能,并通过方法体现出来:

①明确该功能运算后的结果.明确返回值类型;

②明确在实现该功能过程中是否有未知内容参与运算,确定参数列表;

Eg:

package reviewDemo;

/**

* player 的值分别是1,2,3或者其他值时,该方法返回“大明”,“二明”,“小明”,“我没有这个孩子”。

*/

public class Demo2 {

public static void main(String[] args) {

int player = 5;

System.out.println("返回的结果是:"+show(player));

}

public static String show(int p){

switch (p) {

case 1:

return"大明";

case 2:

史上最全Java基础知识点归纳

史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资

深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。

java知识点总结

https://www.360docs.net/doc/fc2876024.html,ng.Object 类,是所有类的根父类! 2.Object类仅有一个空参的构造器public Object(){ } 3.关于方法: ①equals(Object obj) public boolean equals(Object obj) { return (this == obj); } // == // 1.基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,反之返回false // 注:两端数据类型可以不同,在不同的情况下,也可以返回true。 // 2.引用数据类型:比较引用类型变量的地址值是否相等。 //equals(): >①只能处理引用类型变量②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等 >像String 包装类File类Date类这些重写Object类的equals()方法,比较是两个对象的 //"实体内容"是否完全相同。 >若我们自定义一个类,希望比较两个对象的属性值都相同的情况下返回true的话,就需要重写Object类的 equals(Object obj)方法 ②toString()方法

当我们输出一个对象的引用时,会调用toString()方法。 1.public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 当我们没有重写Object类的toString()方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置 2.一般我们需要重写Object类的toString()方法,将此对象的各个属性值返回。 3.像String类、Date、File类、包装类都重写了toString()方法。 1. String类:不可变的字符序列(如:String str = "atguigu"; str += "javaEE") 1.关注于String常用的方法! 2.String类与基本数据类型、包装类;与字符数组、字节数组; * 1.字符串与基本数据类型、包装类之间转换 * ①字符串--->基本数据类型、包装类:调用相应的包装类的parseXxx(String str); * ①基本数据类型、包装类--->字符串:调用字符串的重载的valueOf()方法 *

java基础知识点总结

Created by AIwen on 2017/5/14. java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、和多态。java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)和对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、和方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以是public、protected、private其中之一,或者省略构造器名:构造器名必须和类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。 实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。 java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以是java语言允许的任何数据类型,包括基本类型和引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。也可省略。 返回值类型:可以是java语言的允许的任何数据类型,包括基本类型和引用类型。 方法名:和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。 static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。static修饰的成员表明它属于这个类本身,而

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

java面向对象知识点总结

j a v a面向对象知识点总 结 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1 类和对象 类: 类是用来描述一类事物的共性内容的, 类是抽象的; 创建类,如何描述 属性功能 用变量来描述属性 用方法来描述功能 对象: 就是现实中具体的事物,对象是具体的; 创建对象 类名对象名 = new 类名(); 如何通过对象访问类中属性和方法呢 对象名.变量名 对象名.方法名(); 只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间匿名对象 创建的对象没有赋值给具体的变量; 所以给匿名对象的属性赋值是没有任何意义的; 匿名对象使用场景

1 调用方法 2 作为参数传递 3 添加进容器中 This 关键字 This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象, 普通方法, 创建对象调方法, 谁调用就代表谁 This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项: 1 this() 只能是构造函数的第一条执行语句 2 this() 不能在构造函数之间相互调用 3 this() 不能调用自己 构造函数(方法) 构造函数的作用 用来给对象进行初始话的(初始化就是指给对象的各个属性赋值) 构造函数何时执行 对象一创建就会调用与之相对应的构造函数

构造函数语法 修饰符没有返回值类型类名(参数列表){ 具体执行的代码 } 构造函数自动添加 当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造, 如果我们指定了,就不添加了 构造函数和普通函数的区别 执行时机不同 对象一创建就会调用与之相对应的构造函数 普通函数只有被调用才会执行 return 1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致) 2 即便方法的返回值类型是void,方法中也可以出现 return; 3 构造函数中也可以有return关键字 成员变量和局部变量 1 作用范围不同, 成员变量是定义在类中的,在整个类中都起作用 局部变量是定义在方法中的,在所在代码块起作用

JAVA技术--Java基础知识常见考试题JAVA技术.doc

一、单选题 1.对类:(B) public class Test( //...do something } 下面那个正确地定义了类Test的构造函数。 A)public void Test() () B)publicTest()(} C ) public static Test() (} D) publicTest(); 2.下面哪个函数是public void example()(...)的重载函数。(A) A)public void example( float f)(...) B)public int example() (...) C)public void example2()(...} D)public int example_overLoad ()(...) 3.下面的代码段中,执行之后i和j的值是_C_。 int i = 1; intj; j = i++; A)1, 1 B) 1,2 C) 2, 1 D) 2,2 4.以下for循环的执行次数是_B o for(int x=0,y=0;(y !=0)&&(x<4) ;x++); A)无限次B) 一次也不执行 C)执行4次D)执行3次 5.下面程序的输出结果是—C o public class People( String name; int id; public People( String str, int n )( name = str; id = n; } public String toString(){ return id + " :” + name; } public String print()(

《Java编程基础知识点汇总及习题集》--答案

目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。

2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。

java各知识点详细总结(毕向东笔记整理)

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java 的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java 运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

java期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

Java基础阶段复习题2(附答案)

复习题2 如有雷同,纯属巧合! 1.下列哪一种叙述是正确的() A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 2.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 3.以下哪个表达式是不合法的() A、String x=”Hello”; int y=9; x+=y; B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y; D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0 4.下列关于修饰符混用的说法,错误的是() A.abstract不能与final并列修饰同一个类 B.abstract类中不可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 5.()修饰符允许对类成员的访问不依赖于该类的任何对象 A、abstract B、static C、return D、public 6.关于被私有访问控制符private修饰的成员变量,以下说法正确的是() A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问

java基础刷题知识点总结

基础 1.object类的方法有哪些 clone() protect 创建并返回一个对象的副本 equals()用来比较某个对象是否与调用此方法的对象相等 finalize() protect getClass() 返回一个对象的运行时类 hashCode()返回一个对象的hash值 notify()唤醒在此对象监听器上等待的单个线程。如果有多个,则随机唤醒一个 notifyAll()唤醒在此对象监听器上等待的所有线程 registerNatives() 本地私有方法,在类初始化是会调用此方法 toString() 返回当前对象的字符串表示 wait()使当前线程处于等待直到其他线程调用这个对象的notify或notifyAll方法或者超过指定的时间量 2.接口和抽象类的区别 1.首先描述接口和抽象类的特性 抽象类:是子类通用特性的集合 接口:是抽象方法的集合l 从某种意义上说抽象类包含了接口的所有功能。但是通过实现接口可以实现多继承

什么时候用抽象类和接口 1.如果一些方法必须提供默认的实现,就必须用抽象类,比如在dao层,每个类都有增删查改这几个操作,我们可以把这些操作写在抽象类里,并让抽象类提供默认的实现。 否则的话用接口 2.假如要实现多继承,则必须要用接口,java不支持多继承但是可以通过实现多个接口来解决 3.如果基本功能在不断改变,那么就用抽象类。如果不断改变基本功能并且使用接口,子类就必须不停的更改 03.抽象类是否有构造方法 抽象类有构造方法只是抽象类不能够实例化 4.Final finally finalize()方法的区别 5.Sleep()和wait()的区别 ①这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 ②锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS 分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。 Thread.sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。 ③使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,配合synchronized实现等待通信机制,而sleep可以在任何地方使用。 synchronized(x){ x.notify() //或者wait() }

javaweb知识点总结

javaweb知识点总结 篇一:javaweb期末复习知识点整理 1、 Web应用概述 1. URL与URI URL: 统一资源定位器 URI:统一资源定位符 2. 常见HTML标签 3. 表单的处理 4. 静态文档与动态文档的概念:静态文档是一种以文件的形式存放在服务器端的文档,客户发出对该文档的请求,服务器返回这个文档。动态文档是指文档的内容可根据需要动态生成,又可分为服务器端动态文档和客户端动态文档技术。 5. Servlet概念:服务器端小程序,是使用ServletAPI 以及相关类编写的java程序,主要用来扩展web服务器的功能。 6. 处理404错误:查看给定的路径名是否正确,查看Servlet类文件是否在classes目录下,查看文件内容是否正确,查看tomcat是否启动 2、 Servlet技术模型 1. Servlet的API:包,包 Servlet接口及方法 :

1) public void init(ServletConfig config):完成Servlet初始化并准备提供服务。容器传给该方法一个ServletConfig类型的参数。 2)public void service(ServletRequest req,ServletResponse res)throw ServletException,IOException:对每个客户请求容器调用一次该方法,它允许Servlet为请求提供响应。 3) public void destroy()该方法由容器调用,指示Servlet清除本身,释放请求的资源并准备结束服务。 4) public ServletConfig getServletConfig()返回关于Servlet的配置信息,如传递给init()方法的参数。 5) public String getServletInfo()返回关于Servlet 的信息,如作者,版本及版权信息。 ServleConfig接口作用及方法 HttpServlet类 :新的service方法,doGet,doPost HttpServletRequest接口及常用方法 HttpServletResponse接口及常用方法 2. Servlet的开发步骤 编写一个Servlet类 编译 部署 (1)在tomcat的虚拟目录下,创建Web目录

java基础知识练习题

Java基础测试题 一、选择题(每题2分) 1、在JAVA编程中,Java编译器会将java程序转换为()。 A. 字节码; B. 可执行代码; C. 机器代码; D. 以上所有选项都不正确。 2、下列那些不是合法的标识符?() A. Tel_num B. 8ABc C. Emp_1 D. b123.6 E. NULL F. Hello World 3、以下字符常量中不合法的是( )。 A. '|' B. '\'' C."\n" D.'我' 4、下列语句编译没有错误的是:() A. float a=1.5; B.byte a=129; C.byte a=5; D.byte a=(byte)200; 5、java中int数据类型在内存中表示为() A. 2个字节 B.4个字节 C. 由程序员指定 D. 以上都不正确 6、下列程序段执行后t5的结果是( )。 int t1 = 9, t2 = 11, t3=8; int t4,t5; t4 = t1 > t2 ? t1 : t2+ t1; t5 = t4 > t3 ? t4 : t3; A. 8 B.20 C.11 D.9 7、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A. 0 B. 4 C. 8 D.–4 8、设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( ) A. a!=b & c%d < a B.a++ = =a+b+c+d C.++a*b--+d D.a+b>=c+d 9、以下代码段执行后的输出结果为() int x=3; int y=10; System.out.println(y%x); A.0 B.1 C.2 D.3 10、下列语句序列执行后,k 的值是( )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A. 31 B. 32 C. 2 D.33 11、假定有变量定义: int k=7,x=12; 则能使值为3的表达式是()。 A. x%=(k%=5) B.x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5) 12、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()。 A. 把x和y按从大到小排列 B. 把x和y按从小到大排列

Java期末知识点整理总结

Java期末知识点整理总结 计科2班苏锐师编号47 学号201330551464 第一章 Java语言概述 1. Java语言发展历史和现状及前景 2. Java语言的特点: 简单、面向对象、分布式、健壮性、结构中立、 安全性、可移植、解释的、高性能、多线程、多态性 3. Java虚拟机概念(JVM),Java程序的执行过程 4. Java应用程序分类:Application和Applet 5. Java程序的开发环境:JDK,IDE 第二章 Java数据类型及其运算 1. 标识符与保留字 1.2 标识符命名语法规则与Java推荐的标识符命名规则 1.3 Java中的关键字 2. 数据类型byte, short, int long, char, float, double, boolean 注意点:Java中所有数据类型是确定的,与平台无关,没有sizeof操作,其中特别注意char 类型是2字节Unicode编码,与C++ 不同;知道基本类型都有对应的默认值。 整型数的十进制、八进制、十六进制值的表示。 实型数的十进制、十六进制与科学计数法表示,注意实型常量默认类型为double型。 3. 运算符与表达式算术运算符: + - * / % ++ -- 关系运算符:> >= < <= == != 逻辑运算符:&& || !& | 注意短路计算与非短路计算的差别 位运算符: >> << >>> & | ^ ~ 要认识异或(^)与按位取反(~)运算符 赋值运算符: += -= *= /= %= &= |= ^= <<= >>= >>>= 要注意赋值运算符中包含了强制转换: 若: int k = 1; k += 44.232D; 则相当于: k = (int) ( k + 44.232D); 条件运算符:exp ?stat1 :stat2 要注意stat1与stat2要求类型相兼容且不能为void类型。运算符的优先级:算术运算 > 关系运算> 逻辑运算

java基础知识详细整理(图文并茂深入浅出)

JSE第一部分 分享者:张振羽 2017.6.30

1.什么是 JDK API (1) Application Programming Interface ,应用程序编程接口 (2) 是一些预先定义的函数,开发人员可提供直接调用的功能。 2.JDK包结构 便于维护,按照功能划分,不同功能的累划分在不同功能的包中,常用的包如下表: 3.字符串的基本操作 3.1 String 及其API

3.1.1 String (1) String是不可变对象 (2) https://www.360docs.net/doc/fc2876024.html,ng.String使用了final修饰,不能被继承。 (3)字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中 (4) 任何一个字符对应2个字节的长度,1个字节 = 8位二进制。 3.1.2 String s=new String (“abc”) (1) 众所周知,答案是:创建两个对象 (2) why?举例子: 分析步骤: a) 栈中开辟一块空间存放引用str1(地址信息); b) String池中有一块空间,存放String常量"abc"; c) 引用str1指向池中String常量"abc"; d) str1所指代的地址即常量"abc"所在地址,输出为true; 结论:创建了一个引用对象str1

分析步骤: 1) 栈中开辟一块空间存放引用str3; 2) 堆中开辟一块空间存放一个新建的String对象"abc"; 3) 引用str3指向堆中的新建的String对象"abc"; 4) str3所指代的对象地址为堆中地址,而常量"abc"地址在池中,输出false; 3.2 StringBuilder常见API

Java基础知识整理教学教材

Java知识点总结 1环境搭建与开发 1.1 环境变量 JA V A_HOME:Java的安装目录; CLASSPATH:指定一个路径列表,用于搜索Java在编译或运行时需要用到的类(.class文件); PATH:指定一个路径列表,用于搜索可执行文件。 1.2 Java SDK应用 编译:Javac 类名.class; 运行:Java 类名; 打包:jar cf test.jar test (把当前目录下的test目录下的所有文件压缩到test.jar文件中)。 2变量与常量 Java中的常量用保留字final来实现。 变量:局部变量(local variable)、实例变量(instance variable)、类变量(class variable);任何变量在使用前都必须初始化,局部变量必须显示初始化,实例变量在类的构造方法被调用时初始化(分配默认值),类变量在类被加载时被初始化。 3标识符 3.1 命名 在Java语言中,标识符的定义规则是以字母、下划线、美元符开始,后面可以跟字母、下划线、美元符、数字。 因为Java语言使用Unicode字符集,所以对字母不仅限于英文,还可以是日文、韩文、阿拉伯文、中文等。 区分大小写,没有字数限制。

3.2 关键字 3.2.1static static方法中不能有this和super关键字(static方法不是“面向对象”的,而是“面向类”的)。 static方法中只能访问所属类的static方法和变量。 static数据成员的初始化:在第一次生成该类的对象时初始化。 3.2.2final 1)final数据 a)static final ●更加典型的定义方式是public static final; ●占用一段不能改变的存储空间; ●代表编译时常量,即在编译器就能知道其值(如果只声明为final或 者static,是在运行时才知道值)。 ●全部用大写字母命名,单词之间用下划线隔开。 b)final数据与final引用 ●final数据的值不能被改变; ●final引用是指无法将其指向一个新的对象(数组也是一种引用),对 象本身的值是可以改变的。 c)空白final(声明为final却未赋初始值) ●可以做到根据对象有所不同,又保持恒定不变的特性; ●必须保证使用前已经初始化:在定义处赋值或者在构造器中赋值。 2)final参数 ●无法在方法中更改引用所指向的对象。 3)final方法 ●禁止覆盖,防止任何继承类修改它的定义; ●private方法都是final的,因此private方法无法覆盖。 4)final类 ●不允许继承该类; ●final类中的所有方法都隐式指定为final的。

java各知识点详细总结

基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。 4,该技术什么时候用?。 一:概述: 1991 年公司的等人开始开发名称为的语言,希望用于控制嵌入在有线电视交换盒、等的微处理器; 1994年将语言更名为; 的三种技术架构: :,开发企业环境下的应用程序,主要针对程序开发; :,完成桌面应用程序的开发,是其它两者的基础; :,开发电子消费产品和嵌入式设备,如手机中的程序; 1,:,的开发和运行环境,的开发工具和。 2,:,程序的运行环境,运行的所需的类库(虚拟机)。 3,配置环境变量:让\目录下的工具,可以在任意目录下运行,原因是,将该工具

所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:安装路径%\\ \ 2):临时配置方式::\ \\\ 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去中设置的路径下找。 的配置: 1):永久配置方式::\:\ 2):临时配置方式::\:\ 注意:在定义环境变量时,需要注意的情况 如果没有定义环境变量,启动后,会在当前目录下查找要运行的类文件; 如果指定了,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,命令和命令做什么事情呢? 要知道是分两部分的:一个是编译,一个是运行。 :负责的是编译的部分,当执行时,会启动的编译器程序。对指定扩展名的文件进

Java学习知识点情况总结

JAVA知识点总结 1.JAVA的特点: ○1简单易用、完全面向对象; ○2与平台无关性、可扩展性强; ○3可移植性高、支持分布式编程; ○4健壮、安全可靠并性能优异; ○5支持多线程开发技术; ○6支持动态开发。 2.JVM:Java虚拟机(JVM是Java实现跨平台的基础)。 Java的源程序(*.java)编译(命令:java+文件名.java)Java字节码(*.class编译时自动形成,与源程序名一致) 运行(命令:java+源程序的文件名)JVM(Windows、Linux) 开发工具,Javac及基础核心类 JDK 运行环境,Java及基础核心类 3.编写第一个Java程序: Java源文件扩展名为:”.java” 一个源文件中最好只有一个java类,但是可以包含多个类 public修饰的类,文件名与类名必须一致(包括大小写) 被运行的类中需要有一个方法: public static void main(String[ ] args){} 一个源文件中最多有一个public修饰的类

例如:public class Test{ public static void main(String args[]){ System.out.println(“这个编写的第一个java程序!!!”); } } 在运行程序之前先配置环境变量: path变量值为:JDK安装目录下\bin; classpath变量值为:JDK安装目录下\lib; 或 .;JDK安装目录下\lib\tools.jar 在dos命令窗口中输入以下命令进行运行: 编译命令:javac Test.java 运行命令:java Test 生成文档命令:javadoc Test.java 4.Java编程规范 A、命名规定 包:包名应该是小写的名词。 如:package shipping.objects 类:类名应该是名词,大小写混合,每个单词的首字母大写。 如:class AccountBook 接口:接口名的大小写应该与类名一样。 如:interface Account 方法:方法名应该动词,大小写混合,首字母小写。每个方法名中,以大写字母区分单词。限制使用下划线。

Java知识总结完整版

第1章 Java概述 Java语言的特特点 一种面向对象的语言;一种平台无关的语言;一种健壮的语言,吸收了C/C++的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等) Java的两种核心机制 Java虚拟机(Java Virtual Machine) 垃圾回收机制(Garbage Collection) 源程序(*.java文件)→Java编译器→字节码(*.class文件)→类装载器→字节码校验器→解释器→操作系统平台 一次编译,随处运行 Java是一种解释型语言 JDK(Java Development Kit)软件开发工具包 JRE(Java Runtime Environment)运行时环境 开发需要JDK;用户只需JRE PATH:WINDOWS系统执行命令时要搜寻的路径(如javac.exe,java.exe)CLASSPATH:Java在编译和运行时要找的class所在路径(“.”代表当前路径) java:运行java程序 javac:编译java程序

java –version 一个源文件最多只能有一个public类,其他类数量不限,源文件名必须与public 类名一致 Java应用程序的执行入口时main()方法:public static void main(String[] args){…} Java语言中严格区分大小写 编译后,每一个类都对应一个class文件 第2章基础语法 标示符由字母、下划线”_”、美元符”$”或数字组成 标示符应以字母、下划线、美元符开头 Java标示符对大小写敏感,长度无限制,注意“见名知意”且不能与Java语言关键字重名 goto和const虽然未使用,但也被作为Java的关键字保留

相关文档
最新文档