JAVA类与对象及数组习题及复习资料
java类与对象选择题附加答案解析

Java 类与对象选择题练习附加答案解析1. 以下关于Java类的描述,正确的是:A. 类是对象的实例。
B. 类可以包含属性和方法。
C. 类不能继承其他类。
D. 类只能包含一个方法。
答案: B。
解析:类是对象的蓝图或模板,可以包含属性(成员变量)和方法(成员函数)。
2. 在Java中,要创建一个类的对象,应使用哪个关键字?A. newB. createC. instantiateD. make答案: A。
解析:在Java中,使用`new`关键字来创建类的对象。
3. 在以下关于构造方法的描述中,正确的是:A. 构造方法必须有返回类型。
B. 构造方法的名称必须与类名相同。
C. 构造方法可以是静态的。
D. 构造方法可以重载但不能覆盖。
答案: B。
解析:构造方法的名称必须与类名相同,并且没有返回类型(包括void)。
构造方法可以重载(多个同名但参数不同的方法),但不能覆盖(重写父类方法)。
4. 如果`MyClass`类有一个名为`display`的方法,且`myObject`是`MyClass`类的一个实例,如何调用该方法?A. display();B. MyClass.display();C. myObject.display();D. MyClass::display();答案: C。
解析:通过对象实例`myObject`来调用类的非静态方法`display`。
5. 以下哪个选项是关于`this`关键字的正确描述?A. `this`关键字指向类的超类(父类)。
B. `this`关键字只能在静态方法中使用。
C. `this`关键字引用当前对象的实例。
D. `this`关键字用于创建新的对象。
答案: C。
解析:`this`关键字引用当前对象的实例,可以在类的方法和构造方法中使用来引用当前对象的成员变量或方法。
6. 在Java中,如果类B继承自类A,且类A是基类,则下列哪个选项是正确的?A. 类B是类A的超类。
(本)JAVA复习题库-推荐下载

18、Java 语言最初是面向哪个应用领域设计的?( C )
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线0产中不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资22负料,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看2与全22过,22度并22工且22作尽2下可护1都能关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编5试技写、卷术重电保交要气护底设设装。备备4置管高调、动线中试电作敷资高气,设料中课并3技试资件且、术卷料拒管中试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
JAVA期末复习资料

JAVA期末复习资料一、判断题1、在main方法中可以直接调用非静态的方法。
(F)2、方法重载就是一个类中有多个同名但有不同形参和方法体的方法。
(T)3、一个Java源程序可有多个类,但只仅有一个public类,而且源程序名与public类名相同。
(T)4、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(T)5、方法中的形参可以和方法所属类的属性同名。
( T )6、Java类中不能存在同名的两个成员函数。
( F )7、可以用new来创建一个类的实例,即“对象”。
( T )8、Java中类的构造函数只能有一个。
( F )9、类的静态变量被该类的所有对象共享。
( T )10、不管定义与否,任何类都有一个不带参数的构造方法。
( F )11、一个类可以访问另一个类的私有成员。
( F )12、构造方法没有返回值,因此在定义构造方法时,其返回值类型必须声明为void。
( F )13、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。
( T )14、构造方法的名字必须与类名相同。
( T )15、一个类的私有变量可以在同一个包的不同类中使用。
( F )16、实例变量不能在类方法中直接引用,而类变量可以在实例方法中直接引用。
( T )17、抽象类可有构造方法,因此也能用new进行实例化。
(F)18、一个类可继承多个父类,实现多个接口。
( F)19、用final修饰的类不能被继承。
(T)20、接口中的成员变量全部为常量,方法为抽象方法。
(T)21、接口无构造器,不能有实例,也不能定义常量。
( F )22、java的类不允许嵌套定义。
( F)23、在接口中所有的方法都是抽象方法,所以必须在方法定义之前加上abstract关键字。
(F)24、抽象类中不能包含final修饰的方法。
(T)25、子类可以继承父类所有的成员变量及成员函数。
(F)26、接口可以被另一个接口继承。
JAVA复习题及答案

第一章JAVA概述1.JAVA中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台).2.JAVA从第几版称为JAVA2:JAVA 1.2版。
3.JAVA有否指针:无。
4.JAVA的API指的是什么:Application Programming Interface,JAVA的类库。
5.JAVA平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机器码,由平台上的Java虚拟机中的Java解释器解释执行。
6.JAVA有哪两种程序形式:Application和Applet程序。
7.Application程序运行时系统调用程序的哪个方法:main()方法。
Applet程序执行时系统自动调用程序的哪个方法:init()方法。
8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。
9.JDK是什么:Java开发工具包(Java Development Kit ) 的缩写,包括JAVA类库、JAVA编译器、JAVA解释器、运行时环境、命令行工具。
10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse, JCreator, JBuilder等。
11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip第二章JAVA语言基础13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JAVA中已定义的用于特定用途的标识符。
不能。
14.i++与++i有什么区别?15.写出各种转义字符?p17。
\t, \n, \r, \”, \’, \\16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package– 名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用”-“;Variable—第一个字母小写,不用”_”,”$”(对于inner class有意义);Constants—大写并用”_”17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。
JAVA考试复习题1(附答案)

