文档库 最新最全的文档下载
当前位置:文档库 › JAVA复习知识点

JAVA复习知识点

JAVA复习知识点
JAVA复习知识点

JA V A复习----知识点

1、JA V A2三大平台:JA V A ME(嵌入式应用) JA V A SE(桌面应用)JA V A EE(企业应用)

2、JA V A具有多方面优势其特点:1)平台无关性2)完全面向对象和简单性3)可靠性4)

安全性5)多线程6)直接支持可分布式的网络应用

3、高级语言通常将程序编译成可执行文件(*.exe),再由操作系统执行;与此方式不同,JA V A

源程序(*.java)经编译生成的是一种中间代码,称为字节码文件(*.class),它由Java 虚拟机解释执行,因而与操作平台无关。

4、JA V A不支持类似C语言的面向过程设计,不支持类似C++语言的全程变量,goto语句,

宏定义,全局函数等语法规则,不支持结构,联合和指针等数据类型。JA V A语言通过引用模型实现了指针的功能,通过类实现了结构类型。

5、JA V A不支持多重继承,友元类和运算符重载,通过“单重继承+接口“方式实现了多重

继承功能。

6、JA V A采用域管理方式的安全模型,无论是本地代码还是远程代码,都可以通过配置策

略设定可访问的资源域。

7、JDBC定义了JA V A应用程序与关系数据库连接的规范。

8、JA V A 应用程序有两种形式:Application和Applet

9、一个JA V A应用程序就是多个类的集合,类由关键字class声明,类中包含成员变量和成

员方法。

10、JA V A虚拟机执行的应用程序具有以下3个典型特点:1)动态性2)异常处理3)多线程

11、javadoc.exe文档生成器

12、JA V A源程序文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class),再由解释器java.exe执行。

13、对于Applet应用程序,也是先将源文件(*.java)编译生成字节码文件(*.class),再将字节码文件作为对象嵌入到超文本文件(*.html)中。

14、如果要使用其他包中的类,必须用import语句导入。再源程序文件中package语句只能写一次,且必须写在程序的第一行,即写在类声明之前。

15、声明为public的类或接口只能有一个,且文件名必须与该类名相同。

16、一个JA V A源程序文件(.java)中可以声明多个类,其中只能有一个类声明为public,并且该类名必须与文件名相同。

17、/** 文档注释*/,用于从源代码自动生成文档,执行javadoc命令,可根据代码中的内容生成WEB网页。

18、java语言的引用数据类型包括数组、类(class)、和接口(interface)。

19、十六进制数:以0x或0X为前缀,其后跟多个0-9之间的数字或a-f、A-F之间的字母。

20、浮点数默认类型为double,float浮点数后缀为F(或f).

21、布尔类型(boolean)表示逻辑量,也称为逻辑型,只有true和false两个取值。

22、字符类型(char)表示Unicode字符,一般字符占用2字节。

23、java语言提供一种特殊的变量,只能进行一次赋值,称为最终变量,采用关键字final 声明。

24、java中,使用继承性、多态性等技术,实现软件重用。

25、赋值运算符为“=”,关系运算符中判断是否相等用“==”。

26、条件运算符“?:”是三目运算,由3个操作数参与运算。

27、float =0.0 ; //语法错误,0.0默认double类型,赋值不相容。0.0f

28、switch语句中,<表达式>和<常量表达式>的数据类型必须是整数或字符类型,switch 语句的逻辑分析。

29、public String concat(String str) //将指定字符串联到此字符串的结尾。

30、使用new运算符申请数组所需要内存单元的语法格式:数组变量=new数据类型 [长度]。

31、JA V A语言自动为每个数组变量提供length属性表示数组占用的存储单元个数。使用点运算符或得数组长度的格式如下:数组变量.length。

32、sizeof不是java的关键字,abstract是;False是合法的标识符

33、如果数组元素又是数组,则成为多维数组(multidimensional),常用的是二维数组,声明多维数组时,需要标明数组的维数。

34、Applet继承自java.awt.Applet或javax.swing.JApplet

35、java 中允许使用ArrayList

36、V ector类可以实现可增长的对象数组。

37、Applet类的getImage()方法读取指定URL的图像文件,返回Image对象。

38、java不支持C/C++中的struct,一个类就是一个struct..

39、java类的结构有类声明(类头)和类体组成。

