Java基础测试题答案
java基础测试题及答案

一、选择题(每题2分,共40分)1、下面哪个是Java语言中正确的标识符( C )A、3comB、importC、thatD、this2、下面哪个语句(初始化数组)是不正确的:( B)A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};3、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态C.类、封装 D.过程调用4、下面的代码段中,执行之后i 和j 的值是什么 ( B )int i = 1;int j;j = i++*2+3*--i;A.1, 2 B.1, 5 C. 2, 1 D. 2, 25、下面哪条语句把方法声明为抽象的公共方法( B )A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;6、下面关于java中类的说法哪个是不正确的( C )A.类体中只能有变量定义和成员方法的定义,不能有其他语句。
B.构造函数是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的( C )class A{ int i;static String s;void method1() { }static void method2() { }}A、;B、();C、();D、()8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变 ( B )A、 CardLayoutB、 FlowLayoutC、 BorderLayoutD、 GridLayout9、下列哪个用户图形界面组件在软件安装程序中是常见的 ( C )A.滑块B.进度条C.按钮D.标签10、在Java 中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法:(B)A.mid(2,s); B.charAt(2); C.(‘V’);D.indexOf(s,’V’);11、Java中哪个类提供了随机访问文件的功能。
java基础测试题_含答案

Java基础试题姓名一、选择题(每题2分,共30分)1.请写出标识符的命名规则描述正确的是[多选](ABCD )A、由英文字母、数字、_和$组成,长度不限。
B、标识符的第一个字符不能是数字C、标识符区分大小写。
D、标识符不能包含空格。
2. 下列属于正确标识符的选项有[多选](BDGH)A. intB. $_CountC. 3MD. HelloE. b-7F. ms#dG. boolH. D96583、下列哪一个不属于java的基本类型( B )A、intB、StringC、floatD、byte4、下列那条语句能编译通过( A )A、String String=”String”;B、float float=”3.14”;C、int int = 11;D、int i= 1.1;5、下列代码的执行结果是: ( D )public class Test1{public static void main(String args[]){float t=9.0f;int q=5;System.out.println((t++)*(--q));}}A、40B、40.0C、36D、36.06、int长度描述正确的是(A )A、-2^31到2^31 - 1B、-2^32到2^32 - 1C、-2^7到2^7 - 1D、-2^8到2^8 - 17、关于==和equals方法描述不正确的是( D )A、==是运算符、equals是方法B、==只比较对象,equals会先比较对象,如果不是一个对象,会对对象的值进行比较。
C、String a= "1"; String b= "1"; System.out.println(a==b); 输出结果为:trueD、String a=new String("1");String b=new String("1");System.out.println(a==b);输出结果为:true8、下列关于哪个不属于java的特性( D )A、封装B、继承C、多态D、重载9、某一个子类要继承一个父类,要使用关键字(B )A、importB、extendsC、implementsD、java10、某一个子类要实现一个父接口,要使用关键字(C )A、importB、extendsC、implementsD、java11、以下关于接口和类的说法正确的是( C )A、接口和类都可以实现多重继承B、子类可以继承多个父类C、子类可以实现多个接口D、一个子类不能同时继承某一个父类和实现某一个接口12、一个非抽象子类,如果要实现某个接口,则(A )A、必须实现该接口中的所有抽象方法B、可以实现部分抽象方法C、可以不实现任何抽象方法D、无所谓13、下列关于Java线程的说法那些是正确的( D )A、每一个Java、线程可以看成由代码.一个真实的CPU以及数据三部份组成。
Java语言基础测试题及答案

