一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、选择题
1、以下选项中,哪些属于JDK工具?(多选)ABCD
A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具
2、Java属于以下哪种语言?C A、机器语言 B、 汇编语言 C、高级语言
3、下面哪种类型的文件可以在Java虚拟机中运行?D D、.class
4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种? B A、Java文档制作工具 B、Java解释器 C、Java编译器
5、 5、如果jdk的安装路径为:d:jdk,若想在命令窗口中任何当前路径下,都可以直接
使用javac和java命令,需要将环境变量path设置为以下哪个选项?B A.d:jdk;
B.d :jdkin; C.d:jrein; D.d:jre;
三、问答题
1、简述Java的特点。面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、 2、简述JRE与JDK的区别JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运 行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
第二章
小编在这里给大家推荐一个java学习群:818464711,进群找管理可以领取免费系统学习资料,以及每天可以免费去听直播java教学,欢迎小白和进阶中的朋友!
、Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
2、如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行。
3、方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法
冒泡排序:
public class Test03 { public static void main(String[] args) { int[] arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < arr.length - 1; i++) { // 定义内层循环 for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 比较相邻元素 // 下面的三行代码用于交换两个元素 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + ""); // 打印元素和空格 } }
第三章
1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时 候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声 明、在方法中不能使用return语句返回一个值
2、单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。
Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。 5、在Java中,byte类型数据占____1__个字节,short类型数据占__2____个字节,int类型数据占___4___个字节,long类型数据占____8__个字节。
面向对象的三大特征是封装性_、_继承性_____和__多态性____。 2、 在Java中,可以使用关键字__new____来创建类的实例对象。 3、 定义在类中的变量被称为__成员变量____,定义在方法中的变量被称为局部变量______ 4、 面向对象程序设计的重点是_类___的设计,__类____是用来创建对象的模板。 5、 在非静态成员方法中,可以使用关键字_this__访问类的其它非静态成员。 6、 当一个对象被当成垃圾从内存中释放时,它的__finalize()____方法会被自动调用。 7、 被static关键字修饰的成员变量被称为_静态变量_,它可以被该类所有的实例对象共享。 8、 在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为_内部类_____。 9、在Java中,提供了一个_javadoc_____命令,用于将程序中的文档注释提取出来,生成HTML格式 的帮助文档。
10、所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用_private_____关键字来修饰。
第四章:
在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为继承______。 2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_____,否则该类就必须定义成_抽象类_____。 3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_____关键字。 4、一个类可以从其它的类派生出来,派生出来的类称为_子类_____,用于派生的类称为_基类_____或者__父类____。
5、 JDK中定义了大量的异常类,这些类都是_Exception_____类的子类或者间接子类。
6、定义一个Java类时,如果前面加使用_final_____关键字修饰,那么该类不可以被继承。 7、如果子类想使用父类中的成员,可以通过关键字__super____引用父类的成员。
8、在Java语言中,所有的类都直接或间接继承自_Object_____类。 9、异常的捕获通常由try、catch两部分组成,_try_____代码块用来存放可能发生异常,_catch_____ 代码块用 来处理产生的异常。 10、在Java语言中,要想是将一个已编译的类打包成jar文件,可以使用的命令是_jar-cvf_____,要 想在命令行窗口运行jar文件,可以使用的命令是__java-jar___。
1、什么是方法重写? 在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。 2、什么是多态? 多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。 3、抽象类和接口的区别? 在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。 接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。
第六章:
1、在Java中定义了两个类来封装对字符串的操作,它们分别是String_和_StringBuffer____。 2、Java中的操作日期的类有_Date___、_Calendar___、DateFormat____等。 3、在程序中若想取得一个Runtime实例,则可以调用Runtime类的静态方法getRnutime()_____。 4、Math类中用于计算所传递参数平方根的方法是_sqrt()____。 5、Java中专门用于将日期格式化为字符串的类是_DateFormat____。 6、Math类中有两个静态常量PI和E,分别代表数学常量_π___和_e___。
7、Java中的用于产生随机数的类是_Random___,它位于java.util____包中。 8、String类中用于返回字符串字符个数的方法是_length()____。 9、System类中所提供的属性和方法都是_静态___的,想要引用这些属性和方法,直接使用System类调用即可。10、已知 sb 为 StringBuffer 的一个实例,且 sb.toString() 的值为 "abcde ", 则执行sb. reverse()后,sb.toString()的值为_”edcba_”___。
1、String和StringBuffer有什么区别? String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。 2、Date和Calender类有什么区别和联系? Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender类基本取代了Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。 Calendar的getTime()方法,getTime()返回一个表示Calendar时间值的Date对象,同时Calendar有一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的时间值设置给Calendar对象,通过这两个方法就可以完成Date和Calendar对象之间的转换。
I/O
1、Java中的IO流,按照传输数据不同,可分为____和____。 2、在Java中,____类用于操作磁盘中文件和目录,位于____包中。 3、在Java中,___类用来把两个或更多的InputStream输入流对象合并为单个InputStream输入流对象 使用。 4、Java中提供了一个类____,它不但具有读写文件的功能,并且可以随机地从文件的任何位置开始执行读写数据的操作。 5、在Java中,能实现线程间通信的流是____。 6、Java中提供了一个可以在读文件的同时记录行号的类,这个类是____,它是____的直接子类,它通过____和 ____方法设置和获取当前行号。 7、InputStreamReader类是用于将____转换为____。 8、System.out是____类的对象,称为标准输出流,调用System类的____方法可以实现标准输出流的重定向。 9、Java中一个字符占用两个字节,所有字符采用的都是____码表。 10、BufferedWriter的____方法可以写入一个换行符。
第8章 IO(输入输出) 一、填空题 1、 字节流、字符流 2、 File、java.io 3、 SequenceInputStream
4、 RandomAccessFile 5、 管道流 6、 LineNumberReader、BufferedReader、setLineNumber(int)、getLineNumber() 7、 字节流、字符流 8、 PrintStream、setOut(PrintStream out) 9、 Unicode 10、newLine()
1、简述流的概念。 2、Java流被分为字节流、字符流两大流类,两者有什么区别? 3、简要说明管道流。
1、Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在java.io包中。 2、字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。 3、管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个PipedInputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信, PipedOutputStream向管道写入数据,PipedInputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。
GU1、
1、 在Java中,图形用户界面简称______,它的组件包含在______和______这两个包中。 2、 为了避免实现监听器中定义的所有方法,造成代码的臃肿,在JDK中提供了一些______类,这些 类实现了接口所有的方法,但是方法中没有任何代码,属于一种空实现。 3、 在Java中,______类相当于一个抽象的画笔对象,使用它可以在组件上绘制图形。 4、 ______负责监听事件源上发生的事件,并对各种事件做出响应处理。 5、 大部分的Swing组件都是______类的直接或者间接子类,其名称都是在原来AWT组件名称前加 上字母J。 6、 AWT事件有多种多样,大致可以分为______、______、______、______等。 7、 如果点击Frame窗口右上角的关闭按钮能将其关闭,那么这个Frame窗口添加了______监听器, 并实现了监听器的实现了______方法。 8、 对话框可以分为______和______两种。 9、 每一个容器都有一个默认的布局管理器,如果不希望通过布局管理器对容器进行布局,可以调用 容器的______方法将其取消。 10、创建下拉式菜单需要使用三个组件,分别是______、______和______。
1,java.awt、javax.swing 2、 适配器 3、 Graphics 4、 事件监听器 5、 JComponent 6、 窗体事件、键盘事件、鼠标事件、动作事件 7、 WindowListener、windowClosing(WindowEvent e) 8、 模态对话框、非模态对话框 9、 setLayout(null) 10、JMenuBar、JMenu、JMenuItem I1、实现时间监听的步骤
通过实现XxxListener接口或者继承XxxAdapter类实现一个事件监听器类,并对处理监听动作的 方法进行重写 创建事件源对象和事件监听器对象 调用事件源的addXxxLisntener()方法,为事件源注册事件监听器对象
2、awt和swing的区别
AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。 Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。由于在Swing 中没有使用本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。 AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing,也就是通过牺牲速度来实现应用程序的功能。
简述java.awt包中提供了哪些布局管理器。
在java.awt包中提供了五种布局管理器,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、GridLayout(网格布局管理器)、GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)。
简述在事件处理机制中所涉及到的概念
事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。在学习如何使用AWT事件处理机制之前,首先向大家介绍几个比较重要的概念,具体如下所示:
1、事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次操作)。
2、事件源(组件):事件发生的场所,通常就是产生事件的组件。
3、监听器(Listener):负责监听事件源上发生的事件,并对各种事件做出响应处理的对象(对象中包含事件处理器)。
4、事件处理器:监听器对象对接收的事件对象进行相应处理的方法。
TCP协议的特点是 ,即在传输数据前先在 和 建立逻辑连接。
2、在计算机中,端口号是用 字节,也就是16位的二进制数表示,它的取值范围是
。 3、TCP/IP协议被分为四个层,分别是
4、在JDK中,IP地址用 类来表示的,该类提供了许多和 IP地址相关的操作。。
5、使用UDP协议开发网络程序时,需要使用两个类,分别是 和 。
答案:
1、面向连接、客户端、服务器端 2、2、0-65535 3、链路层、网络层、运输层、应用层 4、InetAddress 5、DatagramPacket、DatagramSocket
1、网络通信协议是什么? 2、TCP协议和UDP协议有什么区别? 3、Socket类和ServerSocket类各有什么作用?
1、在Internet中传输数据都需要遵守一定的规则,这种规则通常被称作网络通信协议。网络通信协议对数据传输格式、传输速率、传输步骤等作了统一规定,通信双方必须共同遵守这个规定才能完成数据的交互。到目前为止,网络通信协议已经有很多种,其中TCP/IP协议在世界范围内应用最为广泛。 2、UDP协议是无连接通信协议,所谓的无连接就是指数据的发送端和接收端不建立逻辑连接。由于UDP协议消耗资源小,通信效率高,通常都会用于音频、视频和普通数据的传输。UDP协议在传输数据时不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。 TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”。 3、ServerSocket类用于创建服务端程序,通过调用ServerSocket对象的accept()方法,接收来自客户端的请求。 Socket类用于创建客户端程序,当客户端和服务端的两个Socket建立了专线连接后,连接的一端既能向另一端连续写入字节,也能从另一端读取字节。Socket类中定义了getInputStream()方法返回Socket的输入流对象,定义了getOutputStream()
方法返回Socket的输出流对象。只要连接的一端向该输出流对象写入了数据,连接的另一端就能从其输入流对象中读取到。