《现代程序设计》(JAVA)考试复习题一、选择题1、关于Java语言叙述错误的是:(C)A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:(B)A.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型叙述正确的是:(B)A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样4、设int x=1,float y=2,则表达式x / y的值是:(D)A.0 B.1 C.2 D.以上都不是5、以下语句有语法错的是:(A)A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++);C.while (x>5); D.for(; ;);6、关于类和对象的叙述正确的是:(A )A.Java的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的是:(A)A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:(D)A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、void 的含义:(C )A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算10、关于Java中异常的叙述正确的是:(D )A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的11、所有的异常类皆继承哪一个类?(C)A.java.io.Exception B.ng.ThrowableC.ng.Exception D.ng.Error12、下面哪个不是java语言中的关键字?(B)A.long B.sizeof C.instanceof D.const13、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。
JAVA类与对象及数组习题及答案

JAVA 类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是(D )——原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。
A.按照一般方法调用B。
由用户直接调用ﻫC.只能通过new 自动调用D。
被系统调用(2)在Java 中,能实现多重继承效果的方式是( C )——原因:一个类可以同时实现多个接口。
Java 接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。
◻A。
内部类B.适配器 C.接口D.同步(3)int 型public 成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java 中定义常量用关键字final 来定义.A.public int MAX_LENGTH=100 B。
finalintMAX_LENGTH=100 ﻫC.public const int MAX_LENGTH=100D.p ublic final int MAX_LENGTH=100(4)下列叙述中,正确的是( A)—原因:Java 严格区分大小写,所以变量number 与Number 不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*---——--*/"和文档注释/**-—---- */。
Java 源文件中的public 类只能有一个。
◻A.声明变量时必须指定一个类型ﻫ B. Java认为变量number 与Number 相同ﻫC. Java中唯一的注释方式是"//"ﻫD。
源文件中public类可以有0 或多个(5)下列叙述中,错误的是(D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。
所以可以认为子类是父类的扩展。
◻A。
父类不能替代子类B.子类能够替代父类ﻫC。
子类继承父类D.父类包含子类(6)下列代码中,将引起编译错误的行是(B)—原因:定义float 型变量并对其初始化时,其值后面要加一个f。
java习题集及答案

JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和( B )特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译Java程序时使用的命令是(B)。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为(C)。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为(B)。
(A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为(D)。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为(C)。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,(B)不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类(A)。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字(C)与异常处理无关。
|A. throwB. throwsC. importD. finally10.在读字节文件时,使用该文件作为参数的类是(D)。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为应用程序接口2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
Java语言与面向对象技术复习资料

Java语⾔与⾯向对象技术复习资料⼀、单项选择题。
1、下列哪个是Java应⽤程序主类中正确的main⽅法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。
B.a[1]的值是1。
C.a[0]的值是0。
D.a[a.length-1]的值等于a[2]的值。
4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.’苹’+’果’的结果是char型数据。
D.(short)10+’a’的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造⽅法。
B.Hello类的int Hello()⽅法是错误的⽅法。
C.Hello类没有构造⽅法。
D.Hello⽆法通过编译,因为其中的hello⽅法的⽅法头是错误的(没有类型)。
class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。
B.⽅法的参数的名字可以和⽅法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?()A.⼦类继承⽗类的构造⽅法B.abstract类的⼦类必须是⾮abstract类C.⼦类继承的⽅法只能操作⼦类继承和隐藏的成员变量D.⼦类重写或新增的⽅法也能直接操作被⼦类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(⽆法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放⼊程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. ⼀个类最多可以实现两个接⼝B. 如果⼀个抽象类实现某个接⼝,那么它必须要重写接⼝中的全部⽅法C. 如果⼀个⾮抽象类实现某个接⼝,那么它可以只重写接⼝中的部分⽅法D. 允许接⼝中只有⼀个抽象⽅法⼆、程序填空题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JA V A类和对象及数组习题一、选择题(1)下列构造方法的调用方式中,正确的是( D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。
A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)在Java中,能实现多重继承效果的方式是( C )--原因:一个类可以同时实现多个接口。
Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。
A.内部类B.适配器C.接口D.同步(3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。
A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。
Java源文件中的public类只能有一个。
A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。
所以可以认为子类是父类的扩展。
A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(6)下列代码中,将引起编译错误的行是( B )—原因:定义float型变量并对其初始化时,其值后面要加一个f.1)public class Exercise{2)public static void main(String args[]){3)float f=0.0;4) f +=1.0;5)}6)}A. 第2行B. 第3行C. 第4行D. 第6行(7)下列关于继承的哪项叙述是正确的?( D ) –错误原因:JAVA不允许多重继承,但可以通过接口的机制来达到多重继承的目的;一个类可以同时继承一个类和实现多个接口,但是不能同时继承多个类。
(15)为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
--原因:static修饰的方法又称为静态方法。
静态方法是类方法,它可以直接通过类来调用,也可以通过类实例来调用。
A.static void method( ) B. public void method( )C.final void method( ) D. abstract void method(16) 不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( D )--原因:A子类实例方法可以直接调用父类的public和protected实例方法,但不能调用父类的private方法。
B类方法也称为静态方法,非静态的方法不能调用静态的方法和成员变量,所以无论是父类还是子类的实例方法都不能调用静态方法。
C一个类的实例方法只有这个类的其它方法或对象可以调用,不可以由其它类不经过实例化直接调用。
A.实例方法可以直接调用父类的实例方法。
B.实例方法可以直接调用父类的类方法。
C.实例方法可以直接调用其他类的实例方法。
D.实例方法可以直接调用本类的实例方法(17)设有下面的一个类定义:class AA { static void Show( ) { System.out.println(“我喜欢Java!”); } }class BB { void Show( ) { System.out.println(“我喜欢C++!”); }}若已经使用AA类创建对象a和BB类创建对象b,则下面( A、C )方法调用是正确的–原因:静态方法属于类方法,它可以直接通过类来调用,也可以通过类实例来调用。
而非静态的方法则只能通过类实例(对象)来调用。
所以AA类的静态show方法即可通过类也可以通过对象来调用,而BB类中的非静态方法show则只能通过对象b来调用。
A. a.Show( ) ; b.Show( )B. AA.Show( ); BB.Show( );C. AA.Show( ); b.Show( );D. a.Show( ); BB.Show( );(18) 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为( C )。
–原因:同一名称的方法实现不同的功能是面向对象的多态性的表现,该多态性也称为重载。
A.隐藏B.覆盖C.重载D.Java不支持此特性(19) 对于构造函数,下列叙述不正确的是( C )。
–原因:子类可以通过super来调用父类的构造方法。
A.构造函数也允许重载。
B.子类无条件地继承父类的无参构造函数。
C.子类不允许调用父类的构造函数。
D.在同一个类中定义的重载构造函数可以相互调用。
(20) 对于子类的构造函数说明,下列叙述中不正确的是( D )。
--原因:子类不可以继承父类的有参构造函数。
只能通过super调用。
A.子类无条件地继承父类的无参构造函数。
B.子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C.在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。
D.子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
二、请写出下列程序的运行结果(1)下列程序的运行结果是( s=120 ) —分析:if语句执行3次,分别是当i=0,3,6时,对应的数组中的数分别为:10,40,70,它们的和为120.public class Examac{ public static void main(String args[ ]){ int i , s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( i%3 == 0 ) s += a[i] ;System.out.println("s="+s); } }(2)下列程序的运行结果是( 110 110 110 110 110 )—分析:for循环执行5次,分别输出11+99,22+88,33+77, 44+66, 55+55的和,且之间用空格隔开。
public class Examad{ public static void main(String args[ ]){ int i ;int a[ ] = { 11,22,33,44,55,66,77,88,99 };for ( i = 0 ; i <= a.length / 2 ; i ++ )System.out.print( a[i]+a[a.length-i-1]+" ");System.out.println( ); } }(3)下列程序的运行结果是( parentchildchild)—分析:当对象myC调用方法printAll()后,顺序执行该方法中的三条语句,在子类Child中,重载了父类的printMe方法,所在当执行this.printMe() 和printMe()方法时都调用重载后的printMe()方法。
所以依次输出parent,child,child.class Parent{ void printMe(){ System.out.println("parent"); } }class Child extends Parent{ void printMe(){ System.out.println("child"); }void printAll(){ super.printMe();this.printMe();printMe(); } }public class Examae{ public static void main(String args[ ]){ Child myC = new Child( );myC.printAll( ); } }(4)下列程序的运行结果是(The String No.1 isThe String No.2 is String 2The String No.3 is stringThe String No.4 is stringThe String No.5 is string )—原因:s1定义了一个空的字符串对象,所以不会输出任何东西。
s2定义了一个字符串对象并赋初值为string2。
s3定义了一个以字符数组为参数的字条串对象,并将该字符数组组成的字符串赋给s3。
s4定义同s3,只是只取字符数组从索引值为2的字符开始之后的6个字符,所以会去掉前面的两个空格。
s5是以一个StringBuffer类对象为参数定义的一个字符串对象,它的初值同s3.class Examaf {public static void main(String args[]) {String s1=new String();String s2=new String("String 2");char chars[]={' ',' ','s','t','r','i','n','g'};String s3=new String(chars);String s4=new String(chars,2,6);byte bytes[]={0,1,2,3,4,5,6,7,8,9};StringBuffer sb=new StringBuffer(s3);String s5=new String(sb);System.out.println("The String No.1 is "+s1);System.out.println("The String No.2 is "+s2);System.out.println("The String No.3 is "+s3);System.out.println("The String No.4 is "+s4);System.out.println("The String No.5 is "+s5); } }(5)下列程序的运行结果是(0 and 01 and 00 and 11 and 10 and 21 and 2)—原因:不带标签的break只结束它所在那一层循环不能结束外部循环,所以内层循环只能执行两次,分别是j为0,1时。