40、重载的多个方法为一种功能提供多种实现。重载方法之间必须以不同的参数类型、参数个数、参数的次序来区别。

41、类的构造方法(constructor)用于创建类的一个实例并对实例成员变量进行初始化。构造方法与类中成员方法的不同之处是:构造方法与类同名;构造方法通过new运算符调用。

42、一个类可声明多个构造方法对成员变量进行不同需求的初始化,构造方法不需要写返回值类型,因为它返回的就是该类的一实例。

43、当以个类声明了构造方法,Java不再提供默认构造方法。

44、this用于指代调用成员方法的当前对象自身。

45、对象运算符instanceof判断一个对象所引用的实例是否属于指定类及其子类,运算结果是boolean类型。

46、类有2种访问控制权限:公有和缺省,公有权限使用public修饰符,可被类访问;缺省权限没有修饰符,可被当前包(当前文件夹)中的类访问。

47、类的成员的4种访问控制权限

48、public等权限修饰符不能用于修饰方法体重的局部变量。

49、java类中的成员分为两种:实例成员和静态成员。使用关键字static声明的成员称为静态成员(也称类成员),否则为实例成员。实例成员属于对象,只有创建了实例,才能通过对象访问实例成员变量和调用实例成员方法,本章前面讨论的成员变量和成员方法都是实例成员。

50、静态通过类访问,非静态通过对象访问。

51、java是类的单继承的,一个类只能有一个父类(可以有多个子类),不能有多个父类。子类不能继承父类的构造方法。

52、Java约定该树的根是Object类。具有继承关系的、相距多个层次的类之间称为祖先(ancestor)类与后代(descendant)类,父类也称为直接祖先关系。

53、子类不能访问父类的私有成员(private)。

54、子类对象即是父类对象,父类对象不是子类对象。父类对象能够引用子类实例,反之不行。

55、方法重载都是编译时多态。

56、从类的设计者角度看,类的继承性和多态性使类易于扩充功能,增强了软件的可维护性。

57、使用关键字abstract声明的类称为抽象类,使用abstract声明的成员方法称为抽象方法。

类的变量不能用abstract声明。

58、一个非抽象类必须实现从父类继承来的所有抽象方法,抽象类不能被实例化,不能创建抽象类的实例。

59、构造方法BufferedReader(Reader in, int sz)中的参数sz的含义。

60、最终类不能被继承,即不能声明最终类的子类。

61、接口(interface)是一组抽象方法、常量和内嵌类型的集合。

62、接口中的成员方法都是抽象的实例成员方法,默认修饰符为public abstract,不能声明为static。

63、接口的继承性事多继承,即一个接口可以有多个父接口。

64、一个容器之中可以放置其他容器,使用多层容器可以表达复杂的布局。

65、容器有窗口(window)和面板(panel)两种,对应有window窗口类和panel面板类,它们都是Containe容器的子类。

66、TextField中的setEchoChar(char c)方法的作用

67、java.awt中的布局管理类主要有:FlowLayout、BorderLayout和GridLayout,GardLayout. Window窗口类的默认布局是BorderLayout,Panel面板类的默认布局是FlowLayout。如果一个容器需要改变其默认布局管理器,可以调用Container容器类的setLayout()方法。

68、java.awt.Front类表示字体,一种字体由字体名、字形、字号等属性组成。

69、JCcomponent继承自AWT的容器类java.awt.Container,所以Swing组件都是容器。

70、文本编辑组件主要有:JTextField(单行)、JPasswordField和JTextArea(多行)。JPasswordField是JTextField的子类。

71、线程是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分配的基本单位。线程是线程调试管理器的调度对象。

72、线程状态包括5种:新建、继续、运行、等待、终止。

73、两种创建线程方式的比较:1、继承线程Thread类,2、实现Runnable接口

74、只有处于新建态的线程对象才能调用start()方法启动,一个线程只能启动一次,如果一个已启动的线程对象再次调用start()方法;则抛出异常。

75、线程睡眠sleep()方法使当前线程停止执行若干毫秒,线程由运行态进入正等待态,睡眠时间到时线程可再次进入运行状态。sleep()方法声明如下参数millis指定睡眠毫秒数。

public static void sleep(long millis)throws InterruptedExcepion

76、Java提供10个等级的线程优先级,分别用1-10表示,优先级最低为1,最高为10,默认值是5。

