《《Java编程基础知识点汇总及习题集》--答案(共74页).docx》由会员分享,可在线阅读,更多相关《《Java编程基础知识点汇总及习题集》--答案(共74页).docx(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上目 录第一章 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、子设备上的软件开发。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虚拟
3、机进程,运行编译器生成的字节码文件(.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 )、( c
4、lasspath )。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的源代码文件的
5、扩展名是( .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、.class4、 安装好JDK
6、后,在其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:jdkbin; C、d:jrebin; D、d:jre;6、 编译一个定义了两个类和三个方法的Java源程序文件,总共将产生( D )个字节码文件。A、5个字节码文件,以“.java”为扩展名 B、2个字节码文件,以“.j
7、ava”为扩展名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、public9、 ( D )不是Ja
8、va的开发工具A、Eclipse B、NetBeans C、JBuilder D、VC+ 6.010、 程序语句“System.out.println(“one”+1+“,Two”+2);”运行后的结果为( D )A、one,1,Two,2 B、One1Two2 C、One,Two D、One1,Two211、 下列哪项不是JDK所包含的内容?( C ) AJava编程语言 B工具及工具的API CJava EE扩展API DJava平台虚拟机 12、 下列关于JDK、JRE和JVM的描述。哪项正确?( D ) AJDK中包含了JRE,JVM中包含了JRE BJRE中包含了JDK,JDK中包含
9、了JVM CJRE中包含了JDK,JVM中包含了JREDJDK中包含了JRE,JRE中包含了JVM 13、 下列哪个工具可以编译java源文件?( A ) Ajavac Bjdb Cjavadoc Djunit 14、 JDK工具javadoc的作用是哪项?( A ) A生成Java文档B编译Java源文件C执行Java类文件 D测试Java代码 15、 以下哪些包是Java标准库中常用的包?(多选)( ACD ) Ajavalang Bjavaxservlet .http Cj ava.io Djavasql16、 使用JDK工具生成的Java文档的文件格式是?( D )AXML格式 B自定
10、义格式 c二进制格式 DHTML格式17、 以下关于JVM的叙述,哪项正确?(多选)( BC )AJVM运行于操作系统之上,它依赖于操作系统BJVM运行于操作系统之上,它与操作系统无关CJVM支持Java程序运行,它能够直接运行Java字节码文件DJVM支持Java程序运行,它能够直接运行Java源代码文件18、 以下关于支持Java运行平台的叙述,哪项错误?( C )AJava可在Solaris平台上运行 BJava可在Windows平台上运行CJava语言与平台无关。Java程序的运行结果依赖于操作系统DJava语言与平台无关。Java程序的运行结果与操作系统无关19、 以下关于Apple
11、t和Java程序之间关系的叙述,哪项错误?( B )A -个Applet就是一段Java程序BApplet是一种特殊的Java程序,它需要运行在Web服务器上CApplet是一种特殊的Java程序,它需要运行在Web浏览器上DApplet是一种Java SE平台的应用程序20、 以下关于Java HotSpot的描述,哪两项错误?(多选)( AD )AJavaHotSpot是一种热编译技术,在编译Java源程序时会被使用BJava HotSpot是一种热编译技术,在运行Java代码时会被使用CJava HotSpot是一种热编译技术,它只对程序的部分字节码进行优化DJava HotSpot是一
12、种热编译技术,它会对程序的全部字节码进行优化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参数2C ja
13、va类名参数1参数2 D java类名参数1+参数2 25、 以下关于Java文件名的叙述,正确的有?(多选)( AB )AJava源文件的扩展名应为.java BJava源文件的文件名应与文件中的类名一致C Java字节码文件的扩展名应为Java D 一个Java源文件中只能包含一个Java类三、编程题1、编写程序,在控制台上显示短句:“知识就是力量”。要求:(1)一行显示整个语句。(2)分三行显示,每行显示两个汉字。class HelloWordpublic static void main(String args)System.out.println(知识就是力量);System.out
14、.println(知识n就是n力量);第二章 Java基础知识点汇总1、 Java代码的基本格式修饰符 class 类名 程序代码;l 修饰符:public、private、default、abstract、fanal、staticl 类名必须与文件名相同(public类)l 每条语句的最后都必须用分号(;)结束l 严格区分大小写l 代码整齐、美观、层次清晰l 字符串用“+”连接2、 Java中的注释:注释是对程序某个功能或某行代码的说明n 单行注释 “/”n 多行注释 “/* */”n 文档注释 “/* */”,可以使用javadoc命令生成帮助文档3、 Java中的标识符n 大小写字母、数
15、字、下划线( _ )和美元号($)n 标识符不能以数字开头n 不能是Java中的关键字4、 标识符命名规则(驼峰命名法)n 包的名字一律小写n 类名和接口名每个单子的首字母大写n 常量名所有字母都大写,单词之间用下划线连接n 变量名和方法名第一字单词首字母小写,从第二个单词开始每个单词的首字母大写n 尽量使用有意义的英文单词定义标识符课堂笔记5、 变量的类型6、 Java中的变量n 变量的声明方法 变量的赋值 n 变量的声明+赋值赋值7、 Unicode字符集n Unicode为每种语言的每个字符设定了统一并且唯一的二进制码;n Java使用Unicode字符集编码n 每个字符占2个字节n 存
16、字符的字符集编码与取字符的字符集编码不一致,就会出现乱码现象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、 运算符算术运算符赋值运算符比较运算符逻辑运算符+=&-+=!=|
17、+-=!*/=|%+-11、 赋值运算符运算符运算范例结果=赋值a=3;b=2;a=3;b=2;+=加等于a=3;b=2;a+=ba=5;b=2;-=减等于a=3;b=2;a-=ba=1;b=2;*=乘等于a=3;b=2;a*=ba=6;b=2;/=除等于a=3;b=2;a/=ba=1;b=2;%=模等于a=3;b=2;a%=ba=1;b=2;12、 逻辑运算符n &与&都表示与操作,当且仅当两边的操作数都为true时,结果才为真;n &:无论左边为true还是false,右边都要进行运算n &:如果左边为false,右边不再运算n |与|都表示或操作,当两边操作数有一边为true,结果就为真
18、;n |:无论左边为true还是false,右边都要进行运算n |:如果左边为true,右边不再运算13、 运算符的优先级优先级运算符1. 、 ()2+ 、-、 !3* 、/、 %4 +、-5、 =6= 、!=7&89|10&11|12?:13=、 *=、 /= 、%= 、+=、 -= 、 &=、 =、 |=14、 获取输入信息n System.out:表示输出流,print()是输出到控制台,println输出到控制台,并且将光标移到下一行n System.in:表示输入流,输入流来自键盘,需要使用Scanner类创建对象读取来自System.in的输入l Import java.uitil
19、.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、 转义字符:(单引号)、(双引号)、(反斜杠)、(回车)、
20、(换行)、(键)、(退格)练习题一、 填空题1. Java中程序代码必须在一个类中定义,类使用( class )关键字来定义。2. 布尔常量即布尔类型两个值,分别是( true )和( false )。3. Java中的注释可以分为三种类型( 单行注释 )(多行注释 )和(文档注释)。4. 单行注释( / ),多行注释以(/* )开头,( */ )结尾,多行文档注释以(/*)开头,( */ )结尾。5. Java中的变量可分为两种数据类型,分别是(基本数据类型 )和(引用数据类型 )。6. 在Java中,byte类型数据占(1)个字节,short类型数据占( 2 )个字节,int类型数据占(
21、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
22、*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.”
23、 )。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中的显式类型转换是(从低类型向高类型转换),从高类型向低
24、类型转换是(隐式类型转换 )。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.
25、数据类型转换时,两种数据类型( 兼容 )并且( 目标 )类型大于( 源)类型,则可以自动类型转换。27. 字面量都有默认类型,整型字面量的默认类型为(int ),浮点型字面量的默认类型是( double)。28. long类型字面量末尾字母是( L ),float类型字面量末尾字母是( F ),double的是( D )。二、 选择题1. 以下选项中,哪些属于合法的标识符?(多选)(AD )A、Hello_World B. class C.123username D.username1232. 下列哪些是合法的标识符(多选)( ABCD )A、applet B、Applet C、$4 D、$4
26、43. 下列哪个不是Java的关键字( D )A、else B、public C、int D、radius4. byte类型数据中最大的数据为( A )A、127 B、128 C、255 D、2565. short类型数据中最大数据为( C )A、65535 B、65536 C、32767 D、327686. 表达式25/4的结果是( B )A、6.25 B、6 C、6.0 D、以上都不对7. 以下关于变量的说法错误的是?( C )A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型赋值给一个in
27、t类型的变量,不需要特殊声明8. 下面的运算符中,用于执行除法运算的是哪个?( A )A、/ B、 C、% D、*9. double类型的数据占用( B )字节。A、4 B、8 C、1 D、210. ”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.8d12. Java程序中,计算表达式”-
28、1-3*10/5-1”后的结果是( A )。A、-8 B、-6 C、7 D、813. 下面( D )赋值语句不会出现编译警告或错误。A、float f=1.3 B、char c=a C、byte b=257 D、int i=1014. 下列标识符(名字)命名原则中,正确的是( C )。A类名的首字母小写 B接口名的首字母小写C常量全部大写 D变量名和方法名的首字母大写15. 下面哪种注释方法能够支持javadoc命令?( C )A/ B/*.*/ C/*.*/ D/*.*/16. 下面哪些标识符在Java语言中是合法的?( AB )Apersons$ BTwoUsers C*point Din
29、stanceof F.end-line17. 下列( D )是合法标识符。A2end B-hello C=AB D整型变量 18. 若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。A变量f1,f2均被初始化为8.0 B变量f1没有被初始化,f2被初始化为8.0C变量f1,f2均未被初始化 D变量f2没有被初始化,f1被初始化为8.019. 基本数据类型short的取值范围是( B )。A(-256) 255 B(-32 768) 32 767 C(-128) 127 D065 53520. 下列( B )是不能通过编译的语句。Adouble d = 545.0;
30、 Bchar a1 = “c”; Cint i = 321; Dfloat f1 =45.0f;21. 若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。Achar Bshort Cint Dbyte22. 下列代表十六进制整数的是( C )。A B2008 C0xfa08 Dfb0523. 哪些是合法的标识符(多选)( AEFHIJ )。 A、Name B、2hello C、class D、a-public E、Sex F、MIN_VALUE G、age# H、_id I、getName j、$main24. 下列选项中为byte类型的取
31、值范围的是( C )。 A、1255 B、065535 C、-128127 D、-327683276725. 下列选项中,Java语句错误的是( C )。 A、double a=3.5 B、char a=322 C、flat a=1.0 D、double a=126. 下列选项中,合法的字符类型是( 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
32、=”a” C、byte b=25 D、boolean d=129. 下列选项中,赋值语句产生编译错误的是(AB)。A、char a=abc B、byte b=1234 C、long c=0x123 D、double d=1e-3f30. 下列哪项不属于Java语言的基本数据类型?( B )Aint BString Cdouble Dboolean 31. 下列哪项不是int类型的字面量?( A )Au03A6 B077 COxABBC D20 32. 下列哪项不是有效的标识符?( B )AuserName B2test C$change D_password33. 下列哪项是Java语言中所规
33、定的注释样式?(多选)( ACD )A单行注释 B-单行注释C * D /* *单行或多行注释 *文档注释 */ */ 34. 下列哪项不是Java语言的关键字?( B )Agoto Bsizeof Cinstanceof Dvolatile35. 现有如下五个声明: 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; 哪行无法
34、通过编译?( D ) ALine1 BLine3 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 C3 D编译失败 3
35、7. 现有: 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 )A55 B56 C65 D66 38. 现有: 1 class Wrench 2. public static void main(String args) 3. Wrench w=new Wrenc
36、h(); 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 Btrue C.编译失败 D运行的时候有异常抛出 39. 现有: 1 class Wrench2 2 int size; 3. public static void main(String args) 4
37、. 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 )Aa=1: BC=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.1142. 现有代码片段: String s=123; String sl=S+456; 请问sl的结果是哪项?( A )A. B. 579 C编译错误 D运行时抛出异常43. 基本数据类型float的包裹类是哪项?( C )A Integer B Double C Float D Character44. 现有: 1 class Test