Java语言基础测试题及答案Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
下面店铺整理了Java语言基础测试题及答案,希望对大家有帮助!1. 下列基本数据类型所占的字节数相同的组是(D)。
A. boolean和charB. int和doubleC. char和intD. long和double2. 以下不是基本类型的数据是(B)。
A. 'a'B. "a"C. 1.3D. 5L3. 已知doubled = 3.14; 对语句System.out.println((int)(d));作用的说法错误的是(B)。
A. 输出3B. d的类型变为int型,数值变为3C. d的类型仍然为double型D. d的数值仍然为3.144. 以下表达式可以将基本类型变量a的值转换为对应字符串的是(D)。
A. ""+aB. a+""C. a+''D. A和B都可以5. 以下表达式中没有错误的是(D)。
A. Stringa = 'a';B. Stringb = abc;C. Stringc = 'abc';D. Stringd = "abc";6. Java语言采用字符集(C)表示char型数据。
A. ASCIIB. EBCDICC. UnicodeD. BCD7. 以下字符常量中错误的是(B)。
A. ''B. '''C. ''D. '"'8. 以下类型数据中(A)不一定能被精确地表示。
A. doubleB. intC. charD. long9. 下列语句中没有错误的是(D)。
A. inta = 1e10;B. intb = 1L;C. longc=2.0;D. doubled=2;10. 下列语句中没有错误的是(D)。
Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。
( D )1.2 {34. } (只能有一个修饰的)A、 .*;B、 ;C、 { }D、 { }2. 以下哪项是接口的正确定义?( B D )A、 B{ (){};} (接口里的方法都是抽象的,不能有方法体)B、 B{ () ;}C、 B A12 1、A2为已定义的接口{ (){ };} (同上)D、 B{ ();}1.接口可以声明为(公共)或默认的访问权限。
接口隐含表明是抽象的()的。
2.接口的方法默认即为(公共)且是(抽象)的.3.接口中的变量默认即为(公共), (静态) (最终的)。
接口声明编译器如何解释呢{}{}{}{}{}{}( );( );( );( );( );( );= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;= ‘?’;3. 下面哪个函数是 (){...}的重载函数?( D )A、 ( ){...}B、 (){...}C、 ( ){...}D、 ( m){...}(重载:定义同名的方法,方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同)4. A派生出子类B,B派生出子类C,并且在源代码中有如下声明:1. A a0 A();2. A a1 B();3. A a2 C();问以下哪个说法是正确的?( D )A、只有第1行能通过编译B、第1、2行能通过编译,但第3行编译出错C、第1、2、3行能通过编译,但第2、3行运行时出错D、第1行、第2行和第3行的声明都是正确的(A是B的父类,也算是C的父类)5. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) A a = A();A{ i;s;1() { }2() { }}A、();B、1();C、1();D、2() ;(A是类名,应该调用对象a)6. 有如下代码段:1)2) { (()){ …}3) (()){ …}4) }其中,方法() 将抛出, 请问可将以下哪项填入第1行?( D )A、 ()B、 ()C、 ()D、 ()7. 的字符类型采用的是编码方案,每个码占用( C )个比特位。
java基础试题及答案

java基础试题及答案Java是一种广泛应用的计算机编程语言,具有简单、可移植、面向对象、安全以及高性能等特点。
它在互联网、移动应用、企业级应用开发等领域都有着重要的地位。
为了帮助大家更好地掌握Java基础知识,以下是一些常见的Java基础试题及答案。
一、选择题1. 下列关于Java语言的特点,错误的是:A. Java是一种面向对象的语言B. Java具有可移植性C. Java是一种编译型语言D. Java具有垃圾回收机制答案:C2. Java程序的入口点是:A. public static void main(String[] args)B. public static void start(String[] args)C. public static void run(String[] args)D. public static void execute(String[] args)答案:A3. 下列关于Java包(package)的说法,正确的是:A. 包用于组织类和接口B. 包是Java中的关键字C. 一个Java文件只能属于一个包D. 包的命名必须与所在的文件夹相同答案:A二、填空题1. 关键字____用于定义类的继承关系。
答案:extends2. 在Java中,____用于创建对象的实例。
答案:new3. Java中,____可以用于捕获、处理异常。
答案:try-catch三、简答题1. 什么是面向对象编程?答:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将问题描述为一组对象的集合,通过对象之间的互相作用来解决问题。
面向对象编程主要包括封装、继承和多态三个基本特性。
2. Java的封装是指什么?答:封装是面向对象编程中的一种基本特性,指的是将数据和操作数据的方法放在一个类中,对外部隐藏内部的具体实现细节,只暴露必要的接口供外部调用。
java基础笔试题及答案

java基础笔试题及答案一、选择题1. 下列哪个关键字可以用来创建线程?A. classB. interfaceC. implementsD. extends答案:D2. Java中的“==”运算符用于比较什么?A. 引用是否相同B. 对象的内容C. 字符串的内容D. 整数的大小答案:A3. 在Java中,哪个类是所有类的根类?A. ObjectB. StringC. IntegerD. System答案:A4. 下列哪个方法用于获取对象的哈希码?A. equals()B. hashCode()C. toString()D. getClass()答案:B5. Java中,哪个关键字用于实现单例模式?A. privateB. publicC. staticD. final答案:C二、简答题1. 解释Java中的垃圾回收机制是什么?答案:Java中的垃圾回收机制是一种自动内存管理功能,它周期性地执行,以识别不再使用的对象,并释放这些对象占用的内存空间。
垃圾回收器会检查内存中的对象,并确定对象是否仍然被应用程序中的其他对象引用。
如果一个对象没有任何引用指向它,那么它就被认为是“垃圾”,垃圾回收器会回收其内存。
2. 什么是Java的异常处理机制?答案:Java的异常处理机制允许程序在发生错误时继续运行,而不是立即崩溃。
它通过使用try、catch、finally和throw关键字来实现。
try块用于捕获可能出现异常的代码,catch块用于处理这些异常,finally块用于执行无论是否发生异常都需要执行的代码,throw关键字用于手动抛出异常。
三、编程题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除操作。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = input.nextDouble();System.out.print("请输入第二个数字:");double num2 = input.nextDouble();System.out.print("请选择操作(+、-、*、/):"); char operation = input.next().charAt(0);double result;switch (operation) {case '+':result = num1 + num2;break;case '-':result = num1 - num2;break;case '*':result = num1 * num2;break;case '/':if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0。
java基础期末考试题及答案
java基础期末考试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的合法标识符?A. 2variableB. _variableC. variable2D. variable$$答案:C3. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements答案:C4. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. abstractD. extends答案:B5. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B6. 下列哪个选项是Java中的合法数组声明?A. int[] array;B. int array[];C. int array[10];D. All of the above答案:D7. Java中,哪个关键字用于声明一个方法?A. methodB. functionC. defD. void答案:D8. 在Java中,下列哪个选项是正确的方法重载?A. 方法名相同,参数列表不同B. 方法名不同,参数列表相同C. 方法名和参数列表都不同D. 方法名相同,参数列表相同答案:A9. Java中,哪个关键字用于声明一个包?A. packageB. importC. exportD. include答案:A10. 在Java中,下列哪个选项是正确的继承关系?A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类不能继承任何类D. 一个类可以继承多个接口答案:A二、填空题(每题2分,共20分)1. Java程序的执行是从_____main______方法开始的。
2. 在Java中,____static____关键字用于声明类级别的变量或方法。
Java基础笔试机试测试题(带答案)
Java基础考试题班级:__________姓名:___________日期:_____________一、笔试(45题,每题2分)1) 分析下面的Java程序段,编译运行后的输出结果是()。
publicclassTest{publicstaticvoidchangeString(StringBuffersb){sb.append("stringbuffer2");}publicstaticvoidmain(String[]args){StringBuffersb=newStringBuffer("stringbuffer1");changeString(sb);="+sb.toString());}}A. sb=stringbuffer2stringbuffer1B. sb=stringbuffer1C. sb=stringbuffer2D. sb=stringbuffer1stringbuffer22) 在Java中,包有多种用途,但不包含()。
A. 将类组合成较小的单元,便于使用B. 有助于避免命名冲突C. 有助于提高运行效率D. 允许在更广的范围内保护类、数据和方法3) 在Java中,如果要在字符串类型s="java"中,得到字母'v'出现的位置,选()语句。
A)s.matches('v');B)s.charAt('v');C)s.indexOf('v');D)s.substring('v');4)下列代码运行后,变量c的值是()。
inta=15,b=10;doublec=a/b;a)1.5b)1.0c)1d)05)main方法如下所示,该程序的运行结果是()。
publicstaticvoidmain(String[]args){inti=0;}a)输出0b)输出1c)编译错误d)运行时出现异常6)使用类的步骤包括以下三步,它们的先后顺序是()。
java基础笔试题及答案
java基础笔试题及答案1. Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. public答案:A2. 下列哪个选项不是Java语言的基本数据类型?A. intB. floatC. charD. String答案:D3. 在Java中,下列哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. finally答案:A4. 下列哪个选项是Java中正确的继承关系?A. 类可以继承多个类B. 接口可以继承多个接口C. 类可以实现多个接口D. 接口可以实现类答案:C5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. public答案:B6. 下列哪个选项是Java中正确的访问修饰符?A. publicB. privateC. protectedD. all of the above答案:D7. 在Java中,下列哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. 下列哪个选项是Java中的集合框架?A. ArrayListB. LinkedListC. HashMapD. all of the above答案:D9. 在Java中,下列哪个关键字用于定义一个抽象类?A. abstractB. finalC. staticD. interface答案:A10. 下列哪个选项是Java中正确的多线程实现方式?A. 实现Runnable接口B. 继承Thread类C. 实现Callable接口D. all of the above答案:D11. 在Java中,下列哪个关键字用于定义一个静态方法?A. staticB. finalC. abstractD. synchronized答案:A12. 下列哪个选项是Java中正确的异常处理关键字?A. tryB. catchC. finallyD. all of the above答案:D13. 在Java中,下列哪个关键字用于定义一个私有成员?A. privateB. protectedC. publicD. static答案:A14. 下列哪个选项是Java中正确的集合初始化方式?A. List<String> list = new ArrayList<>();B. List<String> list = new LinkedList<>();C. List<String> list = new HashMap<>();D. all of the above答案:A15. 在Java中,下列哪个关键字用于定义一个同步方法?A. synchronizedB. volatileC. transientD. strictfp答案:A16. 下列哪个选项是Java中正确的泛型声明方式?A. List list = new ArrayList<String>();B. List<String> list = new ArrayList();C. List<String> list = new ArrayList<String>();D. all of the above答案:B17. 在Java中,下列哪个关键字用于定义一个局部变量?A. finalB. staticC. transientD. volatile答案:A18. 下列哪个选项是Java中正确的异常类?A. ExceptionB. ErrorC. ThrowableD. all of the above答案:D19. 在Java中,下列哪个关键字用于定义一个常量?A. finalB. staticC. transientD. volatile答案:A20. 下列哪个选项是Java中正确的集合遍历方式?A. for loopB. while loopC. for-each loopD. all of the above答案:D。
java基础测试题
java基础测试题1. 下面代码的输出结果是什么?请解释原因。
```javapublic class Test {public static void main(String[] args) {int a = 5;int b = 2;int c = a / b;System.out.println(c);}}```答案:输出结果为2。
解释:在Java中,整数相除的结果仍然是整数。
当两个整数相除时,如a/b,如果除不尽,整数部分将被保留,小数部分将被忽略。
在这个例子中,5除以2的结果是2,因此输出结果为2。
2. 请简要说明Java中的包装类是什么,并举例说明如何使用包装类。
答案:Java中的包装类是一种将基本数据类型封装为对象的类。
包装类提供了许多方法,可以使得基本数据类型具备对象的特性。
例如,可以使用Integer包装类来操作整数数据:```java// 创建一个Integer对象Integer num = new Integer(10);// 调用包装类的方法int value = num.intValue();System.out.println(value); // 输出结果为10// 使用包装类进行数值的比较Integer num1 = new Integer(5);Integer num2 = new Integer(10);int result = pareTo(num2);System.out.println(result); // 输出结果为-1,表示num1小于num2```3. 请列举并解释Java中的三种访问控制修饰符。
答案:- public:公共的,可以在任何地方被访问。
- private:私有的,只能在该类内部被访问,其他类无法直接访问。
- protected:受保护的,可以被同一包内的类访问,以及其他包中继承该类的子类访问。
这些访问控制修饰符可以用来限制对类、方法以及变量的访问权限,提高代码的安全性和可维护性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、 interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、 abstract interface B { void print() ;} C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、 interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明 编译器如何解释呢
public interface Searchable {} public abstract interface Searchable {} abstract interface Searchable {} abstract interface Searchable {} interface Searchable {} abstract interface Searchable {} void search(String searchString); public abstract void search(String searchString); abstract void search(String searchString); public abstract void search(String searchString); public void search(String searchString); public abstract void search(String searchString);
char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; public char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’;
static? MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’;
final char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’; final public char MATCH_ONLY_ONE = ‘?’; public static final char MATCH_ONLY_ONE = ‘?’;
3. 下面哪个函数是public void aMethod(){...}的重载函数?( D )
A、void aMethod( ){...} B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...} (重载:定义同名的方法,方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同) 4. A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的? ( D ) A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错 C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 (A是B的父类,也算是C的父类) 5. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) A a = new A(); class A { int i; static String s; void method1() { } static void method2() { } } D、A.method2() ;(A是类名,应该调用对象a) 6. 有如下代码段: 1) 2) { if(unsafe()){//do something…} 3) else if(safe()){//do the other…} 4) } 其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?( D ) A、 public IOException methodName() B、 public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException 7. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( C )个比特位。 byte A、8 B、16 C、32 D、64 8. 以下关于继承的叙述正确的是( A )。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 (可以实现多个接口) C、在Java中一个类不能同时继承一个类和实现一个接口 (可以的) D、在Java中接口只允许单一继承 (可以继承多个接口) 9. 给出下面代码,关于该程序以下哪个说法是正确的?( C ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { } } A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 (输出数组的首地址arr[0],int类型的初始值为0) 10. 在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。 A、private B、protected C、private protected D、public (接口只能和public 和abstract关键字连用 ) 11. 编译并运行以下程序,以下描述哪个选项是正确的( D ) 1. class A{ 2. protected boolean equals(){ 3. return super.equals(); 4. } 5. } (只有调用父类非私有属性和方法时才使用到super) A、编译通过运行无异常 B、编译通过但运行时出错 C、行2出错,不能成功编译 D、不能成功编译,行3出错 12. 有语句String s=”hello world”; ,以下操作哪个是不合法的?( B ) A、int i=s.length(); B、s>>>=3;(>>>为无符号右移运算符,去掉“=”号) C、String ts=s.trim(); D、String t=s+”!”; 13. 下列关于Java语言的特点,描述错误的是( C ) A.Java是跨平台的编程语言 B.Java支持分布式计算 C.Java是面向过程的编程语言(面向对象) D.Java支持多线程 14. 下述概念中不属于面向对象方法的是( D )。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 (过程调用是属于过程方法) 15. 结构化程序设计所规定的三种基本控制结构是 ( C ) A.输入、处理、输出 B.树形、网形、环形 C.顺序、选择、循环 D.主程序、子程序、函数 16. 下列关于构造方法的叙述中,错误的是( C ) A.Java语言规定构造方法名与类名必须相同 B.Java语言规定构造方法没有返回值,但不用void声明 C.Java语言规定构造方法不可以重载 D.Java语言规定构造方法只能通过new自动调用 17. 下列哪个类的声明是正确的?( D ) A.abstract final class HI{} (final代表常量,但是抽象类不能实例化) B.abstract private move(){} (这是定义方法的) C.protected private number; (不是定义类,且修饰符重复) D.public abstract class Car{} 18. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问 19. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结