77、setPriority()方法可改变线程对象的优先级。

78、Java提供关键字synchronized用于声明一段程序为临界区,声明有两种方法:声明一条语句、声明一个方法。

79、https://www.wendangku.net/doc/b44010533.html,ng.Object类提供wait()、notify()和notifyAll()方法实现线程间通信。

80、URL(统一资源定位符),是专为标示Internet上资源位置而设的一种编址方式。

81、用户的网络应用程序,使用1024以上的端口。

82、Applet是可以嵌入W eb页的最小应用,又称为最小应用程序,它不能独立运行,必须窃入到HMTL文档中,由浏览器解释执行。Applet体现了Java的切入式特性。

83、HMTL文档显示的是静态Web页面。

84、Applet类是Panel的子类。一个类声明集成Applet类或JApplet类,该类就是一个能够嵌入到Web页中运行的Applet应用程序。一个Applet应用程序必须声明为public,其中没有构造方法、解析方法和main()方法。

85、Applet容器的绘图方法是paint()方法,浏览器运行时会自动执行paint()方法绘图。

86、一个Applet对象经历由初始态、运行态、停止态到消亡态的一个生命周期。Applet类声明了与生命周期相关的4个方法:init()、start()、stop()、和destroy()。这些方法由浏览器自动调用执行。

87、abstract 不能修饰类的属性。

88、Java支持流技术,Java为多种场合提供了不同的流类。按照流的方向性,流可分为输入流和输出流两种。

89、字节流包括字节输入流和字节输出流,这两大类都是由多个类组成的,InputStream类及其子类实现多种字节输入流,OutputSream类及其子类实现多种字节输出流。

90、System.err以PrintStream类的对象实现标准错误输出功能。

91、对象流分为对象输入流ObjectInputStream类和对象输出流ObjectOutputStream类。

92、Reader和Writer类书字符输入/输出流的抽象类。

93、URL制定在Internet上的某个信息资源的地址,包含协议、主机、端口及文件名。

94、ArrayList数组列表类使用一堆数组实现List.

95、LinkedList链表类使用循环双链表实现List.

96、小应用程序生命周期中,哪两个方法只能执行一次,哪两个方法可以被反复执行多次?

答:只能执行一次init(),destroy(); 可以被反复执行stop(),start()。

97、数据类型的两种转换:强制转换和自动转换。

98、String s; System.out.println(s);

答:输出字符串s.

99、protected String toString(){ }

100、哪个方法能唤醒等待队列中其他线程,使它们进行可运行状态。

答:notify().

101、“FileInputStream、ObjectInputStream、CharInputStream、ZipInputStream”这些类中,哪一个不是InputStream的子类

答:CharInputStream不是。

102、JFrame、JButton和JApplet这些常用的swing组件都属于容器。

103、简答:方法调用的参数传递原则:

与赋值相同,即实际参数向形式参数赋值。传递方式因形式参数的数据类而不同,若是基本数据类型,则传递值;若是引用数据类型,则传递引用。在方法体内,如果修改引用类型的形式参数,同时改变对应的实际参数。

104、简答:关键字this 与super 的用法

this:代表了当前对象的一个引用,通过this的使用,可以方便地设访问当前对象的属性值,也可以用在构造方法的重载中。

super:代表当前对象的直接父类,是当前对象的直接父类的引用,一般用于:

(1)访问直接父类中被隐藏的域和被子类覆盖的方法。

(2)调用直接父类的构造方法对父类中的成员进行初始化。

105、编程:写一个Application程序,输出“Hello World!”

public class HelloWorld

{

public static void main(String args[])

{

System.out.println("Hello World!");

}

}

106、编程:写一个Applet程序,输出“Hello World!”import java.awt.Graphics;

import java.applet.Applet;

public class HelloAppletWorld extends Applet{

public void init(){

resize(400,200);

}

public void paint(Graphics g){

g.drawString("Hello world!",10,20);

}

}

107、编程:判断某年是否为闰年

import java.util.Scanner;

public class Runyear{

public static void main(String args[]){

Scanner scanner=new Scanner(System.in);

System.out.println("请输入年份");

int year=scanner.nextInt();

if(year%4==0&&year%100!=0||year%400==0)

System.out.println(year+"为闰年");

else

System.out.println(year+"不为闰年");

}

}

108、编程:输出Fibonacci数列

