《Java编程基础知识点汇总及习题集》--答案版.docx
第一章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 MicroEdition,微型版),用于小型电子设备上的软件开发。2、JDK, JRE, JVM的作用及关系作用 JVM:保证Java语言跨平台JRE: Java程序的运行环境 JDK: Java程序的开发环境关系 JDK: JRE+工具JRE: JVM+类库3、JDK环境变量配置path环境变量:存放可执行文件的存13、运算符的优先级优先级运算符3 *、/、 4 +、3 *、/、 4 +、1 .、口、 ()2+、-一、 5 < 、 >、 <=> >= 6 = > != 7 &最新资料推荐8 - 910 && 1112 ?: 13 二、 *二、 /、%、+=、 一二、 &-、14、.获取输入信息System, out:表示输出流,print ()是输出到控制台,printin输出到控制台, 并且将光标 移到下一行. in:表示输入流,输入流来自键盘,需要使用Scanner类创 建对象读取来自 , in 的输入Import java, uitil. Scanner;Scanner scanner=new Scanner(, in) int a=scanner. nextlnt()方法功能.next ()读取一个字符串,字符串遇到空格就终止.nextByte ()读取byte类型的整数.nextShort ()读取short类型的整数.nextlnt ()读取int类型的整数.nextLong ()读取long类型的整数 . nextFloat ()读取 float 类型的整数. nextDouble ()读取double类型的整数15、常量final类型常量名=具体的值16、转义字符:'(单引号)、 "(双引号)、 (反斜杠)、 r (回 车)、 n (换行)、 t (T a b键)、 b (退格)练习题一、填空题. Java中程序代码必须在一个类中定义,类使用(class )关键字来定义。1 .布尔常量即布尔类型两个值,分别是(true )和(false )。2 . Java中的注释可以分为三种类型(单行注释)(多行注释)和(文档注 释)。3 .单行注释(),多行注释以(/* )开头,(*/ )结尾,多行文档注释 以(/*)开头,(*/)结尾。4 . Java中的变量可分为两种数据类型,分别是(基本数据类型)和(引用数 据类型)。5 .在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+=L5*3+(+a) ; ( 9. 5 ) (7) d-5*3+(+a) ; ( -5. 5 ).下列语句输出的结果是(30+20=3020 )。System, out. printin( “30+20=” +30+20);.执行以下三条语句后,a=( 3 ), b=( 1 ), c=( 3 )oint a =1; int b =a+ ; int c=+a;.以下语句输出(He said v Java is fun. " )0System, out. printin ( "He said" Java is fun. ; 17. 已知:int a =8, b=6;则:表达式+a-b+的值为(3 )。18 .已知:boolean bl=true, b2;则:表达式! bl && 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=ll j=ll a=10) oint 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?l:2;这段代码后,Z与f的值分别是(false )和(1 )。24 .对于在程序运行过程中一直不变的值,可以声明成(常量)确保它的值不会 被修改,在声明时使用(final ),还必须(赋初值)。25 .在声明类中,方法之内的变量就叫做(局部)变量。26 .数据类型转换时,两种数据类型(兼容)并且(目标)类型大于(源) 类型,则可以自动类型转换。27 .字面量都有默认类型,整型字面量的默认类型为(int ),浮点型字面量的 默认类型是(double) o. long类型字面量末尾字母是(L ) , float类型字面量末尾字母是(F ), double 的是(D ) o二、选择题.以下选项中,哪些属于合法的标识符?(多选)(AD )A、Hello_World B. class C. 123username D. usernamel23 2.下列哪些是合法 的标识符(多选)(ABCD )A、applet B、Applet C、$4 D、$44 3.下列哪个不是 Java 的关键字(D )A、else 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最新资料推荐.表达式25/4的结果是(B )A、6. 25 B、6 C、6.0 D、以上都不对.以下关于变量的说法错误的是? ( C )A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型赋值给一个int类型的变量,不需要特殊声 明.下面的运算符中,用于执行除法运算的是哪个? ( A )A、 / B、 C、 % D、 *. double类型的数据占用(B )字节。A>4 B>8 C> 1 D>2 10. "float f=15. 6F; int i=(int) f; System, out. printin("f二” +f);”执行后的结果是(A ) oA、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 程序中,计算表达式" T-3*10/5-1”后的结果是(A ) oA、 -8 B、 -6 C、 7 D、 813.下面(D )赋值语句不会出现编译警告或错误。A、float f=l. 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. 下歹U ( D ) 是合法标识符。A. 2end B. -hello C. =AB D.整型变量18.若定义有变量float fl,f2 = 8. OF,则下列说法正确的是(B )。A.变量fl, f2均被初始化为8.0B.变量fl没有被初始化,f2被初始化为8.0C.变量fl, f2均未被初始化D.变量f2没有被初始化,fl被初始化为8.0 19. 基本数据类型short的取值范围是(B )。A. (-256)255 B. (-32 768)32 767 C. (-128) 127 D. 065 535 20. 下列(B )是不能通过编译的语句。A. double d = 545. 0; B. char al = "c” ; C. int i = 321; D. float fl =45. Of; 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 2hello C、 class D、 a-public E、 SexF、MIN VALUE G、age# H、_id I、getName j> $main 24.下列选项中为 byte 类型的取值范围的是(C )。A、255 B、065535 C、-128127 D、-3276832767 25.下列选项中,Java 语句错误的是(C )。最新资料推荐A、double a=3. 5 B> char a=322 C、flat a=l. 0 D、double a=l 26.下列选项 中,合法的字符类型是(B )。A、' ab' B、' b' C、" 123" D、” ul23f”. String c=l+2+” 6” +5;如果输出 c,那么 c 的值是(C )。A、1265 B、14 C、365 D、语法错误.下列选项中,赋值语句不会出现编译错误的是(C )。A、float a=2. 0 B、char c=" a" C、byte b=25 D、boolean d=l 29.下列选 项中,赋值语句产生编译错误的是(AB )。A、char a-' abc' B、byte b-1234 C、long c-0xl23 D、double d-le-3f 30. 下列哪项不属于Java语言的基本数据类型?( B )A. int B. String C. double D. boolean 31.下列哪项不是 int 类型的字面量? (A )A. uO3A6 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. volatile35.现有如下五个声明:Linel: int a_real1y rea11y rea11y_long_variab1e_name=5 ; Line2: int _hi=6;Line3: int big=Integer. getlnteger(7");Line4: int $dollars=8; line5: int %opercent=9;哪行无法通过编译?( D )A. Linel B. Line3 C. Line4 D. Line5 36.现有:1. class Top static int x=l;2. public Top (int y) x*=3; 4. 5. class Middle extends Top 6. public Middle() x+=l; 7. public static void main (String args) 8. Middle m = new Middle();System, out . printin (x) ; 10. 11. 结果为(D )A. 1 B. 2 C. 3 D.编译失败37.现有:1. class Passer static final int X=5;最新资料推荐2. public static void main (String args) 4. new Passer (). go (x);5. System. out . print (x) ; 6, 7. void go (int x) System. out .print (x+); 9. 10. 结果是什么?( A )A. 55 B. 56 C. 65 D. 6638.现有:1. class Wrench public static void main(String args) 2. 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;Wrench2 w2=go(w, w. size);6. 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 fpublic static void main (String args) short a, b,C;a=l; b=2; C=a+b;a+=2: )以上代码中,哪一句是错误的?( B )A. a=l: 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;请问si的结果是哪项?( A )A. 123456 B. 579 C.编译错误D.运行时抛出异常.基本数据类型float的包裹类是哪项?( C )A. Integer B. Double C. Float D. Character 44. 现有:1. class Test4 public static void main (String args) 3. boolean X=true;4. boolean y=false; 5. short Z=42;6. if (z+=42) && (y 二 true) z+; 7. if (x=false) | (+z=45) z+; 8.System, out. printin (一 z=" +z); 10. 结果为(D )A. Z=42 B. z=44 C. Z= 45 D. z= 46 三、修改程序错误1. public class Testpublic static void main (String args) int i;int k=100. 0; / k=100;int j =i+l; 2. public class Testpublic void main(String args)float f=12. 5; /double f=12. 5;int k=f; /double k=f; int j =f+l; /double j =f+1; 3. public class Testpublic void main (String args) byte i=128; /int i=128; long k=i*3+4; double d =k*3. 1; )4. public class Testpublic void main(String args) double d=1234. 5;long k=long(d) ; / long k=(long)d; long i =k+3. 5; /double i =k+3. 5; )5. public class Testpublic void main(String args)char c="a" ; / String c="a” ;String s二” 1234” ; c=a; /c=s;最新资料推荐四、分析程序,写出运行结果放路径,路径之间用逗号隔开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( uHello World!");最新资料推荐练习题一、填空题1、Java的三个技术平台分别是(J2SE )、( J2EE )、(J2ME )。2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序 开发的是(J2SE ),对于企业开发应用的是(J2EE ),对于嵌入式设备应用开发的是(J2ME )。1. public class Testpublic void main(String args) byte b=3; b=b+4;System. out. printin ( “b=" +b) ; /b=7 2. public class Testpublic void main(String args) int x=12; int y=96;System. out. printin( "x is" +x);System. out. printin( "y is” +y); y 二x;System. out. printin( “x is” +x) ; 编译出错五、编程题1、按照以下要求,编写Java代码:(1)声明一个名为milles的double型变量,初值为100;(2)声明一个名为MILE_TO_KILOMETER的double型常量,其值为1. 609 (3) 声明一个名为kilometer的double型变量,并赋值为5,将miles和 MILE_T0_KIL0METER相乘,并将结果赋值给kilometer;(4)在控制台上显示kilometer,现在kilometer的值是多少?class HelloWord public static void main(String args) double milles=100;final double MILE_T0_KIL0METER=l. 609; double kilomctcr=ll. 5;kilometer=mi1les*MILE_TO KILOMETER;System. out. print (现在 kilometer 的值是+kilometer);)2、按照以下要求,编写Java代码:(1)先定义3个变量,分别为圆柱体底面半径、高和体积;(2)输入半径和高;(3)计算圆柱体体积;(4)输出计算结果。import java. util. Scanner;class HelloWordpublic static void main(String args) 最新资料推荐double v, r, h;final double PI=3. 14;Scanner scan=new Scanner(, in);System. out. printin (请输入半径:);r=scan. nextDouble ();System. out. printin (请输入高:);h=scan. nextDouble () ; v=PI*r*r*h;System. out. printin (体积为:+v); )3、编写程序将磅转换为千克。程序提示用户输入磅数,转换为千克并显示结果。 一磅约等于0. 454千克。import java. util. Scanner;class HelioWord public static void main(Stringargs) doub 1 e x, y;Scanner scan=new Scanner(. in);System. out. printin (请输入磅数:);x=scan. nextDouble () ; y=0. 454*x;System. out. printin (x+磅=+y+千克);)4、编写一个程序,读入费用与提成率,计算提成与总费用。例如,如果输入 10作为费用,12%作为提成率,则显示提成费为1.2,总费用为11. 2。import java. util. Scanner; class HelloWordpublic static void main(String args) double x,y,s;Scanner scan=new Scanner(, in);System, out. printin (请输入费用:);x=scan. nextDouble () ; y=x*0. 12;s=x+y;System. out. printin (总费用二+s); )5、编写程序读入0到1000之间的一个整数,并将其各个位上的数字加起来。 例如,整数832,各位数字之和为13oimport java. util. Scanner; class HelloWord最新资料推荐public static void main(String args) int x, y;Scanner scan=new Scanner(, in);System, out. printin (“请输入一个整数:);x=scan. nextlnt ();y=x%10+x/10%10+x/100%10;System, out. println(x+”各个数位的和="+y);第三章条件转移语句二;知识点汇总. else if (布尔类型表达式2) 语句三;1、简单if结构语句四;if (布尔类型表达式).语句一; else if (布尔类型表达式n) 语句二;语句五;.语句六;. else课堂笔记语句七;.4 Switch条件语句Switch(表达式) “表达式”的结果只允许char/byte/int/short四种类型case 值 1:语句序列1;break; 2、一般 if 结构 case 值 2:if (布尔类型表达式)语句序列2;语句一; break; 语句二; .case值n: else 语句序列n; break; 语句三; default:语句四;默认语句序列;.break;1 , 3、复杂的if结构5、三元运算符if (布尔类型表达式1)判断条件?表达式L表达式2语句一;最新资料推荐练习题一、填空题1、假设X为1,给出下列布尔表达式的结果(1) (x > 0) | | (x < 0) ( true ) (2) (x!= 0) | | (x 二二0) ( true ) (3) (x >=0) | (x < 0) (true ) (4) (x! = l)=! (x=l) ( true )2、写出一个布尔表达式,使得变量a中储存的数据在10到100之间时,表达 值为true。(a>=10 && a<=100 )3、已知char x=, a' ; char y =,;依次给出下列语句的输出结果。(1) System, out. printin(x-y) ( -2 ) (2) System. out. printin(x>y) ( false )System, out. printin (x<y) ( true ) (4) System, out. println(x+ = y) (false )二、选择题1、以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选) (ABCD )A、 int B、 byte C、 char D、 short2、假设int x=2,三元表达式x>0?x+l:5的运算结果是哪一个?( C )A、 0 B、 2 C、 3 D、 53、下面一段程序运行结束时,变量y的值为下列哪一项? ( A )最新资料推荐int x=l; int y =2; if (x%2=0) y+; else y-; System. out. println( “y二" +y);A、 1 B、 2 C、 3 D、 44、在 switch (expression)语句中,expression 的数据型不能是(C )。A. char B. short C. double D. byte5、下列程序m的哪些值将引起“default的输出? ( CD )switch(m)case 0: System. out. printin(/zcase 0);case 1: System, out. printin(/zcase 1) ; break; case 2:default: System, out. printin (default'") ; 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!=l)&&(x=l)”的结果是(C )。A、 true B、 1 C false D、 08、当x为1时,布尔表达式“(true)&&(3>4)”的结果是(C )。A、true B、1 C、false D> 以上都不对9、当x为1时,布尔表达式“!(x0)&&(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(conditioonl) if(condituion2) statementl;|else statement2; A、只有当 conditionl =false 及 condition2=false 时,statement2 才能执行B> 无论 condition2 是什么,只要 conditionl=false, statement2就能执行C statement2无论在什么情况下,都不能执行D、只有当 conditionl=true 及 condition?=false 时,statement2 才能执行12、以下一段代码执行完毕后y的值是(B )。int x=ll; if (x>5) int y=x+5; elseint y =x-5; A、 16 B、 6 C、 11 D、 0最新资料推荐13、已知 x=7, y=ll,表达式 “(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=(65)” 的值是(B ) oA、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. printin(x>l); else if (x>5)System, out .printin(x5); else if (x<10)System, out. printin(x<10); else if (x<29)System. out . printin ( x29); elseSystem. out. printin ("以上都不是“); A. x>5 B. x>l C. x<10 D, x<29 17、下列程序运行后的结果是哪项?( B class TestApppublic static void main (String口 args) int X=5: switch (x) case 1:case 2:case 3:“一季度” );break; case 4“二季度”);“三季度以上”);break; 三季度以上D.无输出A )oSystem. out. printin (case 5:case 6:System, out. printin (break; default:System. out. printin (A. 一季度B.二季度C.18、下列程序的结果为( class Ifs public static void main (String args) boolean state=false;最新资料推荐int i=2;if( (+i2) && (state=true) i+;if ( (+i>4) 1 1 (state=false) i+; System, out .printin (i); A. 6 B, 5 C. 4 D.编译失败19、下列程序结果为(C )oclass Output (public static void main (String口 args) int i=5:System. out. print( 4+i+); System, out. print (i+5+7);System. out. printin (i+8); A. 9 9722 B. 9 55758 C. 45 10758 D. 45 9722 20、下列程序的结果是(B )。class Test2 fpublic 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 .printin ( z=+z); )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. printin(j) 2. switch (n) 最新资料推荐case 1: system. out. prin