《Java编程基础知识点汇总及习题集》--答案
更新时间:2024-01-19 03:02:01 阅读量: 教育文库 文档下载
- java语言知识点汇总推荐度:
- 相关推荐
目 录
第一章 Java入门 ............................................. 2 第二章 Java基础 ............................................. 5 第三章 第四章 第五章 第六章 第七章 第八章
条件转移 ............................................. 16 循环语句 ............................................. 22 方法 ................................................ 28 数组 ................................................ 34 面向对象 ............................................. 43 异常 ................................................ 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!”); }
练习题
一、 填空题
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 类名{ 程序代码; }
? 修饰符:public、private、default、
abstract、fanal、static
? 类名必须与文件名相同(public类) ? 每条语句的最后都必须用分号(;)结束 ? 严格区分大小写
? 代码整齐、美观、层次清晰 ? 字符串用“+”连接 2、 Java中的注释:注释是对程序某个功能或某行
代码的说明
? 单行注释 “//”
? 多行注释 “/* */”
? 文档注释 “/** */”,可以使用
javadoc命令生成帮助文档
3、 Java中的标识符
? 大小写字母、数字、下划线( _ )和美元
号($)
? 标识符不能以数字开头 ? 不能是Java中的关键字 4、 标识符命名规则(驼峰命名法)
? 包的名字一律小写
? 类名和接口名每个单子的首字母大写 ? 常量名所有字母都大写,单词之间用下划
线连接
? 变量名和方法名第一字单词首字母
小写,从第二个单词开始每个单词的首字母大写
? 尽量使用有意义的英文单词定义标
识符
课堂笔记
5、 变量的类型
9、 变量的作用域
? 6、 Java中的变量
? 变量的声明方法 变量的赋值
? 变量的声明+赋值赋值
7、 Unicode字符集
? Unicode为每种语言的每个字符设定了统一并且
唯一的二进制码;
? Java使用Unicode字符集编码 ? 每个字符占2个字节
? 存字符的字符集编码与取字符的字符集编码不一
致,就会出现乱码现象
8、 变量的类型转换
? 自动类型转换(隐式类型转换):取值范围小的类
型 赋值给 取值范围大的类型
? 如 :double a=1.2;int b=3; a=b; ? 强制类型转换(显式类型转换):取值范围大的类
型 赋值给 取值范围小的类型,强制类型转换格 式:目标类型 变量 = (目标类型)值
? 如 :double a=1.2;int b=3; b=(int)a;
在程序中,变量一定会被定
义在某个大括号中,该大括号所包含的代码区域便是这个变量的作用域
10、
运算符 赋值运算符 = += -= *= /= %= 运算 赋值 加等于 减等于 乘等于 除等于 模等于 比较运算符 == != < > <= >= 范例 a=3;b=2; a=3;b=2;a+=b a=3;b=2;a-=b a=3;b=2;a*=b a=3;b=2;a/=b a=3;b=2;a%=b 逻辑运算符 & | ^ ! && || 结果 a=3;b=2; a=5;b=2; a=1;b=2; a=6;b=2; a=1;b=2; a=1;b=2; + - + - * / % ++ ++ -- -- 算术运算符 11、 赋值运算符 运算符 = += -= *= /= %= 12、
? ? ? ? ? ? 13、 逻辑运算符
&与&&都表示与操作,当且仅当两边的操作数都为true时,结果才为真; &:无论左边为true还是false,右边都要进行运算 &&:如果左边为false,右边不再运算
|与||都表示或操作,当两边操作数有一边为true,结果就为真; |:无论左边为true还是false,右边都要进行运算 ||:如果左边为true,右边不再运算 运算符的优先级 运算符 . 、[]、 () ++ 、--、 ! * 、/、 % +、- < 、>、 <=、 >= == 、!= & 1 2 3 4 5 6 7 优先级 8 9 10 11 12 13 ^ | && || ?: =、 *=、 /= 、%= 、+=、 -= 、 &=、 ^=、 |= 14、 获取输入信息
? System.out:表示输出流,print()是输出到控制台,println输出到控制台,并且将光标
移到下一行
? System.in:表示输入流,输入流来自键盘,需要使用Scanner类创建对象读取来自
System.in的输入
? Import java.uitil.Scanner;
? Scanner scanner=new Scanner(System.in) ? int a=scanner.nextInt() 方法 .next() .nextByte() .nextShort() .nextInt() .nextLong() .nextFloat() .nextDouble() 功能 读取一个字符串,字符串遇到空格就终止 读取byte类型的整数 读取short类型的整数 读取int类型的整数 读取long类型的整数 读取float类型的整数 读取double类型的整数 15、 常量
? 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 )。
public static void main(String args[]){ int x,y;
Scanner scan=new Scanner(System.in); System.out.println(\请输入一个整数:\); x=scan.nextInt(); y=x+x/10+x/100;
System.out.println(x+\各个数位的和=\+y);
}
}
第三章知识点汇总
1、 简单if结构
if(布尔类型表达式){ 语句一; 语句二; ?. ?. }
课堂笔记
2、 一般if结构
if(布尔类型表达式){ 语句一; 语句二; ?. ?. } else {
语句三; 语句四; ?. ?. }
3、 复杂的if结构
if(布尔类型表达式1){ 语句一;
条件转移
语句二; ?. ?.
} else if(布尔类型表达式2){ 语句三; 语句四; ?. ?.
} else if(布尔类型表达式n){ 语句五; 语句六; ?. ?. } else{
语句七; ?. ?. }
4、 Switch条件语句
Switch(表达式){ //”表达式”的结果只允许char/byte/int/short四种类型 case 值1:
语句序列1; break; case 值2:
语句序列2; break; ?. ?.. case 值n:
语句序列n; break; [default:
默认语句序列; break;] }
5、 三元运算符
判断条件?表达式1:表达式2
练习题
一、 填空题
1、 假设x为1,给出下列布尔表达式的结果
(1) (x > 0) || (x < 0) ( true ) (2) (x!= 0) ||(x ==0) ( true ) (3) (x >=0)||(x < 0) (true ) (4) (x!=1)==!(x==1) ( true )
2、 写出一个布尔表达式,使得变量a中储存的数据在10到100之间时,表达值为true。
(a>=10 && a<=100 )
3、已知char x=’a’; char y =’c’; 依次给出下列语句的输出结果。
(1) System.out.println(x-y) ( -2 ) (2) System.out.println(x>y) ( false ) (3) System.out.println(x 二、 选择题 1、以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选)( ABCD ) A、 int B、byte C、char D、short 2、假设int x=2,三元表达式x>0?x+1:5的运算结果是哪一个?( C ) A、0 B、2 C、3 D、5 3、下面一段程序运行结束时,变量y的值为下列哪一项?( A ) int x=1; int y =2; if (x%2==0){ y++; }else{ y--; } System.out.println(“y=”+y); A、1 B、2 C、3 D、4 4、在switch(expression)语句中,expression的数据型不能是( C )。 A.char B.short C.double D.byte 5、下列程序m的哪些值将引起\的输出?( CD ) switch(m){ case 0: System.out.println(\ case 1: System.out.println(\ case 2: default: System.out.println(\ } A.0 B.1 C.2 D.3 6、变量num中储存的数据在10到100之间或值为负数时,表达式值为true。这样的一个布尔表达式是( B ) A、(num>10 || num<100) && (num < 0) B、(num>10 && num<100) || (num < 0) C、(num>10 ) && (num<100) &&(num < 0) D、(num>100 && num<10) || (num < 0) 7、当 x为1时,布尔表达式“(x!=1)&&(x==1)”的结果是( C )。 A、true B、1 C、false D、0 8、当 x为1时,布尔表达式“(true)&&(3>4)”的结果是( C )。 A、true B、1 C、false D、以上都不对 9、当 x为1时,布尔表达式“!(x>0)&&(x>0)”的结果是( B )。 A、true B、false C、0 D、以上都不对 10、假设x与y都为int类型,下列java表达式正确的是( D ) A、x>y>0 B、(x!=0)||(x=0) C、x or y D、以上都不对 11、考虑以下嵌套的if语句,说法正确的是( D )。 if(conditioon1){ if(condituion2){ statement1; } else statement2; } A、 只有当condition1 =false及condition2=false时,statement2才能执行 B、 无论condition2是什么,只要condition1=false,statement2就能执行 C、 statement2无论在什么情况下,都不能执行 D、 只有当condition1=true及condition2=false时,statement2才能执行 12、以下一段代码执行完毕后y的值是( B )。 int x=11; if (x>5){ int y=x+5; } else{ int y =x-5; } A、16 B、6 C、11 D、0 13、已知x=7,y=11,表达式“(x>6||y<=10)”的值为( C )。 A、0 B、false C、true D、1 14、以下说法哪个正确( A )。 A、break语句在switch-case语句中不是必需的,但在case语句李没有break语句,执行结果可能会不同 B、switch-case语句中没必要使用break语句 C、switch-case语句中必须使用break语句,否则会引起语法错误 D、以上都不正确 15、表达式“z=(6>5)”?11:10的值是( B )。 A、10 B、11 C、6 D、5 16、下述程序运行后的结果是哪项?( B ) class TestApp{ public static void main (String[] args){ int x=6; if (x>l) System. out. println(\ else if (x>5) System. out .println(\ else if (x<10) System. out. println(\ else if (x<29) System. out .println( \ else System. out.println(“以上都不是”); } } A.x>5 B.x>l C. x<10 D.x<29 17、下列程序运行后的结果是哪项?( B ) class TestApp{ public static void main (String[] args){ int X=5: switch (x){ case l: case 2: case 3: System. out.println(“一季度”); break; case 4: case 5: case 6: System. out.println(“二季度”); break; default: System. out.println(“三季度以上”); break; } } } A. 一季度 B.二季度 C.三季度以上 D.无输出 18、下列程序的结果为 ( A )。 class Ifs { public static void main (String [] args) { boolean state=false; int i=2; if( (++i>2) && (state=true)) i++; if( (++i>4) l l (state=false)) i++; System.out .println (i); } } A. 6 B. 5 C. 4 D.编译失败 19、下列程序结果为( C )。 class Output ( public static void main (String[] args) { int i=5: System.out.print( \ System.out.print (i+5+\ System.out.println (i+\ } } A. 9 9722 B. 9 55758 C. 45 10758 D.20、下列程序的结果是 ( B )。 class Test2 f public static void main (String [] args) { boolean x= true; boolean y=false; short z=20; if((x==true) && (y=true)) z++; if((y==true) || (++z==22)) z++; System. out .println( \; } } A.z=21 B. z=22 C. z=23 D. z= 24 三、 修改程序错误 1.public class Test{ public void main(String args[]){ int x=4,j=0; switch(x){ case 1: j++; //break; case 2: j++; //break; case 3: j++; //break; case 4: j++; //break; case 5: j++; //break; default: j++; //break; } System.out.println(j) } } 2. switch (n) { 45 9722 case 1: system.out.println(\ //break; case 2: system.out.println(\ break; } 四、 分析程序,写出运行结果 1、 对下列代码,当x=2,y=3时,若有输出,指出输出的结果。当x=3,y=2时,其输出是什么? 当x=3,y=3时呢? if(x>2){ if(y>2){ int z=x+y; System.out.println(“z is ”+z); } } else System.out.println(“x is ”+x); x=2 y=3 z is 2 x=3 y=2 无输出 x=3 y=3 z is 6 2、 执行下列switch-case语句后y是多少? x = 3; y = 3; switch(x+3){ case 6: y=1; default: y+=1 } y=2 3、 用switch-case语句重写下列if语句? if(a ==1){ x+=5; } else if(a==2){ x+=10; } else if(a==3){ x+=16; } switch(a){ case 1: x+=5; break; case 2: x+=10; break; case 3: x+=16; break; } 4、 使用条件运算符重写下列if语句 if(count % 10 ==0) System.out.println(count+”\\n”); else System.out.println(count+” ”); System.out.print(count+(count==0?”\\n”:” ”)); 5、 用if-else语句重写以下语句 z=(x>y)?x-2:x; if(x>y){ z=x-2; }else{ Z=x; } 五、 编程题 1、 用户输入一个成绩(整数,小于100),根据分数给出该成绩是优秀(大于等于90)、良好(大 于等于75小于90)、合格(大于等于60小于75)还是不及格(小于60)。(使用if 和 switch两种方式编写程序)。 2、 读入一个整数并检查它是不是偶数,例如,如果输入15,输出应该是:“15是偶数吗?false”。 如果输入是1000,输出应该是:“1000是偶数吗?true”。 3、 读入三角形的三条边,如果输入有效,计算它的周长;否则,显示输入无效。如果任意两边的 和大于第三边输入有效。 4、 产生两个10以下的随机整数,并提示用户输入这两个整数的和,然后,程序检查结果是否正确, 正确的话,显示true;否则,显示false。 5、 “员工信息系统”:要求输入一个企业员工的姓名、性别、工号、月基本工资、奖金、补贴后, 计算个人所得税。系统输出员工姓名、性别、工号和月应发薪水和实发薪水(月应发薪水-个人所得税)。 个人所得税计算方法:当收入<=3500时,免交个人所得税;当3500<收入<=5000时,个人所得税=(工资-3500)*0.05;当5000<收入<=7500时,个人所得税=1500*0.05+(工资-5000)*0.075;当7500<收入<=10000时,个人所得税=1500*0.05+2500*0.075+(工资-7500)*0.12;当10000<收入<=13000时,个人所得税=1500*0.05+2500*0.075+2500*0.12+(工资-10000)*0.18;当收入>13000时,个人所得税=工资*0.2。 第四章 循环语句 知识点汇总 课堂笔记 1、 While循环语句 初始化; while(循环条件){ 执行语句; ? ? 循环变量改变; } 2、 do-while循环语句 do{ 执行语句; ? ? } while(循环条件) do?while至少执行循环 体一次,while有可能一次也不执行 3、 For循环语句 for(初始化表达式;循环条件;操作表达式) { 循环体; } 4、 循环嵌套 ? 循环嵌套是指在一个循环语句的循环体中再定义一个循环语 句的语法结构。 ? While、do?while、for循环语句都可以进行嵌套,也可以 相互嵌套。 for(初始化表达式;循环条件;操作表达式) { ?. ?. for(初始化表达式;循环条件;操作表达式){ 执行语句; ?. ?. } } 5、 跳转语句 ? 程序设计时,有时需要中断正在执行的程序段,转而执行另外的 程序段,这时就需要使用跳转语句。 ? Java语言支持break、continue两种跳转语句。 ? break:在switch-case语句中控制程序跳出switch-case语句, 在循环语句中break的作用是立即终止包含它的最内层的循环。 ? continue:只用于循环结构中,只终止本次循环,进入下一次循 环。 ? break语句出现在嵌套循环中的内循环时,只能跳出内层循环, 如果想使用break语句跳出外循环则需要对外层循环添加标记。 标记名: for(初始化表达式;循环条件;操作表达式) { …. …. for(初始化表达式;循环条件;操作表达式){ 执行语句; break 标记名; …. …. } } 练习题 一、 填空题 1、for循环控制的三部分是( )、( )、( ) 2、写一个for循环,输出整数1 到10( ) 3、break语句和continue语句的区别是( ) 4、while循环与do-while循环的区别是( ) 5、如果一个变量是在for循环中说明的,退出循环后还可以使用该变量吗?( ) 二、 选择题 1、下列语句哪些属于循环语句?(多选)( ) A、for语句 B、if语句 C、while语句 D、switch语句 2、下列循环语句的循环次数是( )。 int i=5; do { System.out.println(i--); i--; }while(i!=0); A.5 B.无限 C.0 D.1 3、下列代码哪几行会出错?( ) 1) public void modify() { 2) int I, j, k; 3) I = 100; 4) while (I > 0) { 5) j = I * 2; 6) System.out.println(\7) k = k + 1; 8) I--; 9) } 10 } A.line 4 B.line 6 C.line 7 D.line 8 4、下列代码执行完后,x的值为( )。 int x=1; while(x<73){x*=2;} A、100 B、2 C、64 D、128 5、下列代码执行完后,x的值为( )。 int x=18; while(x>1){x/=2;} A、1 B、0 C、9 D、以上都不对 6、下列代码执行完后,s的值为( )。 int s=0; for(int i=1;i<5;i++){s+=i;} A、10 B、15 C、5 D、以上都不对 7、下列代码执行完后,s的值为( )。 int s=0; for(int i=1;i<5;i+=2){s+=i;} A、10 B、15 C、4 D、以上都不对 8、下列代码执行完后,s的值为( )。 int s=0; for(int i=1;i<7;i++){ if(i%2==0) continue; s+=i; } A、16 B、9 C、6 D、以上都不对 9、给定下列代码,如果x=0,当以下for循环语句执行完后,x是( )。 for(int i=0;i<5;i++) x=x+i; A、10 B、15 C、5 D、4 10、下段代码执行完毕后,结果为( )。 int s=0; for(int i=1;i<10;i++){ if(i>=5) break; s +=I; } A、10 B、15 C、5 D、以上都不对 11、下列语句会执行( )次循环。 for(int i=1;i<10;i+=3){ ?..//do something } A、3 B、4 C、2 D、以上都不对 12、关于下列循环语句段,正确的说法是( )。 for(;;){ ?//do something } A、不做循环 B、无限循环下去 C、循环1次 D、以上都不对 13、执行下列代码,正确的说法是( )。 int x=1;int s=0;while(x<5){s+=x;} A、结果是x=1,s=10 B、程序陷入死循环 C、结果是x=5,s=10 D、以上都不对 14、程序运行后的输出是哪项?( ) class TestApp{ public static void main (String[] args){ for (int i=0; i System. out .print (i); } } } A.0123 B.012456789 C. 0123456789 D. 012 15、下列程序结果是什么? ( ) class WhileTests { public static void main (String [] args) { int x=5; while (++x<4) { --x; } System.out.println( \ } } A.X=6 B. X=5 C.X=2 D.编译失败 16、下列程序结果是什么?( ) class Foo { public static void main (String [] args) { int x=O; int y=4; for (int z=0; z<3; Z++; X++) { if(x>1&++y<10) y++; } System. out .println (y); } } A.7 B.8 C.10 D.12 三、 修改程序错误 1. public class Test{ public void main(String args[]){ int n=9; while(n>6){ System.out.println(n); n--; } } } 2.找出下面代码的错误部分,说明错误类型及原因,并更正。 四、 分析程序,写出运行结果 1、public class Exercises5_2 { public static void main(String[] args) { int n = 1, m, j, i; for (i = 3; i <= 30; i += 2) { m = (int) Math.sqrt((double) i); for (j = 2; j <= m; j++) if ((i % j) == 0) break; if (j >= m + 1) { System.out.print(i + \ if (n % 5 == 0) System.out.print(\ n++; } } } } 运行结果是:( ) 2、下列循环重复多少次,循环的输出是什么? int i=1; while(i>10) if((i++)%2==0) System.out.println(i); 3、下列两个循环后,sum是否有相同的值? for(int i=0;i<10;i++){ for(int i=0;i<10;++i){ sum+=i; sum+=i; } } int x = 1; while (x <= 10); { i++; } 4、将下列for循环语句分别转换为while循环和do-while循环。 long sum=0; for(int i=0;i<=1000;i++){ sum=sum+i; } 6、 下列两段程序能够正常结束吗?如果能,输出结果。 int balance = 1000; int balance = 1000; while(true){ while(true){ if(balance < 9) if(balance < 9) continue; break; balance =balance-9; balance =balance-9; } } System.out.println(“balance is”+balance); System.out.println(“balance is”+balance); 7、 public class Test04{ public static void main(String args[]){ int n=9; while(n>6){ System.out.println(n); n--; } } } 五、 编程题 1、 对1到100的奇数进行求和(for+continue); 2、 编写程序,采用适当的循环和控制语句实现下述功能:打印输出0~200能被7整除但不能被4 整除的所有;要求每行显示6个数据。 3、 编写一个显示(英里转换成千米)表格的程序(注意:1英里为1.609千米),格式如下: 英里 千米 1 1.609 2 3.218 ??. ??? 9 14.481 10 16.09 4、 提示用户输入学生的数量及每个学生的名字和得分,而后显示得分最高的学生。 5、 显示从100到1000之间所有能被5和6整除的数,每行显示10个。 6、 显示从100到200之间所有能被5或6整除,但不能同时被两者整除的数,每行显示10个数。 7、 计算0~10之间各个整数的平方值和立方值,以如下格式显示: 整数 平方 立方 0 0 0 1 1 1 2 4 8 ?. ? ? 10 100 1000 8、 采用循环语句显示以下图案: * * * * * * * * * * * * * * * 9、 计算公式的值:1/1+2/(1+2)+3/(1+2+3)+?..+10/(1+2+3+??+10)。 10、 在上一章“员工信息系统”程序基础上,输入多个员工信息,进行个人所得税计算,显示每 个员工信息,并计算所有员工实际收入的最大值、最小值和平均值。 第五章 方法 知识点汇总 1、方法的语法格式 修饰符 返回类型 方法名(参数类型 参数名1,参数类型 参数名2,… …) { 执行语句; … … return 返回值; } ? 修饰符:public、private、abstract、fanal、static ? 返回类型:byte/int/short/long/float/double/char/String/类名等等 ? 方法名:第一个单词小写,其他的单词首字母大写 ? 参数类型:用于限定调用方法时传入参数的数据类型 ? 参数名:是一个变量,用于接收调用时传入的数据 ? return:用于结束方法以及返回方法指定的类型的值 ? 返回值:返回值与返回类型一致,如果是void类型则没有返回值 2、方法的调用 ? 没有返回类型:方法名(参数值1,参数值2,? ?) ? 有 返回类 型:返回类型 变量名 = 方法名(参数值1,参数值2,? ?) 3、方法的重载 ? Java中允许在一个程序中定义多个名称相同的方法 ? 但参数的类型或个数必须不同 ? 在方法调用过程中,通过传入的参数便可以确定调用哪个重载的方法了 4、递归方法 ? 一个方法可以调用自己,这种调用成为递归调用 ? 一般来说,递归方法需要有退出条件 ? 当满足条件时,递归方法终止并且返回 课堂笔记 练习题 一、 填空题 1、Java语言规定,应用程序开始执行点是( )。 2、在Java语言中,一个方法一般由两个部分组成,它们是( )和( )。 3、在一个被调用方法中,一个return语句可返回(一个值 )给调用的方法。 4、在调用方法时,如果实参是数组名,它与对应形参之间的数据传递方式是( ) 5、Java语言中规定方法的返回值的类型是由( )决定的。 二、 选择题 1、关于方法重载的描述,以下选项中哪些是正确的?多选( ) A、方法名必须一致 B、返回值类型必须不同 C、参数个数必须一致 D、参数的个数或类型不一致 2、下列是方法定义的形参表,定义形式正确的是( )。 A、int num1,num2 B、num1,num2 C、int num1,int num2 D、int num1;int num2 3、Java中主方法头部定义的正确格式是( )。 A、public static void main(); B、public static void main(String args[ ]) C、public static void main(int args[]) D、static public int main(String args[]) 4、一个方法的头部是“public static int min(int num1,int num2)”,下列调用格式错误的是( )。 A、min(5.0,10) B、min(5+2,10) C、min(‘5’,10) D、min(‘5’,min(‘6’,10)) 5、若有以下调用语句,则正确的fun()方法头部是( )。 public static void main(String args[]) { float x; int a; ……. fun(x,a); } A、void fun(int m,float x) B、void fun(float a, int x) C、void fun(int m,float x[]) D、void fun(int x,float a) 6、有如下函数调用语句“func(rec1,rec2+rec3,(rec4,rec5));”,该语句中,含有的实参个数是( )。 A、3 B、4 C、5 D、有语法错误 7、Java中,在调用重载方法时,原则是( )。 A、只要方法名一致,就可以调用 B、必须方法名一致,参数的个数、类型、顺序一致 C、只要方法名一致,与参数的个数、类型、顺序一致 D、与方法的返回值有关 8、Java参数的传递方式有( )。 A、按值传递 B、按地址传递 C、按值或地址传递 D、以上都不对 9、下列方法重载,正确的是( )。 A、int fun(int a,float b) B、float fun(int a,float b){} float fun(int a,float b){} float fun(int x,float y){} C、float fun(float a) D、float fun1(int a,float b){} float fun(float a,float b){} float fun2(int a,float b){} 10、关于方法的说法,下面错误的是( )。 A、Java中的方法,参数传递时是值传递调用,而不是地址传递 B、方法体是对方法的实现,包括变量声明和Java的合法语句 C、如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方
正在阅读:
2018-2019-学习全省组织部长会议暨干部监督工作会议发言提纲-范06-25
2016浙教版四年级劳动技术下册教学设计(最新).doc - 图文01-16
法学论文写作指导05-26
一年级数学上册期末11-20,各数的认识专项练习题02-06
2015专业技术人员继续教育《加强和创新网络道德教育》题库答案04-10
汉英翻译05-13
关于在农村开展人民币反假的调研报告03-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题集
- 知识点
- 汇总
- 答案
- 编程
- 基础
- Java
- 生理习题
- Responses to comments(英文期刊 审稿意见回复)
- 最新人教版小学六年级数学“分数除以整数”教学设计1
- 部编六年级语文上册《第四单元检测卷》(附答案)
- 高中选修课学习心得体会
- 那些年,那些事
- 码头毕业设计 河海大学
- 宁夏中宁县城市规划动态
- 教育学心理学试题6套
- 机械设计作业习题
- 信号与系统习题答案 第三章
- 丙二醛含量测定
- 2018揭阳市小升初数学模拟试题(共7套)详细答案
- 局域网期末考试
- 台州市城市总体规划2004-2020 - 图文
- 化工原理--吸收习题及答案
- 建设项目环境影响评价报告表-那坡 - 图文
- 一种车铣复合加工试验装置的设计及仿真 - 图文
- 2016年大学生创业导论考试答案
- 性能测试面试题(附答案)