public class Fib_while

{

public static void main(String args[])

{

final int MAX = 20;

int i=0,j=1,count=0;

while (count

{

System.out.print(" "+i+" "+j);

i = i + j;

j = i + j;

count += 2;

}

System.out.println();

}

}

109、编程:用java lang math类生成10个0-99之间的随机整数,求最大最小值。import https://www.wendangku.net/doc/b44010533.html,ng.*;

public class RandomCompare{

public static void main(String args[])

{

int num;

int max=0,min=100;

System.out.println("产生0~99随机数:");

for(int i=0;i<10;i++)

{

num=(int)(Math.random()*100);

System.out.println(num+"\t");

if(num>=max)

max=num;

if(num<=min)

min=num;

}

System.out.println("max="+max+"\t"+"min="+min);

}

}

110、编程:1+1/2!+1/3!+``````

public class JieCeng{

public static void main(String args[])

{ double s=0,n=1;

for(int i=1;i<20;i++)

{

n=n*(1.0/i);

s=s+n;

System.out.println(s);

}

}

}111、编程:把一个程序改成递归形式。

112、编程:对一数组赋值,然后逆序输出。

public class NXoutput{

public static void main(String args[])

{

int[] a={10,30,22,43,56,33,66,57,85,3};

System.out.print("数组为");

for(int i=0;i<10;i++)

{

System.out.print(a[i]+" ");

}

System.out.println();

System.out.print("逆序输出数组为:");

for(int j=9;j>=0;j--)

{

System.out.print(a[j]+" ");

}

}

}113、编程:写一个矩形类(类名为:Rect),包含:①两个protected属性:宽、高;②两个构造方法:一个带两个参数,一个不带参数;③两个方法:求面积area()、求周长perimeter() public class Rect {

protected int width,heigh;

fuxi(int w,int h) {

width=w;

heigh=h;

}

fuxi()

{

}

int area(){

return width*heigh;

}

int perimeter(){

return 2*(width+heigh);

}

}

114、编程:①创建一个自定义的框架Frame对象作为程序的主窗口;②设置窗口标题;③窗口位置(200,200)、窗口大小(240,150);④设置流布局管理;⑤添加标签、文本行及按钮组件;⑥事件响应:点击“Ok”按钮,能实现把第一个文本行中的信息显示在第二个文本行。import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class no114 extends JFrame implements ActionListener{

private JLabel label1,label2;

private JButton bt;

private JTextField input,output;

public fuxi() {

super("我的Java图形用户界面");

label1=new JLabel("input:");

label2=new JLabel("output:");

bt=new JButton("copy");

input=new JTextField(15);

output=new JTextField(15);

bt.addActionListener(this);

setLayout(new FlowLayout());

Container fm=getContentPane();

setSize(240,150);

setLocation(200, 200);

fm.add(label1);

fm.add(input);

fm.add(label2);

fm.add(output);

fm.add(bt);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==bt)

output.setText(input.getText());

}

public static void main(String args[]){

fuxi j=new fuxi();

j.show();

}

}

115、编程:由键盘输入一个整数,求出该数所有的因子,如输入12,则输出12的所有因子为1、2、3、4、6、12

import java.util.*;

public class YinZi

{

public static void main(String args[])

{

Scanner scanner=new Scanner(System.in);

int num=scanner.nextInt();

for(int i=1;i<=num;i++)

{

if(num%i==0)

System.out.print(i+" ");

}

}

}116、编程:写一个程序,将[1,1000]范围内能同时被3、5整除的数输出。

public class MMM

{

public static void main(String args[])

{

for(int i=1;i<1000;i++)

{

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

System.out.print(i+" ");

}

System.out.println();

}

}

