收藏 分销(赏)

Java编程基础知识点汇总习题集--答案.doc

上传人:二*** 文档编号:4454662 上传时间:2024-09-23 格式:DOC 页数:71 大小:581KB
下载 相关 举报
Java编程基础知识点汇总习题集--答案.doc_第1页
第1页 / 共71页
本文档共71页,全文阅读请下载到手机保存,查看更方便
资源描述
目 录 第一章 Java入门 2 第二章 Java基础 5 第三章 条件转移 14 第四章 循环语句 20 第五章 方法 26 第六章 数组 33 第七章 面向对象 42 第八章 异常 63 第一章 Java入门 资料 知识点汇总 1、 JAVA 三大体系 n Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java最核心的类库。 n JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 n Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、 JDK,JRE,JVM的作用及关系 · 作用 ★ JVM:保证Java语言跨平台 ★ JRE:Java程序的运行环境 ★ JDK:Java程序的开发环境 · 关系 ★ JDK:JRE+工具 ★ JRE:JVM+类库 3、 JDK环境变量配置 n path环境变量:存放可执行文件的存放路径,路径之间用逗号隔开 n classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、 重点掌握两个程序 n javac.exe:Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); n java.exe:Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、 一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记 练习题 一、 填空题 1、 Java的三个技术平台分别是( J2SE )、( J2EE )、(J2ME )。 2、 Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ),对于企业开发应用的是( J2EE ),对于嵌入式设备应用开发的是( J2ME )。 3、 建立Java开发环境,安装JDK,一般需要设置环境变量( path )、( classpath )。 4、 编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行该程序的命令为( java ),生成文档注释的命令为( javadoc )。 5、 Java程序的运行环境简称之为( JRE )。 6、 编译Java程序需要使用(javac )命令。 7、 javac.exe和java.exe两个可执行程序放在JDK安装目录的( bin )目录下。 8、 ( path )环境变量用来存储Java的编译和运行工具所在的路径,而( classpath )环境变量则用来保存Java虚拟机要运行的“.class”文件路径。 9、 Java的源代码文件的扩展名是( .java)。 10、 Java编译器的输入文件的类型是( .java )。 11、 Java编译器的输出文件的类型是( .class )。 12、 运行Java应用程序的命令是( java )。 二、选择题 1、 以下选项中,哪些属于JDK工具?(多选) (ABCD ) A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、 Java属于以下哪种语言?( C ) A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、 下面哪种类型的文件可以在Java虚拟机中运行?( D ) A、.Java B、.jre C、.exe D、.class 4、 安装好JDK后,在其bin目录下有许多exe可执行文件,其中“java.exe”命令的作用是以下哪一种?( D ) A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、 如果jdk的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?(B ) A、d:\jdk; B、d:\jdk\bin; C、d:\jre\bin; D、d:\jre; 6、 编译一个定义了两个类和三个方法的Java源程序文件,总共将产生( D )个字节码文件。 A、5个字节码文件,以“.java”为扩展名 B、2个字节码文件,以“.java”为扩展名 C、5个字节码文件,以“.class”为扩展名 D、2个字节码文件,以“.class”为扩展名 7、 做为Java应用程序入口的main()方法,其声明格式可以是( A ) A、public static void main(String[] args); B、public static int main(String[] args); C、public void main(String[] args); D、public int main(String[] args); 8、 下面选项中,( D )是Java关键字。 A、then B、PUBLIC C、java D、public 9、 ( D )不是Java的开发工具 A、Eclipse B、NetBeans C、JBuilder D、VC++ 6.0 10、 程序语句“System.out.println(“one”+1+“,Two”+2);”运行后的结果为( D ) A、one,1,Two,2 B、One1Two2 C、One,Two D、One1,Two2 11、 下列哪项不是JDK所包含的内容?( C ) A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 12、 下列关于JDK、JRE和JVM的描述。哪项正确?( D ) A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 13、 下列哪个工具可以编译java源文件?( A ) A.javac B.jdb C.javadoc D.junit 14、 JDK工具javadoc的作用是哪项?( A ) A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 15、 以下哪些包是Java标准库中常用的包?(多选)( ACD ) A.java.lang B.javax.servlet .http C.j ava.io D.java.sql 16、 使用JDK工具生成的Java文档的文件格式是?( D ) A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 17、 以下关于JVM的叙述,哪项正确?(多选)( BC ) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 18、 以下关于支持Java运行平台的叙述,哪项错误?( C ) A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统 D.Java语言与平台无关。Java程序的运行结果与操作系统无关 19、 以下关于Applet和Java程序之间关系的叙述,哪项错误?( B ) A. -个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上 C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上 D.Applet是一种Java SE平台的应用程序 20、 以下关于Java HotSpot的描述,哪两项错误?(多选)( AD ) A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用 B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用 C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化 D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化 21、 环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开?( A ) A.; B. , C.* D:| 22、 CLASSPATH中的“.”的含义是哪项?( B ) A.省略号 B.当前目录 C.所有目录 D.上级目录 23、 JVM在执行一个Java类时,大致采用以下过程?( D ) A.执行类中的代码一>装载类一>校验类 B.校验类一>装载类一>执行类中的代码 C.装载类一>执行类中的代码一>校验类 D.装载类一>校验类一>执行类中的代码 24、 当运行—个Java程序时,传递参数的格式是哪项?( C ) A. java类名参数1,参数2 B. javac类名参数1参数2 C. java类名参数1参数2 D. java类名参数1+参数2 25、 以下关于Java文件名的叙述,正确的有?(多选)( AB ) A.Java源文件的扩展名应为.java B.Java源文件的文件名应与文件中的类名一致 C. Java字节码文件的扩展名应为.Java D. 一个Java源文件中只能包含一个Java类 三、编程题 1、编写程序,在控制台上显示短句:“知识就是力量”。要求: (1)一行显示整个语句。 (2)分三行显示,每行显示两个汉字。 class HelloWord{ public static void main(String args[]){ System.out.println("知识就是力量"); System.out.println("知识\n就是\n力量"); } } 第二章 Java基础 知识点汇总 1、 Java代码的基本格式 修饰符 class 类名{ 程序代码; } l 修饰符:public、private、default、abstract、fanal、static l 类名必须与文件名相同(public类) l 每条语句的最后都必须用分号(;)结束 l 严格区分大小写 l 代码整齐、美观、层次清晰 l 字符串用“+”连接 2、 Java中的注释:注释是对程序某个功能或某行代码的说明 n 单行注释 “//” n 多行注释 “/* */” n 文档注释 “/** */”,可以使用javadoc命令生成帮助文档 3、 Java中的标识符 n 大小写字母、数字、下划线( _ )和美元号($) n 标识符不能以数字开头 n 不能是Java中的关键字 4、 标识符命名规则(驼峰命名法) n 包的名字一律小写 n 类名和接口名每个单子的首字母大写 n 常量名所有字母都大写,单词之间用下划线连接 n 变量名和方法名第一字单词首字母小写,从第二个单词开始每个单词的首字母大写 n 尽量使用有意义的英文单词定义标识符 课堂笔记 5、 变量的类型 6、 Java中的变量 n 变量的声明方法 变量的赋值 n 变量的声明+赋值赋值 7、 Unicode字符集 n Unicode为每种语言的每个字符设定了统一并且唯一的二进制码; n Java使用Unicode字符集编码 n 每个字符占2个字节 n 存字符的字符集编码与取字符的字符集编码不一致,就会出现乱码现象 8、 变量的类型转换 n 自动类型转换(隐式类型转换):取值范围小的类型 赋值给 取值范围大的类型 u 如 :double a=1.2;int b=3; a=b; n 强制类型转换(显式类型转换):取值范围大的类型 赋值给 取值范围小的类型,强制类型转换格式:目标类型 变量 = (目标类型)值 u 如 :double a=1.2;int b=3; b=(int)a; 9、 变量的作用域 n 在程序中,变量一定会被定义在某个大括号中,该大括号所包含的代码区域便是这个变量的作用域 10、 运算符 算术运算符 赋值运算符 比较运算符 逻辑运算符 + = == & - += != | + -= < ^ - *= > ! * /= <= && / %= >= || % ++ ++ -- -- 11、 赋值运算符 运算符 运算 范例 结果 = 赋值 a=3;b=2; a=3;b=2; += 加等于 a=3;b=2;a+=b a=5;b=2; -= 减等于 a=3;b=2;a-=b a=1;b=2; *= 乘等于 a=3;b=2;a*=b a=6;b=2; /= 除等于 a=3;b=2;a/=b a=1;b=2; %= 模等于 a=3;b=2;a%=b a=1;b=2; 12、 逻辑运算符 n &与&&都表示与操作,当且仅当两边的操作数都为true时,结果才为真; n &:无论左边为true还是false,右边都要进行运算 n &&:如果左边为false,右边不再运算 n |与||都表示或操作,当两边操作数有一边为true,结果就为真; n |:无论左边为true还是false,右边都要进行运算 n ||:如果左边为true,右边不再运算 13、 运算符的优先级 优先级 运算符 1 . 、[]、 () 2 ++ 、--、 ! 3 * 、/、 % 4 +、- 5 < 、>、 <=、 >= 6 == 、!= 7 & 8 ^ 9 | 10 && 11 || 12 ?: 13 =、 *=、 /= 、%= 、+=、 -= 、 &=、 ^=、 |= 14、 获取输入信息 n System.out:表示输出流,print()是输出到控制台,println输出到控制台,并且将光标移到下一行 n System.in:表示输入流,输入流来自键盘,需要使用Scanner类创建对象读取来自System.in的输入 l Import java.uitil.Scanner; l Scanner scanner=new Scanner(System.in) l int a=scanner.nextInt() 方法 功能 .next() 读取一个字符串,字符串遇到空格就终止 .nextByte() 读取byte类型的整数 .nextShort() 读取short类型的整数 .nextInt() 读取int类型的整数 .nextLong() 读取long类型的整数 .nextFloat() 读取float类型的整数 .nextDouble() 读取double类型的整数 15、 常量 n final 类型 常量名 = 具体的值 16、 转义字符:\'(单引号)、\"(双引号)、\\(反斜杠)、\r(回车)、\n(换行)、\t(Tab键)、\b(退格) 练习题 一、 填空题 1. Java中程序代码必须在一个类中定义,类使用( class )关键字来定义。 2. 布尔常量即布尔类型两个值,分别是( true )和( false )。 3. Java中的注释可以分为三种类型( 单行注释 )(多行注释 )和(文档注释)。 4. 单行注释( // ),多行注释以(/* )开头,( */ )结尾,多行文档注释以(/**)开头,( */ )结尾。 5. Java中的变量可分为两种数据类型,分别是(基本数据类型 )和(引用数据类型 )。 6. 在Java中,byte类型数据占(1)个字节,short类型数据占( 2 )个字节,int类型数据占( 4 )个字节,long类型占( 8 )字节。 7. 在逻辑运算符中,运算符( & )和( && )用于表示逻辑与,( | )和( ||)表示逻辑或。 8. 若x=2,则表达式(x++)/3的值是( 0 )。 9. 若int a=2;a+=3;执行后,变量a的值为(5 )。 10. 表达式6/3.0的结果是( 2.0 )。 11. 如果要得到表达式25/4的浮点数结果,表达式应改为( 25/4.0 )。 12. 表达式1%5的结果是( 1 )。 13. 设有“int a = 2; double d=2.0;”,下列每个表达式都是独立的,填写表达式的执行结果。 (1) a=46/9; ( 5 ) (2) a=46%9+4*4-2;( 15 ) (3) a=45+43%5*23*3%2;( 46 ) (4) a%=3/a+3; ( 2 ) (5) d=4+d*d+4; ( 12.0 ) (6) d+=1.5*3+(++a); ( 9.5 ) (7) d-=1.5*3+(++a); ( -5.5 ) 14. 下列语句输出的结果是( 30+20=3020 )。 System.out.println(“30+20=”+30+20); 15. 执行以下三条语句后,a=( 3 ),b=( 1 ),c=( 3 )。 int a =1; int b =a++ ; int c=++a; 16. 以下语句输出( He said ”Java is fun.” )。 System.out.println(“He said\”Java is fun.\””); 17. 已知:int a =8,b=6; 则:表达式++a-b++的值为( 3 )。 18. 已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为( false )。 19. 已知:double x=8.5,y=5.8; 则:表达式x++>y--值为( true )。 20. 执行int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是(x=10,a=3,b=4,c=5)。 21. Java中的显式类型转换是(从低类型向高类型转换),从高类型向低类型转换是(隐式类型转换 )。 22. 执行下列程序代码的输出结果是(i=11 j=11 a=10)。 int a = 10; int i, j; i = ++a; j = a--; 23. 执行完boolean x=false; boolean y=true; boolean z=(x&&y)&&(!y) ; int f=z==false?1:2;这段代码后,z与f的值分别是( false )和( 1 )。 24. 对于在程序运行过程中一直不变的值,可以声明成( 常量 )确保它的值不会被修改,在声明时使用( final ),还必须( 赋初值 )。 25. 在声明类中,方法之内的变量就叫做(局部 )变量。 26. 数据类型转换时,两种数据类型( 兼容 )并且( 目标 )类型大于( 源)类型,则可以自动类型转换。 27. 字面量都有默认类型,整型字面量的默认类型为(int ),浮点型字面量的默认类型是( double)。 28. long类型字面量末尾字母是( L ),float类型字面量末尾字母是( F ),double的是( D )。 二、 选择题 1. 以下选项中,哪些属于合法的标识符?(多选)(AD ) A、Hello_World B. class C.123username D.username123 2. 下列哪些是合法的标识符(多选)( ABCD ) A、applet B、Applet C、$4 D、$$44 3. 下列哪个不是Java的关键字( D ) A、else B、public C、int D、radius 4. byte类型数据中最大的数据为( A ) A、127 B、128 C、255 D、256 5. short类型数据中最大数据为( C ) A、65535 B、65536 C、32767 D、32768 6. 表达式25/4的结果是( B ) A、6.25 B、6 C、6.0 D、以上都不对 7. 以下关于变量的说法错误的是?( C ) A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个byte类型赋值给一个int类型的变量,不需要特殊声明 8. 下面的运算符中,用于执行除法运算的是哪个?( A ) A、/ B、\ C、% D、* 9. double类型的数据占用( B )字节。 A、4 B、8 C、1 D、2 10. ”float f=15.6F; int i=(int)f; System.out.println(“f=”+f);”执行后的结果是( A )。 A、f=15.6 B、f=15 C、f=15.0 D、以上都不对 11. 下列语句正确的是( A )。 A、boolean b=true; B、double x=2.5f; C、char c=A D、float y=0.8d 12. Java程序中,计算表达式”-1-3*10/5-1”后的结果是( A )。 A、-8 B、-6 C、7 D、8 13. 下面( D )赋值语句不会出现编译警告或错误。 A、float f=1.3 B、char c=a C、byte b=257 D、int i=10 14. 下列标识符(名字)命名原则中,正确的是( C )。 A.类名的首字母小写 B.接口名的首字母小写 C.常量全部大写 D.变量名和方法名的首字母大写 15. 下面哪种注释方法能够支持javadoc命令?( C ) A.// B./*...*/ C./**...*/ D./**...**/ 16. 下面哪些标识符在Java语言中是合法的?( AB ) A.persons$ B.TwoUsers C.*point D.instanceof F.end-line 17. 下列( D )是合法标识符。 A.2end B.-hello C.=AB D.整型变量 18. 若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。 A.变量f1,f2均被初始化为8.0 B.变量f1没有被初始化,f2被初始化为8.0 C.变量f1,f2均未被初始化 D.变量f2没有被初始化,f1被初始化为8.0 19. 基本数据类型short的取值范围是( B )。 A.(-256)~ 255 B.(-32 768)~ 32 767 C.(-128)~ 127 D.0~65 535 20. 下列( B )是不能通过编译的语句。 A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =45.0f; 21. 若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。 A.char B.short C.int D.byte 22. 下列代表十六进制整数的是( C )。 A.012345 B.2008 C.0xfa08 D.fb05 23. 哪些是合法的标识符(多选)( AEFHIJ )。 A、Name B、2hello C、class D、a-public E、Sex F、MIN_VALUE G、age# H、_id I、getName j、$main 24. 下列选项中为byte类型的取值范围的是( C )。 A、1~255 B、0~65535 C、-128~127 D、-32768~32767 25. 下列选项中,Java语句错误的是( C )。 A、double a=3.5 B、char a=322 C、flat a=1.0 D、double a=1 26. 下列选项中,合法的字符类型是( B )。 A、’ab’ B、’b’ C、”123” D、”\u123f” 27. String c=1+2+”6”+5;如果输出c,那么c的值是( C )。 A、1265 B、14 C、365 D、语法错误 28. 下列选项中,赋值语句不会出现编译错误的是( C )。 A、float a=2.0 B、char c=”a” C、byte b=25 D、boolean d=1 29. 下列选项中,赋值语句产生编译错误的是( AB  )。 A、char a=’abc’ B、byte b=1234 C、long c=0x123 D、double d=1e-3f 30. 下列哪项不属于Java语言的基本数据类型?( B ) A.int B.String C.double D.boolean 31. 下列哪项不是int类型的字面量?( A ) A.\u03A6 B.077 C.OxABBC D.20 32. 下列哪项不是有效的标识符?( B ) A.userName B.2test C.$change D._password 33. 下列哪项是Java语言中所规定的注释样式?(多选)( ACD ) A.//单行注释 B.--单行注释 C. /* D. /** *单行或多行注释 *文档注释 */ */ 34. 下列哪项不是Java语言的关键字?( B ) A.goto B.sizeof C.instanceof D.volatile 35. 现有如下五个声明: Linel: int a_really_really_really_long_variable_name=5 ; Line2: int _hi=6; Line3: int big=Integer. getlnteger("7”); Line4:int $dollars=8; line5: int %opercent=9; 哪行无法通过编译?( D ) A.Line1 B.Line3 C. Line4 D. Line5 36. 现有: 1. class Top { 2. static int x=l; 3. public Top (int y) { x*=3; } 4. } 5. class Middle extends Top { 6. public Middle() {x+=1; } 7. public static void main (String [] args) { 8. Middle m = new Middle(); 9. System. out .println (x); 1O. } 11. } 结果为( D ) A.1 B. 2 C.3 D.编译失败 37. 现有: 1. class Passer { 2. static final int X=5; 3. public static void main (String [] args) { 4. new Passer().go (x); 5. System. out .print (x); 6, } 7. void go (int x) { 8. System. out .print(x++); 9. } 10. } 结果是什么?( A ) A.55 B.56 C.65 D.66 38. 现有: 1. class Wrench { 2. public static void main(String [] args) { 3. Wrench w=new Wrench(); Wrench w2=new Wrench(); 4. w2=go (w, w2); 5. System.out.print (w2==w); 6. } 7. static Wrench go (Wrench wrl, Wrench wr2) { 8. Wrench wr3=wrl; wrl=wr2; wr2=wr3; 9. return wr3; 10. } 11. } 结果是什么?( B ) A. false B.true C.编译失败 D.运行的时候有异常抛出 39. 现有: 1. class Wrench2 { 2. int size; 3. public static void main(String [] args) { 4. Wrench2 w=new Wrench2(); 5. w.size=II; 6. Wrench2 w2=go(w, w.size); 7. System. out .print (w2. size); 8. } 9. static Wrench2 go(Wrench2 wr. int s) { 10. S=12; 11. return wr; 12. } 13. } 结果为( A ) A. 11 B. 12 c.编译失败。 D.运行时异常被抛出 40. 现有: class Test2 f public static void main (String [] args) { short a,b,C; a=l; b=2; C=a+b; a+=2: } } 以上代码中,哪一句是错误的?( B ) A.a=1: B.C=a+b; C. a+=2; D. short a,b,C; 41. 表达式:1-2/5+2*5的结果是哪项?( D ) A. 10.6 B. 9.8 C. 9 D.11 42. 现有代码片段: String s="123"; String sl=S+456; 请问sl的结果是哪项?( A ) A. 123456 B. 579 C.编译错误 D.运行时抛出异常 43. 基本数据类型float的包裹类是哪项?( C ) A.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服