117、编程:写一个字符界面的应用程序,从键盘接收用户输入的5个整数,输出其中的最大、最小值。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class no117 extends JFrame implements ActionListener{

private JTextField jt1,jt2,jt3,jt4,jt5,result;

private JButton bt;

public fuxi()

{

super("123");

Container fm=getContentPane();

jt1=new JTextField(3);

jt2=new JTextField(3);

jt3=new JTextField(3);

jt4=new JTextField(3);

jt5=new JTextField(3);

result=new JTextField(10);

bt=new JButton("result");

bt.addActionListener(this);

setLayout(new FlowLayout());

setSize(400,400);

fm.add(jt1);

fm.add(jt2);

fm.add(jt3);

fm.add(jt4);

fm.add(jt5);

fm.add(bt);

fm.add(result);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==bt)

{

int max,min,n1,n2,n3,n4,n5;

n1=Integer.parseInt(jt1.getText());

n2=Integer.parseInt(jt2.getText());

n3=Integer.parseInt(jt3.getText());

n4=Integer.parseInt(jt4.getText());

n5=Integer.parseInt(jt5.getText());

max=Math.max(Math.max(Math.max(Math.max(n1, n2),n3),n4),n5);

min=Math.min(Math.min(Math.min(Math.min(n1, n2),n3),n4),n5);

result.setText("max="+max+" min="+min);

}

}

public static void main(String args[]){

fuxi j=new fuxi();

j.show();

}

}

118、编程:用字符输入输出流,将一个文本文件从一个文件夹拷贝到另一个文件夹。import java.io.*;

public class fuxi {

public static void main (String args[])throws IOException {

FileReader reader = new FileReader(args[0]);

FileWriter writer = new FileWriter(args[1]);

int c = -1;

while ((c = reader.read()) != -1)

writer.write(c);

reader.close();

writer.close();

System.out.println("拷贝成功!");

}

}

119、编程:由键盘输入一个姓名,输出“姓名Welcome you!”

i mport java.io.*;

public class StringIO{

public static void main(String args[]){

String sin="";

System.out.print("Please input your name:");

try{

BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

sin=in.readLine();

}

catch(IOException e){

System.out.print(e.toString());

}

System.out.println("Your name is:"+sin);

System.out.println("Welcome You!");

}

}

120、熟悉各种排序方法的特征。

java知识点总结

https://www.wendangku.net/doc/b44010533.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编程基础知识点汇总及习题集》--答案

目录 第一章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基础知识点总结

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基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用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面向对象知识点总结

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入门 (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的知识点归纳总结

1. 基本数据类型 整形: byte 1 个字节 short 2 个字节 int 4个字节 long 8个字节 字符: char 2个字节 浮点数: float 4个字节 double 8个字节 布尔: boolean 1个字节 2.java 7 新增二进制整数 以0b或者0B开头 3.java中字符时16位的Unicode编码方式,格式是'\uXXXX',其中xxxx代表一个十六进制整数 4.java中规定了正无穷大、负无穷大和零 正无穷大= 一个正数除以0 负无穷大= 一个负数除以零 0.0 除以0.0 或者对一个负数开方得到一个非数 5. 在java中布尔类型只能是true和false 6. 在java中没有多维数组 动力节点

看似像C语言中的多维数组不是真正的数组,比如 a[3][4] , a[0] a[1] a[2] 是真实存在的,装的是地址,和 c语言中动态分配为的数组一样 int [][] b = new int[3][4] 7. Java中带包的编译方法 javac -d . Hello.java 会在当前目录下生成目录树 运行 java 包名字.类名字 8. Java多态中的对象的filed 不具有多态性,如父类对象 = new 子类(),对象.field 是调用的父类的,即使子类中覆盖了该字段。 9. instanceof 运算符 格式:引用变量名 instanceof 类名(或者接口)他用于判断前面的对象是否是后面对象的类,子类、实 现类的实例,是返回true,否者返回false 10. Java 中基本数据类型和对应封装类之间的转化 int a = 1; Integer A = new Integer(a); a = A.intValue(); 其他的类型也是这样的。 11.单例(singleton)类例子 复制代码代码如下: class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance() { 动力节点

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知识点总结

第一章面向对象程序设计 一、识记知识 1.结构化程序设计思想、特点、基本过程 思想:⑴自顶向下、逐步求精; ⑵模块化; ⑶语句结构化。 特点:程序设计= 数据结构+ 算法 程序内容= 过程+ 过程调用 基本过程:软件开发的基本过程: 1)需求分析、2)系统分析、3)系统实现、4)系统测试、5)系统维护 结构化贯穿于每个过程中时,其基本过程:分解和组装 2.面向对象程序设计基本思想、特点 基本思想:以对象的观点描述分析现实世界中的问题。从普通人认识世界的观点出发,把事物归类、综合,提取共性并加以描述。 特征:1)所有待处理的内容都表示成对象; 2)对象之间依靠相互发送消息或响应消息实现通信; 3)每个对象有自己的唯一标识,以便区别属于同一个类的不同对象; 4)对象一定属于某个类,这个对象又称为所属类的一个实例; 5)类是将具有共同属性的对象进行抽象的结果,他可以具有层次关系,即一个类既可以通过继承其他类而来,又可以被其他类继承。 通过公式描述:面向对象=类+对象+继承+消息+通信 3.基本概念、面向对象的4个特性 概念: 1)抽象:从许多食物中,舍弃个别的,非本质的属性,抽取出共同的、本质的属性过程,它是形成概念的不要手段。 2)封装:指将显示世界中的某个客体的属性与行为聚集在一个逻辑单元内部的机制。 3)对象:用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位。 4)类:是一组具有相同属性特征的对象的抽象描述,是面向对象程序的有一个核心概念。(具体地说,类是面向对象程序的唯一构造单位,是抽象数据类型的具体实现,是对象的生成模板) 5)消息:是一个对象要求另一个对象实施某项操作的请求。(是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格的说明) 6)继承:表达了一种对象类的相交关系。是类之间的一种常见关系,为共享数据和操作提供了一种良好的机制。 7)多态:不同的类对象收到同一个消息可以产生完全不同的响应效果。 特性:抽象性、多态性、封装性、继承性 4.消息 概念:是一个对象要求另一个对象实施某项操作的请求。是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格的说明。

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后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目

JavaWeb知识点

1、静态Web和动态Web的区别? 静态Web与动态Web最本质的区别是静态Web是无法进行数据库操作,而动态Web是可以进行数据库操作的。 动态Web的最大特点就是具有交互性,所谓交互性就是服务器端会自动根据用户请求的不同而显示不同的结果。 2、说一说你了解的动态Web技术有哪些? CGI、PHP、ASP、https://www.wendangku.net/doc/b44010533.html, JSP 3、什么是Servlet? Servlet是运行于服务器端的,按照其自身规范编写的Java应用程序。 1、Servlet是用Java语言编写的,它是一个Java类。因而Servelet遵守所有Java语 言的语法规则,并且它可以调用一般Java程序可以调用的JDK类库。 2、Servlet是在服务器端运行的。它编译后的".class"文件被服务器端调用和执行。 Web服务器使用该class文件去处理浏览器请求,并将处理的结果返回到客户端。 3、由于Servlet特殊的应用特点,它有自身特殊的规则。一般来说,它必须调用Java Servlet API,必须是对特定类或接口的继承和实现。并且,它必须重写特定的方法去处理客户端请求。 4、Servlet的主要功能有哪些? Servlet的主要功能是用来接受、处理客户端请求,并把处理结果返回到客户端显示。 其过程如下: 1、客户端把请求送到Servlet处理 2、Servlet处理请求。这时Servlet相应的方法被Web服务器调用去处理请求。这个 过程中,Servlet可以和服务器端的其他资源(文件、数据库等)交互。 3、Servlet把请求的结果返回。在这个过程中,Servlet返回的并不仅仅是数据结果, 而是整个HTML文件。 5、Servet的生命周期? 生命周期包括加载(创建)程序、初始化、服务、终止(销毁)、卸载5个部分。 6、谈一谈请求转发和重定向的区别? 7、什么是HTTP协议? HTTP(Hypertext Transfer Protocol)中文“超文本传输协议”,是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议,是Internet上目前使用最广泛的应用层协议,它基于传输层的TCP协议进行通信,HTTP协议是通用的、无状态的协议。 8、HTTP协议的主要特点有哪些? 遵循请求/响应模型、无连接、无状态、简单快速、灵活 9、HTTP协议请求由哪几部分组成? 请求行、消息报头、请求正文 10、HTTP协议响应由哪几部分组成? 状态行、消息报头、响应正文 11、HTTP协议中请求方法的GET和POST的区别?

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班苏锐师编号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各知识点详细总结

基础知识总结 写代码: 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、java发展: 1991 年Sun公司的James Gosling等人开始开发名称为Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; 2、Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 3、JDK:Java Development Kit,java的开发和运行环境,java的开发工具集和jre。 4、JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟 机)。 5、配置环境变量: Path: 操作系统外部命令搜索路径 Classpath: 类文件搜索路径“.”表当前目录 6、javac命令和java命令 要知道java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java 文件进行编译,生成了jvm可以识别的字节码文件,也就是class文件,也就是java的运行程序。 java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行。 一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main方法. 7、虚拟机 当我们在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,可以马上恢复虚拟机到安装软件之前的状态。 8、public class和class ● public class:文件名称和类名称一致,一个*.java文件之中只能够存在一个public class定义。ava 文件之中可以同时存在多个class定义,并且编译之后会形成不同的*.class文件。 第2章java语法基础 1、关键字:某种语言赋予了特殊含义的单词。 保留字:还没有赋予特殊含义,但是准备日后要使用的单词。 2、标示符:就是在程序中自定义的名词。比如类名,变量名,方法名。包含0-9、a-z、$、_ ; 注意:1)数字不可以开头。2)不可以使用关键字。 3、常量:是在程序中不会变化的数据。 4、变量:其实就是内存中的一个存储空间,用于存储数据。 作用:方便运算。因为有些数据不确定,所以确定该数据的名字和存储空间。 特点:变量空间可以重复使用。 什么时候定义变量只要是数据不确定的时候,就定义变量。 变量空间的开辟需要什么要素呢 (1)数据类型。(2)变量名称。(3)变量的初始化值。 变量的作用域和生存期: 变量的作用域:

javaweb期末复习知识点整理

1、Web应用概述 1.URL与URI URL: 统一资源定位器 URI:统一资源定位符 2.常见HTML标签 3.表单的处理 4.静态文档与动态文档的概念:静态文档是一种以文件的形式存放在服务器端的 文档,客户发出对该文档的请求,服务器返回这个文档。动态文档是指文档的 内容可根据需要动态生成,又可分为服务器端动态文档和客户端动态文档技术。 5.Servlet概念:服务器端小程序,是使用ServletAPI以及相关类编写的java程序, 主要用来扩展web服务器的功能。 6.处理404错误:查看给定的路径名是否正确,查看Servlet类文件是否在classes 目录下,查看web.xml文件内容是否正确,查看tomcat是否启动 2、Servlet技术模型 1.Servlet的API:javax.servlet包,javax.servlet.http包 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目录 (2)将编译好的.class文件复制到Web目录的WEB-INF\classes目录 (3)修改配置文件WEB-INF\web.xml (4)启动tomcat 运行

JAVA重点知识总结

CoreJava部分 1简述下java基本数据类型及所占位数,java基本数据类型:4类8种 整数类型:byte(1byte),short(2byte),int(4byte),long(8byte) 浮点类型:float(4byte),double(8byte) 字符类型:char(2byte) 逻辑类型:boolean(false/true1byte) 2说出5个启动时异常 ------RunTimeException ------NullPointerException ------ArrayIndexOutOfBoundsException ------ClassCastException ------NumberFormatException 3HashMap和HashTable的区别: 1HashMap允许空键值对,HashTable不允许 2HashMap不是线程安全的,HashTable是 3HashMap直接实现Map接口,HashTable继承Dictionary类 4.ArrayList,Vector,LinkedList存储性能和区别 它们都实现了List接口 ArrayList和Vector都是基于数组实现的 LinkedList基于双向循环链表(查找效率低,添加删除容易) ArrayList不是线程安全的而Vector是线程安全的,所有速度上ArrayList高于Vector 5.Collection和Collections的区别 Collection是集合类的上级接口,继承与他的接口主要有Set和List Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作。 6List、Map、Set三个接口,存取元素时,各有什么特点? List以特定次序来持有元素,可有重复元素。 Set无法持有重复元素,内部排序 Map保存key-value值,value可多值。 7final,finally,finalize的区别 Final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承Finally是异常处理语句结构的一部分,表示总是执行 Finalize是Object类的一个方法,在垃圾收集时的其他资源回收,例如关闭文件等。8Overload和Override的区别。Overload的方法是否可以改变返回值的类型? 方法的重写Override和重载Overload是Java多态的不同表现。 重写Overriding是父类与子类之间多态的一种表现,方法名,参数列表返回值类型都得与父类的方法一致。 重载Overloading是一种类中多态的一种表现。重载的方法是可以改变返回值类型的。9用一句话总结一下冒泡排序 依次比较相邻的两个数,将小数放在前面,大数放在后面。 10实现线程安全的两种方式 1)synchronized方法:通过在方法声明加入synchronized关键字来声明synchronized方法

相关文档