java字符串特性练习--答案

合集下载

Java常用API知识测试带答案

Java常用API知识测试带答案

常用API部分测试题1.String类中的getBytes()方法的作用是( C )A)将整数变成字符串B)将字符串变成字符数组C)将字符串变成字节数组D)获取字符串中字符的个数2.下列程序的输出结果是( A )class Demo {publicstaticvoid main(String[] args) {System.out.println("abcd".substring(1,3));}}A)bc 包头不包尾B) bC)bcdD)abcd3.对字符串”ababcdabcdefg”使用index Of(‘a’)和lastIndexOf(‘a’),的运行结果是( B )A)1,1B)0,6C)0,0精选文库D)1,6indexOf 从前开始获取,第一位是0lastIndexOf 从后开始获取,但索引还是从前面的第一位0开始4.下面程序的运行结果是什么( A )public static void main(String[] args){String s1 = “abc”;String s2 = “xyz”;show(s1,s2);System.out.println(s1+”-----”+s2);}static void show(String s1,String s2){s1 = s2+s1+”Q”;show方法中的s1= “xyzabcQ”但是main函数中s1没有变化.s2 = “W”+s1;}String字符串的特性,String应该算是一个特殊的引用类型吧,特殊在它的值不被改变A)abc-----xyzB)xyzabcQ-----xyzWabcC)xyzabcQ---- xyzabcQWabcD)xyzQ----Wabc5.以下哪个方法可以向StringBuffer对象的指定位置添加数据( B )A)add()B)insert() 注意是指定位置添加C)appendD)into()6.下面说法不正确的是( B )A)byte的包装类是Byte精选文库B)int的包装类是IntC)short的包装类是ShortD)long的包装类是Long7.关于null和“”说法正确的是( ABD )A)null是常量B)“”是字符串对象C)null可以调用方法D)“”可以调用方法8. 预定义字符 \w 代表什么( C )A) [A-Z]B) [a-z]C) [a-zA-Z_0-9]D) [0-9]9.关于String类的indexOf说法不正确的是( CD )A)返回指定字符在字符串中第一次出现的索引B)返回指定子字符串在字符串第一次出现的索引C)返回指定字符在字符串中最后一次出现的索引D)返回指定子字符串在此字符串最后一次出现的索引10.String类charAt()方法作用是 ( A )A)返回指定索引处的字符B)返回指定索引出的字符串C)返回指定字符的索引D)返回指定字符串的索引11.下面程序的运行结果是( B )Integer i5 = 100;Integer i6 = 100;System.out.println(i5 == i6);System.out.println( (i5 *2) == (i6 *2));System.out.println(i5.equals(i6));A)true,true,trueB)true,false,trueC)true,false,falseD)false,false,false-128到127是byte的取值范围,,如果在这一范围自动装箱不会创建新的对象,而是从常量池中获取,如果超过就创建对象12.下面程序的运行结果是( B )S tring s1 = new String(“abc”);String s2 = new String(“abc”);System.out.println(s1==s2);比较的是地址.因为是2个对象.所以false String s3 = “你好吗”;String s4 =”你”;String s5 =”好吗”;System.out.println(“你好吗”==(”你”+”好吗”))这个是true,因为java有优化机制A)true trueB)false trueC)true flaseD)false false13.下列程序的输出结果是( D )class Demo {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int i = sc.nextInt();System.out.println(i);}}从键盘输录入:a 10回车A) aB)10C) a 10D)抛出异常输入的有a字符,只能接收整数14.String类中split()方法描述正确的是( AC )A)切割字符串B)返回一个新的字符串C)返回一个新的字符串数组D)此方法没有返回值15.将十进制数100转成二进制数用哪个方法( A )A)toBinaryString()Integer对象的方法, 二进制那就得Binary了.但最后的返回值是String形式的.B)toHexString()C)intValue()D)toOctalString()16.StringBuffer字符串缓冲区的初始容量是多少个字符( D )A)10个B)12个C)14个D)16个这个是默认值17.向字符串缓冲区中追加字符串,使用的方法是( C )A)length()B)delete()C)append()看意思:附加,追加。

Java常用API知识测试带答案

Java常用API知识测试带答案

常用API部分测试题1. String 类中的getBytes() 方法的作用是(C )A)将整数变成字符串B)将字符串变成字符数组C)将字符串变成字节数组D)获取字符串中字符的个数2.下列程序的输出结果是(A )class Demo {publicstaticvoid main(String口args) {System.out.println("abcd".substring(1,3)); } } A) bc 包头不包尾B) b C) bcd D) abcd3.对字符串" ababcdabcdefg” 使用index Of( 'a’)和lastIndexOf( 'a’),的运行结果是(B )A)1,1B)0,6C) 0,0D) 1,6indexOf 从前开始获取,第一位是0lastIndexOf 从后开始获取,但索引还是从前面的第一位0 开始4.下面程序的运行结果是什么( A )public static void main(String[] args){String s1 = “ abc ”;String s2 = “ xyz ”;show(s1,s2);System.out.println(s1+ ” -- ” +s2);}static void show(String s1,String s2){s1 = s2+s1+ ” Q” ;show 方法中的s1= “xyzabcQ” 但是main 函数中s1 没有变化. s2 = “ W” +s1;}String 字符串的特性,String 应该算是一个特殊的引用类型吧,特殊在它的值不被改变A)abc ---- x yzB)xyzabcQ ---- x yzWabcC)xyzabcQ xyzabcQWabcD)xyzQ --- W abc5.以下哪个方法可以向StringBuffer 对象的指定位置添加数据( B )A)add()B)insert() 注意是指定位置添加C)appendD)into()6.下面说法不正确的是( B )A)byte 的包装类是ByteB)int 的包装类是IntC)short 的包装类是ShortD)long 的包装类是Long7.关于null 和“” 说法正确的是( ABD )A)null 是常量B)“” 是字符串对象C)null 可以调用方法D)“” 可以调用方法8.预定义字符\w 代表什么( C )A)[A-Z]B)[a-z]C)[a-zA-Z_0-9]D)[0-9]9.关于String 类的indexOf 说法不正确的是( CD )A)返回指定字符在字符串中第一次出现的索引B)返回指定子字符串在字符串第一次出现的索引C)返回指定字符在字符串中最后一次出现的索引D)返回指定子字符串在此字符串最后一次出现的索引10.S tring 类charAt() 方法作用是( A )A)返回指定索引处的字符B) 返回指定索引出的字符串C)返回指定字符的索引D)返回指定字符串的索引11.下面程序的运行结果是( B )Integer i5 = 100;Integer i6 = 100;System.out.println(i5 == i6);System.out.println( (i5 *2) == (i6 *2));System.out.println(i5.equals(i6));A)true,true,trueB)true,false,trueC)true,false,falseD)false,false,false-128 到127 是byte 的取值范围,,如果在这一范围自动装箱不会创建新的对象,而是从常量池中获取,如果超过就创建对象12.下面程序的运行结果是( B )S tring s1 = new String( “ abc” );String s2 = new String( “ abc” );System.out.println(s1==s2); 是String s3 = “ 你好吗”;String s4 = ”你”;String s5 = ”好吗”;System.out.println( “ 你好吗” ==( ”你” +”好吗” ))这个是true ,因为java 有优化机制A)true trueB)false trueC)true flaseD)false false13. F列程序的输出结果是(D )class Demo {public static void main(String口args) {Scanner sc = new Scanner(System.in);int i = sc.nextInt();System.out.println(i);}}从键盘输录入:a 10回车A) aB)10C) a 10D)抛出异常输入的有a字符,只能接收整数14.String 类中split() 方法描述正确的是(AC )A) 切割字符串B)返回一个新的字符串C)返回一个新的字符串数组D)此方法没有返回值15.将十进制数100转成二进制数用哪个方法(A )A)toBinaryString()Integer 对象的方法,二进制那就得Binary 了.但最后的返回值是String 形式的.B)toHexString()C)intValue()D) toOctalString()16.StringBuffer 字符串缓冲区的初始容量是多少个字符( D )A)10 个B)12 个C)14 个D)16 个这个是默认值17.向字符串缓冲区中追加字符串,使用的方法是( C )A)length()B)delete()C)append()看意思:附加,追加。

java字符串处理选择题附加答案解析

java字符串处理选择题附加答案解析

Java 字符串选择题附加答案解析1. 下列关于Java字符串的描述中,错误的是:A. 字符串是不可变的。

B. 字符串可以通过字符数组来初始化。

C. 字符串可以用’+’操作符连接。

D. 字符串可以被修改。

答案: D。

解析:Java字符串是不可变的,一旦创建就不能修改。

2. 给定以下Java代码片段:javaString str = "Hello, World!";变量’str’的值是:A. nullB. "Hello, World!"C. "Hello"D. "World!"答案: B。

解析:’str’被初始化为字符串字面量"Hello, World!"。

3. 给定以下Java代码片段:javaString str = "Hello";表达式’str.length()’的值是:A. 4B. 5C. 6D. 7答案: B。

解析:’str.length()’返回字符串’str’的长度,这里是5。

4. 给定以下Java代码片段:javaString str1 = "Hello";String str2 = "World";String result = str1 + ", " + str2 + "!";变量’result’的值是:A. "Hello World"B. "Hello, World"C. "Hello, World!"D. "HelloWorld!"答案: C。

解析:字符串’result’连接了’str1’、", "、’str2’和"!",其值为"Hello, World!"。

java程序设计第1-4章练习题参考答案(1)

java程序设计第1-4章练习题参考答案(1)

java程序设计第1-4章练习题参考答案(1)一、选择题1.下面供选字符序列中,不属于...Java语言关键字的是( A ) A.goto B.null C.false D.native2.以下是关于Java语言关键字的叙述,其中正确的是( C )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字3.下述字符组合不能作为Java程序标识符的是(D)A.Aa12 B.XC.y D.5x4.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.newC.java D.return5.下列字符组合不能作为Java整型常量的是( A )A.078B.0x3ACBC.5000D.0x3ABC6.设有如下程序:public class Test {public static void main(String[] args) {String foo=args[1];String bar=args[2];String baz=args[3];System.out.println("baz= "+baz);}}下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C )A) java Test 2222 B) java Test 1 2 3 4C) java Test 4 2 4 2 D) java Test 4 3 2 17.在Java语言中,int类型数据的长度是( C )A.1个字节B.2个字节C.4个字节D.8个字节8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。

A) java Hello.class B) Hello.class C) java Hello.java D) java Hello9.执行以下代码,输出结果是( B )int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true10.下列修饰符中与访问控制无关的是(C)。

Java常用API知识测试带答案

Java常用API知识测试带答案

常用API部分测试题1.String类中的getBytes()方法的作用就是( C )A)将整数变成字符串B)将字符串变成字符数组C)将字符串变成字节数组D)获取字符串中字符的个数2.下列程序的输出结果就是( A )class Demo {publicstaticvoid main(String[] args) {System、out、println("abcd"、substring(1,3));}}A)bc 包头不包尾B) bC)bcdD)abcd3.对字符串”ababcdabcdefg”使用index Of(‘a’)与lastIndexOf(‘a’),的运行结果就是( B )A)1,1B)0,6C)0,0D)1,6indexOf 从前开始获取,第一位就是0lastIndexOf 从后开始获取,但索引还就是从前面的第一位0开始4.下面程序的运行结果就是什么( A )public static void main(String[] args){String s1 = “abc”;String s2 = “xyz”;show(s1,s2);System、out、println(s1+”-----”+s2);}static void show(String s1,String s2){s1 = s2+s1+”Q”;show方法中的s1= “xyzabcQ”但就是main函数中s1没有变化、s2 = “W”+s1;}String字符串的特性,String应该算就是一个特殊的引用类型吧,特殊在它的值不被改变A)abc-----xyzB)xyzabcQ-----xyzWabcC)xyzabcQ---- xyzabcQWabcD)xyzQ----Wabc5.以下哪个方法可以向StringBuffer对象的指定位置添加数据( B )A)add()B)insert() 注意就是指定位置添加C)appendD)into()6.下面说法不正确的就是( B )A)byte的包装类就是ByteB)int的包装类就是IntC)short的包装类就是ShortD)long的包装类就是Long7.关于null与“”说法正确的就是( ABD )A)null就是常量B)“”就是字符串对象C)null可以调用方法D)“”可以调用方法8. 预定义字符 \w 代表什么( C )A) [A-Z]B) [a-z]C) [a-zA-Z_0-9]D) [0-9]9.关于String类的indexOf说法不正确的就是( CD )A)返回指定字符在字符串中第一次出现的索引B)返回指定子字符串在字符串第一次出现的索引C)返回指定字符在字符串中最后一次出现的索引D)返回指定子字符串在此字符串最后一次出现的索引10.String类charAt()方法作用就是 ( A )A)返回指定索引处的字符B)返回指定索引出的字符串C)返回指定字符的索引D)返回指定字符串的索引11.下面程序的运行结果就是( B )Integer i5 = 100;Integer i6 = 100;System、out、println(i5 == i6);System、out、println( (i5 *2) == (i6 *2));System、out、println(i5、equals(i6));A)true,true,trueB)true,false,trueC)true,false,falseD)false,false,false-128到127就是byte的取值范围,,如果在这一范围自动装箱不会创建新的对象,而就是从常量池中获取,如果超过就创建对象12.下面程序的运行结果就是( B )String s1 = new String(“abc”);String s2 = new String(“abc”);System、out、println(s1==s2);比较的就是地址、因为就是2个对象、所以falseString s3 = “您好不”;String s4 =”您”;String s5 =”好不”;System、out、println(“您好不”==(”您”+”好不”))这个就是true,因为java有优化机制A)true trueB)false trueC)true flaseD)false false13.下列程序的输出结果就是( D )class Demo {public static void main(String[] args) {Scanner sc = new Scanner(System、in);int i = sc、nextInt();System、out、println(i);}}从键盘输录入:a 10回车A) aB)10C) a 10D)抛出异常输入的有a字符,只能接收整数14.String类中split()方法描述正确的就是( AC )A)切割字符串B)返回一个新的字符串C)返回一个新的字符串数组D)此方法没有返回值15.将十进制数100转成二进制数用哪个方法( A )A)toBinaryString()Integer对象的方法, 二进制那就得Binary了、但最后的返回值就是String形式的、B)toHexString()C)intValue()D)toOctalString()16.StringBuffer字符串缓冲区的初始容量就是多少个字符( D )A)10个B)12个C)14个D)16个这个就是默认值17.向字符串缓冲区中追加字符串,使用的方法就是( C )A)length()B)delete()C)append()瞧意思:附加,追加。

java练习题含答案

java练习题含答案

1.编写程序,用数组实现乘法小九九的存储和输出。

【提示:采用多个一维数组。

】public class Multipation {public static void main(String[] args) {// TODO Auto-generated method stubint x[][]=new int[9][9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(i>=j){int m=i+1;int n=j+1;x[i][j]=m*n;System.out.print(m+"*"+n+"="+x[i][j]);}}System.out.println();}}}2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。

SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。

public class Student {/***@param args*/private int ID;private String name;private float score;public void SetRecord(int ID,String name,float score){this.ID=ID;=name;this.score=score;}public float getRecord(int ID){if(ID==this.ID)return this.score;elsereturn -1;}public static void main(String[] args) {// TODO Auto-generated method stubStudent s=new Student();s.SetRecord(0,"alex",100);float Sco=s.getRecord(0);System.out.print(Sco);}}3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。

java第二章练习题答案

java第二章练习题答案

java第二章练习题答案Java第二章练习题答案Java作为一种广泛应用的编程语言,具有着强大的功能和丰富的库。

学习Java 的过程中,练习题是巩固知识和提高编程能力的重要一环。

在第二章的练习题中,我们将探索一些基本的Java概念和语法。

下面是第二章练习题的答案,希望对大家的学习有所帮助。

1. 问题:什么是Java的标识符?标识符的命名规则是什么?答案:Java的标识符是用来标识变量、方法、类等的名称。

标识符的命名规则如下:- 必须以字母、下划线或美元符号开头;- 可以包含字母、数字、下划线或美元符号;- 大小写敏感;- 不能使用Java的关键字。

2. 问题:Java的八种基本数据类型是什么?答案:Java的八种基本数据类型分别是:- byte:字节型;- short:短整型;- int:整型;- long:长整型;- float:单精度浮点型;- double:双精度浮点型;- char:字符型;- boolean:布尔型。

3. 问题:如何声明一个整型变量并赋初值为10?答案:可以使用以下语句声明一个整型变量并赋初值为10:int num = 10;4. 问题:如何将一个字符串转换为整型?答案:可以使用Integer类的parseInt()方法将一个字符串转换为整型。

示例代码如下:String str = "123";int num = Integer.parseInt(str);5. 问题:如何声明一个常量?答案:可以使用关键字final来声明一个常量。

示例代码如下:final int MAX_NUM = 100;6. 问题:如何使用if-else语句实现条件判断?答案:可以使用if-else语句实现条件判断。

示例代码如下:int num = 10;if (num > 0) {System.out.println("num是正数");} else {System.out.println("num是负数或零");}7. 问题:如何使用for循环实现重复执行某段代码?答案:可以使用for循环实现重复执行某段代码。

java字符串特性练习--答案

java字符串特性练习--答案

选择题:1。

下面程序段执行完毕后,cont的值是()String strins[ ]={"string","starting","strong","street","soft"};int cont=0;for(int i=0;i<strings.length;i++)if(strings[i].endsWith("ng"))cont++;A. 1B. 2C.3D.42.定义字符串:String str=“abcdefg”;则str.index(‘d’)的结果是()A)'d' B) true C) 3 D) 43。

定义变量b:boolean b=true;则String.valueOf(b)的类型是()A)boolean B) String C) false D) int4。

下面程序段输出的结果是()StringBuffer buf1;String str=”北京2008”;buf1=new StringBuffer(str);System.out.println(buf1.charAt(2));A. 2B. 京C0 D.null5. 下面程序段输出的结果是()String s=”ABCD”;s.concat(“E”);s.replace(…C‟,‟F‟);System.out.println(s);A) ABCDEF B) ABFDE C) ABCDE D) ABCD6.下面的语句序列执行完后,n的值是()int n=0;StringTokenizer st=new StringTokenizer(“I wonder should I go,or should I stay?”); while(st.hasMoreToken()){ n++; }A) 9 B) 10 C) 11 D) 127. 下面的语句序列执行完后,n的值是()int n=0;String str=”I wonder,what?”;StringTokenizer str2=new StringTokenizer(str,“,?”,true);while(str2.hasMoreToken()){ str2.nextToken(); }System.out.println(“n=”+n);A)7 B) 3 C) 4 D) 5二填空题。

Java常用API知识测试带答案

Java常用API知识测试带答案

Java常用API知识测试带答案常用API部分测试题1.String类中的getBytes()方法的作用是(C)A)将整数变成字符串B)将字符串变成字符数组C)将字符串变成字节数组D)获取字符串中字符的个数2.下列程序的输出结果是(A)class Demo{publicstaticvoid main(String[]args){ System.out.println("abcd".substring(1,3));}}A)bc包头不包尾B)bC)bcdD)abcd3.对字符串”ababcdabcdefg”使用indexOf(‘a’)和lastIndexOf(‘a’),的运行结果是(B)A)1,1B)0,6C)0,0indexOf从前开始获取,第一位是0lastIndexOf从后开始获取,但索引还是从前面的第一位0开始4.下面程序的运行结果是什么(A)public static void main(String[]args){String s1=“abc”;String s2=“xyz”;show(s1,s2);Syst em.out.println(s1+”-----”+s2);}static void show(String s1,String s2){s1=s2+s1+”Q”;show方法中的s1=“xyzabcQ”但是main函数中s1没有变化. s2=“W”+s1;}String字符串的特性,String应该算是一个特殊的引用类型吧,特殊在它的值不被改变A)abc-----xyzB)xyzabcQ-----xyzWabcC)xyzabcQ----xyzabcQWabcD)xyzQ----Wabc5.以下哪个方法可以向StringBuffer对象的指定位置添加数据A)add()B)insert()注意是指定位置添加C)appendD)into()6.下面说法不正确的是(B)A)byte的包装类是ByteB)int的包装类是IntC)short的包装类是ShortD)long的包装类是Long7.关于null和“”说法正确的是(ABD)A)null是常量B)“”是字符串对象C)null可以调用方法D)“”可以调用方法8.预定义字符\w代表什么(C)A)[A-Z]B)[a-z]C)[a-zA-Z_0-9]D)[0-9]9.关于String类的indexOf说法不正确的是(CD)A)返回指定字符在字符串中第一次出现的索引B)返回指定子字符串在字符串第一次出现的索引C)返回指定字符在字符串中最后一次出现的索引D)返回指定子字符串在此字符串最后一次出现的索引10.String类charAt()方法作用是(A)A)返回指定索引处的字符B)返回指定索引出的字符串C)返回指定字符的索引D)返回指定字符串的索引11.下面程序的运行结果是(B)Integer i5=100;Integer i6=100;System.out.println(i5==i6);System.out.println((i5*2)==(i6*2));System.out.println(i5.equals(i6));A)true,true,trueB)true,false,trueC)true,false,falseD)false,false,false-128到127是byte的取值范围,,如果在这一范围自动装箱不会创建新的对象,而是从常量池中获取,如果超过就创建对象12.下面程序的运行结果是(B)String s1=new String(“abc”);String s2=new String(“abc”);System.out.println(s1==s2);比较的是地址.因为是2个对象.所以falseString s3=“你好吗”;String s4=”你”;String s5=”好吗”;System.out.println(“你好吗”==(”你”+”好吗”))这个是true,因为java有优化机制A)true trueB)false trueC)true flaseD)false false13.下列程序的输出结果是(D)class Demo{public static void main(String[]args){Scanner sc=new Scanner(System.in);int i=sc.nextInt();System.out.println(i);}}从键盘输录入:a10回车A)aB)10C)a10D)抛出异常输入的有a字符,只能接收整数14.String类中split()方法描述正确的是(AC)A)切割字符串B)返回一个新的字符串C)返回一个新的字符串数组D)此方法没有返回值15.将十进制数100转成二进制数用哪个方法(A)A)toBinaryString()Integer对象的方法,二进制那就得Binary了.但最后的返回值是String形式的.B)toHexString()C)intValue()D)toOctalString()16.StringBuffer字符串缓冲区的初始容量是多少个字符(D)A)10个B)12个C)14个D)16个这个是默认值17.向字符串缓冲区中追加字符串,使用的方法是(C)A)length()B)delete()C)append()看意思:附加,追加。

java试题练习题(第9套)

java试题练习题(第9套)

—— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、下面选项中,___不可以用作变量名的首字符。

A )字母 B )下划线(_) C )数字 D )美元符号(¥) 答案:C (难度系数C )知识点:变量 2、下面语句中,____不会出现编译警告或错误。

A )float f=1.3; B )char c=”a”; C )byte b=25; D )boolean b=null; 答案:C (难度系数B )知识点:赋值相容 3、下列叙述正确的是___。

A )final 类可以有子类 B )abstract 类中只可以有 abstract 方法 C )abstract 类上可以有非abstract 方法,但该方法不可以用final 修饰 D )不可以同时用final 和abstract 修饰一个方法 答案:D (难度系数B ) 知识点:抽象类,抽象方法 4、创建一个标识有“关闭”按钮的语句是___。

A ) TextField b = new TextField(“关闭”);B ) Label b = new Label(“关闭”);C ) Checkbox b = new Checkbox(“关闭”);D ) Button b = new Button(“关闭”);答案:D (难度系数C ) 知识点:GUI 编程5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。

班级:姓名: 学号:试题共页加白纸张密封线A)if – else B)switch C)try D)throw答案:C(难度系数B)知识点:异常6、paint()方法使用_____类型的参数。

A)Graphics B)Graphics2D C)String D)Color 答案:A (难度系数B,知识点applet)7、下列语句正确的是________。

java训练题一答案

java训练题一答案

java训练题一答案训练题一一、单选题1.下列选项中,哪一项不属于Java语言的简单数据类型( B )A. 整数型B. 数组C. 字符型D. 浮点型2.如果在编译Java程序时,编译结果报告说找不到编译的代码,通常的错误不是如下的哪一项?( A )A. 没有import相应的包B. 文件名拼写错误C. 未加.java后缀D. 源文件不在当前目录下3.以下的选项中能正确表示Java语言中的一个整型常量的是( B )A. 435.B. –34C. 34,000D. 4 5 64.现在一个变量为boolean b1; ,下面赋值语句中正确的是( A )A. b1=true;B. b1=True;C. b1=“true”;D. b1=0;5.现在2个char类型的变量a1=‘a’,a2=2;,当执行a1=(char)(a1+a2);语句之后,a1的值应该是( B )A. ‘a’B. ‘c’C. 12D. 语句在编译时出错6.下列哪一个是表达式1+2+“aa”+3的值是( B )A. “12aa3”B. “3aa3”C. “12aa”D. “aa3”7.执行以下列程序段之后,变量n的值为( A ) public class Test7{public static void main(String[] args){ int y=2, z=3, n=4;n=n+-y*z/n;System.out.println(n);}}A. 3B. –1C. –12D. –38.执行下列代码段之后,变量z的值为( D ) public class Test8{public static void main(String[] args){ int x=2, y=3, z=4;z-=--y-x--;System.out.println(z);}}A. 1B. 2C. 3D. 49.对下列表达式值的判断正确的一个是( C )A. 23<43的值为falseB. 18>=19的值为trueC. 12<=12的值为trueD. 66!=22的值为false10.下列关于equals()方法和==运算符的说法,不正确的一个是( C )A.equals()方法可以用来比较复合数据类型的数值是否相等B.==运算符可以用来比较简单数据类型的数据值是否相等C.==运算符和equals()方法的功能一样,可以相互替换D.==运算符和equals()方法的功能不完全一样,不可以相互替换11.表达式(12==0)&&(1/0<1)的值为( B )A. trueB. falseC. 0D. 运行时抛出异常12.能构成多分支的语句是( C )A. for语句B. while语句C. switch语句D. do-while语句13.下程序的输出结果是( A )public class ex13{public static void main(String[] args){ for(int cnt=0; cnt<10; cnt++){ if(cnt==5) break;System.out.print(cnt);}}}A. 01234B. 6789C. 0123456789D. 514.下列程序执行后,输出的结果是( A ) public class ex14{public static void main(String[] args) { int a=10;if(a<10||a>10)System.out.println(“a<>10”);elseSystem.out.println(“a=10”);}}A. a=10B. a<>10C. a>10D. a<1015.执行下开程序之后,输出的结果为( C ) public class ex15 {public static void main(String[] args) { int a=0;label: for(; a<4; a++){ for(int j=0; j<2; j++){ if(a==2) break label;System.out.print(a*2+j+“”);}System.out.println(“a=”+a);}}A. 0 1 a=0B. 0 1 a=12 3 a=2 2 3 a=2C. 0 1 a=0D. 1 2 a=02 3 a=1 3 4 a=116.下列程序的执行结果是( B ) public class ex16{public static void main(String[] args) { int j=2, i=8;while(j<--i){ for(int k=0; k<4; k++)j++;}System.out.println(j);}}A. 10B. 6C. 4D. 217. 下列程序的执行结果是( C ) public class ex17{public static void main(String[] args) { int i=0, j=100;while(j>=0){ if(j%3==0)i+=j;j--;System.out.println(i)}}A. 5050B. 2500C. 1683D. 171718.下列哪一个不是分支语句( D )A. switch语句B. if-else语句C. if语句D. break语句19. 下列程序的执行结果是( D ) public class ex19{public static void main(String[] args) { int sum=0;for(int i=1; i<=50; i+=5)sum+=i;System.out.println(sum);}}A. 50B. 200C. 250D. 23520.下列程序的执行结果是( D ) public class ex20{public static void main(String []args) { int i1=12, i2=5;switch(++i1){ case 11: i2=i2<<1;case 12: i2=i2<<2;case 13: i2<<3; break;default: ;}System.out.println(i2);}}A. 5B. 10C. 20D. 4021. 下列程序的执行结果是( A )public class ex21{public static void main(String []args){ String str=“Hello,”;str=str+”Guys!”;System.out.println(str);}}A. Hello,Guys!B. Hello,C. Guys!D. 编译不通过22.下面哪个可以作为命名Java中的类名?( B )A.classB.¥8$C. 3sD.String23. 哪一个运算符返回除法运算的余数?( B )A. /B. %C. modD.?24.若有如下定义: int i=8; String s=“123”; 则下面哪个描述是不正确的?( C )A.执行i=Integer.parseInt(s); System.out.println(“i=”+i);则输出结果为i=123B.若执行s=String.valueOf(i); System.out.println(“s=”+s);则输出结果为s=8C.若执行s=Int.toString(i); System.out.println(“s=”+s);则输出结果为s=8D.执行s=new String(“567”);System.out.println(“s=”+s);则输出结果为:s=56725. 有关数组的定义正确的是( C )A. int a[3];B. int[3] a;C. int[] a;D. int a();26. 在Java中,能表示条件表达式为“真”的是( A )A. trueB. 1C. 非0的任何数D. false27.下列程序的执行结果是( C )public class ex27{public static void main(String[] args){ String s1=“abc”+“def”;String s2=new String(s1);if(s1==s2)System.out.println(“s1==s2”);if(s1.equals(s2))System.out.println(“s1 equals s2”);}}A. 不输出任何结果B. s1==s2C. s1 equals s2D. s1==s2s1 equals s228. 下面说法正确的是(C)A.Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是以.java或.txt等。

java基础练习题及答案

java基础练习题及答案

java基础练习题及答案Java基础练习题及答案Java是一门广泛应用于软件开发领域的编程语言,具有跨平台、面向对象、安全性高等特点。

在学习Java的过程中,练习题是不可或缺的一部分。

通过练习题的实践,可以巩固对Java基础知识的理解,并提高编程能力。

本文将介绍几个常见的Java基础练习题,并给出相应的答案。

1. 编写一个Java程序,计算并输出1到100之间所有偶数的和。

```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum);}}```2. 编写一个Java程序,判断一个整数是否是素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int num = 29;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数。

");} else {System.out.println(num + "不是素数。

");}}}```3. 编写一个Java程序,找出一个字符串中出现次数最多的字符及其出现次数。

```javapublic class MostFrequentCharacter {public static void main(String[] args) {int[] count = new int[256];for (int i = 0; i < str.length(); i++) {count[str.charAt(i)]++;}int maxCount = 0;char mostFrequentChar = ' ';for (int i = 0; i < count.length; i++) {if (count[i] > maxCount) {maxCount = count[i];mostFrequentChar = (char) i;}}System.out.println("出现次数最多的字符是:" + mostFrequentChar); System.out.println("出现次数:" + maxCount);}}```4. 编写一个Java程序,将一个字符串反转输出。

java编程练习题及答案

java编程练习题及答案

java编程练习题及答案Java编程练习题及答案Java是一种广泛应用于软件开发的编程语言,具有简单易学、面向对象、跨平台等特点,因此备受程序员的喜爱。

而编程练习题是提高编程技能的有效方法之一,通过不断解决问题来提升自己的编程能力。

本文将介绍一些常见的Java 编程练习题及其答案,希望能对初学者提供一些参考。

1. 问题描述:给定一个整数数组,找出其中两个数的和等于给定的目标值,并返回这两个数的索引。

解题思路:使用哈希表来解决该问题。

遍历数组,将每个元素的值和索引存储在哈希表中。

在遍历过程中,检查目标值与当前元素的差值是否在哈希表中,如果存在,则返回对应的索引。

```javapublic int[] twoSum(int[] nums, int target) {Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums.length; i++) {int complement = target - nums[i];if (map.containsKey(complement)) {return new int[] { map.get(complement), i };}map.put(nums[i], i);}throw new IllegalArgumentException("No two sum solution");}```2. 问题描述:编写一个函数,判断一个字符串是否是回文串。

解题思路:使用双指针法来解决该问题。

定义两个指针分别指向字符串的首尾,然后逐个比较字符是否相等,如果不相等则不是回文串。

```javapublic boolean isPalindrome(String s) {int i = 0, j = s.length() - 1;while (i < j) {while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {i++;}while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {j--;}if (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) {return false;}i++;j--;}return true;}```3. 问题描述:编写一个函数,将字符串中的空格替换为"%20"。

Java字符串练习题

Java字符串练习题

Java字符串练习题⽬录1、"a"+"b"+"c"+"d"+"e"+"f"+"g"+"h"改写上⾯的代码,打印结果package work1;public class Work1 {public static void main(String[] args) {StringBuffer s = new StringBuffer();s= s.append("a");s= s.append("b");s= s.append("c");s= s.append("d");s= s.append("e");s= s.append("f");s= s.append("g");s= s.append("h");System.out.println(s);}}2、给定⼀个长度,随机产⽣⼀个该长度的字符串,由⼤写,⼩写字母以及数字组成Java中随机数的⽣成:java.util.Random r = new java.util.Random();int a = r.nextInt(100): a 0-99的随机数第⼀种:package work2;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.Scanner;public class Work2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);Random r = new Random();System.out.println("请输⼊⽣成字符串的长度");int length = sc.nextInt();String s = "";for(int i = 0;i<length;i++){int random = r.nextInt(2);if(random==1){int num = r.nextInt(10);//随机产⽣数字s=s+s.valueOf(num);}else {int randomChar = r.nextInt(2);if(randomChar==1){//随机产⽣⼤写字母char str =(char)(r.nextInt(26)+'A');s=s+s.valueOf(str);}else{//随机产⽣⼩写字母char str =(char)(r.nextInt(26)+'a');s=s+s.valueOf(str);}}}System.out.println(s);}}第⼆种:package work2;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.Scanner;public class Work2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);Random r = new Random();System.out.println("请输⼊⽣成字符串的长度");int length = sc.nextInt();//创建⼀个集合存储⼤写⼩写字母以及数字List<Character> list = new ArrayList<Character>();for(char c ='A';c<='Z';c++)list.add(c);for(char c ='a';c<='z';c++)list.add(c);for(char c ='0';c<='9';c++)list.add(c);String s = "";//保存结果for(int i = 0;i<length;i++){//随机获取字符下标int a = r.nextInt(list.size());s = s+list.get(a);}//打印System.out.println(s);}}3、给定⼀个字符串,判断该字符串中是否包含某个⼦串.如果包含,求出⼦串的所有出现位置.如:"abcd23abc34bcd"中,"bc"⼦串的出现位置为: 1,7,11.字符串和⼦串均由⽤户输⼊package work3;import java.util.Scanner;public class Work3 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输⼊字符串");String s1 = sc.next();System.out.println("请输⼊⼦串");String s2 = sc.next();int index =0;while((index=s1.indexOf(s2, index))!=-1){System.out.print(index+" ");index = index +s2.length();}}}4、给定⼀个由数字组成的字符串,如:"1239586838923173478943890234092",统计出每个数字出现的次数第⼀种:package work4;import java.util.Scanner;public class Work4 {public static void main(String[] args) {String s = "1591231231231326560686464506565791310665979803";int[] count = new int[10];for(int i=0;i<10;i++){String s1 = s;int index=0;while(true){index = s1.indexOf(String.valueOf(i));if(index!= -1){s1=s1.substring(index+1);//截取字符串count[i]++;}else break;}}for (int i=0;i<count.length;i++) {System.out.println(i+" 出现的次数 "+count[i]);}}}第⼆种:package work4;import java.util.Scanner;public class Work4 {public static void main(String[] args) {String s = "1591231231231326560686464506565791310665979803";int[] arr = new int[10];//创建数组记录次数for(int i =0;i<s.length();i++){arr[s.charAt(i)-'0']++;}//遍历for (int i=0;i<arr.length;i++) {System.out.println(i+"的次数是"+arr[i]);}}}5、给定⼀个字符串,请输出该字符串由哪些字符组成,每个字符出现⼏次?import java.util.HashMap;import java.util.Map;import java.util.Set;public class Work5 {public static void main(String[] args) {String s ="s13fs54fas87f8sf40";Map<Character, Integer> map = new HashMap<Character, Integer>();//⼀个key值对应⼀个valuefor(int i=0;i<s.length();i++){Character c =s.charAt(i);if(map.get(c)==null)//第⼀次加⼊到map集合map.put(c, 1);elsemap.put(c, map.get(c)+1);}Set<Character> keySet = map.keySet();for (Character character : keySet) {System.out.println(character+"----"+map.get(character));}}}6、字符编码 "aaaaaaabbbbbcerrrrggggggggsssssspoqqqqq"==> "a7b5cer4g8s6poq5" public class Work6 {public static void main(String[] args) {String str = "aaaaaaabbbbbcerrrrggggggggsssssspoqqqqq";StringBuilder sb = new StringBuilder("");char current = str.charAt(0);int count = 1;for(int i = 1 ; i < str.length() ; i++){char c = str.charAt(i);if (c == current){count++;}else{if (count == 1) sb.append(current);else sb.append(current).append(count); current = c;count = 1;}}if (count == 1) sb.append(current);else sb.append(current).append(count); System.out.println(sb.toString());}}。

JavaString面试题以及答案

JavaString面试题以及答案

JavaString⾯试题以及答案String是最常使⽤的Java类之⼀,整理的了⼀些重要的String知识分享给⼤家。

作为⼀个Java新⼿程序员,对String进⾏更深⼊的了解很有必要。

如果你是有⼏年Java开发经验,可以根据⽬录选择性的阅读以下内容。

1、什么是String,它是什么数据类型?String是定义在 ng 包下的⼀个类。

它不是基本数据类型。

String是不可变的,JVM使⽤字符串池来存储所有的字符串对象。

2、创建String对象的不同⽅式有哪些?和使⽤其他类⼀样通过new关键字来创建。

使⽤这种⽅式时,JVM创建字符串对象但不存储于字符串池。

我们可以调⽤intern()⽅法将该字符串对象存储在字符串池,如果字符串池已经有了同样值的字符串,则返回引⽤。

使⽤双引号直接创建。

使⽤这种⽅式时,JVM去字符串池找有没有值相等字符串,如果有,则返回找到的字符串引⽤。

否则创建⼀个新的字符串对象并存储在字符串池。

String str = new String("abc");String str1 = "abc";3、写⼀个⽅法来判断⼀个String是否是回⽂(顺读和倒读都⼀样的词)?回⽂就是正反都⼀样的词,如果需要判断是否是回⽂,只需要⽐较正反是否相等即可。

String类并没有提供反转⽅法供我们使⽤,但StringBuffer和StringBuilder有reverse⽅法。

private static boolean isPalindrome(String str) {if (str == null)return false;StringBuilder strBuilder = new StringBuilder(str);strBuilder.reverse();return strBuilder.toString().equals(str);}假设⾯试官让你不使⽤任何其他类来实现的话,我们只需要⾸尾⼀⼀对⽐就知道是不是回⽂了。

java string 练习题

java string 练习题

java string 练习题Java String 练习题在学习Java编程语言的过程中,掌握字符串操作是非常重要的一部分。

字符串是Java中最常用的数据类型之一,可以用来存储和操作文本数据。

为了加深对Java字符串的理解,我们可以尝试一些练习题来提升自己的编程能力。

1. 字符串长度编写一个Java程序,输入一个字符串,然后输出该字符串的长度。

可以使用Java的内置方法`length()`来获取字符串的长度。

```javaimport java.util.Scanner;public class StringLength {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个字符串:");String str = scanner.nextLine();int length = str.length();System.out.println("字符串的长度为:" + length);}}```2. 字符串反转编写一个Java程序,输入一个字符串,然后输出该字符串的反转结果。

可以使用Java的内置方法`reverse()`来实现字符串的反转。

```javaimport java.util.Scanner;public class StringReverse {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个字符串:");String str = scanner.nextLine();StringBuilder reversedStr = new StringBuilder(str);reversedStr.reverse();System.out.println("字符串的反转结果为:" + reversedStr);}}```3. 字符串拼接编写一个Java程序,输入两个字符串,然后将它们拼接在一起并输出结果。

java 试题练习题(第6套)

java 试题练习题(第6套)

----------------------------精品word 文档 值得下载 值得拥有----------------------------------------------—— 学年第 学期《 Java 程序设计 》课程试题课程号:√ 考试□ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、165/2的值是___。

A )0 B )82 C )3 D )83 答案:B (难度系数 C )知识点:表达式 2、在HTML 中,用________标签来强制显示Applet 。

A ) name,height,width B )codebase, height,width C ) code ,name D ) code, height,width 答案:D (难度系数B ) 知识点:小应用程序 3、在Applet 中显示文字、图形等信息时,应使用的方法是__ _____。

A) paint() B) init() C) start() D) destroy() 答案:A (难度系数B ,知识点:APPLET ) 4、创建一个标识有“关闭”按钮的语句是___。

A ) TextField b = new TextField(“关闭”);B ) Label b = new Label(“关闭”);C ) Checkbox b = new Checkbox(“关闭”);D ) Button b = new Button(“关闭”);答案:D (难度系数C )知识点:GUI 编程5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。

A ) if – elseB )switchC )tryD ) throw答案:C (难度系数B )知识点:异常6、下列语句关于内存回收的说明是正确的是___。

java 字符串相关 选择题

java 字符串相关 选择题

标题:深入解析 Java 字符串相关知识1. 字符串在 Java 中的重要性Java 是一种面向对象的编程语言,字符串在 Java 中占据着非常重要的地位。

在实际开发中,字符串的使用频率之高几乎是不言而喻的。

对于字符串相关的知识掌握至关重要。

2. 字符串的创建在 Java 中,字符串有两种创建方式:一种是通过直接赋值的方式创建,例如:String str = "Hello";另一种是通过new 关键字创建,例如:String str = new String("Hello")。

这两种方式的区别是什么呢?3. 字符串常量池Java 中有一个字符串常量池,当使用直接赋值方式创建字符串时,如果常量池中已经存在该字符串,则直接引用常量池中的字符串,如果不存在,则在常量池中创建一个新的字符串对象。

而通过new 关键字创建字符串则不会使用常量池。

4. 字符串的不可变性String 类在 Java 中是不可变的,一旦创建了字符串对象,就不能对其进行修改,每次对字符串的操作都会创建一个新的字符串对象。

这样做的目的是什么?有什么好处?5. 字符串的比较在 Java 中,字符串的比较有两种方式:一种是使用equals 方法,一种是使用== 操作符。

它们之间有着怎样的差异?在什么情况下应该使用哪种方式?6. 字符串的拼接在实际开发中,经常会遇到字符串的拼接操作,Java 提供了多种方式来进行字符串的拼接,例如使用+ 操作符、concat 方法、StringBuilder 和StringBuffer。

这些方式之间有着怎样的性能和效率差异?7. 字符串常用方法在 String 类中,有许多常用的方法,例如:indexOf、substring、split 等等。

这些方法都有着怎样的功能和用法?我们应该如何巧妙地运用它们?8. 字符串的格式化在实际开发中,我们经常需要对字符串进行格式化,Java 提供了多种方式来进行字符串格式化,例如使用String.format 方法、MessageFormat 类、StringBuffer 和StringBuilder。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择题:1。

下面程序段执行完毕后,cont的值是(C )String strings[ ]={"string","starting","strong","street","soft"};int cont=0;for(int i=0;i<strings.length;i++)if(strings[i].endsWith("ng"))cont++;A. 1B. 2C.3D.42.定义字符串:String str=“abcdefg”;则str.indexOf(‘d’)的结果是(C )A)'d' B) true C) 3 D) 43。

定义变量b:boolean b=true;则String.valueOf(b)的类型是( B )A)boolean B) String C) false D) int4。

下面程序段输出的结果是(A )StringBuffer buf1;String str=”北京2008”;buf1=new StringBuffer(str);System.out.println(buf1.charAt(2));A. 2B. 京C0 D.null5. 下面程序段输出的结果是(D )String s=”ABCD”;s.concat(“E”);s.replace(‘C’,’F’);System.out.println(s);A) ABCDEF B) ABFDE C) ABCDE D) ABCD6.下面的语句序列执行完后,n的值是(D )int n=0;StringTokenizer st=new StringTokenizer("I wonder should I go,or should I stay?");while(st.hasMoreTokens()){ n++; String ss=st.nextToken(); }A) 9 B) 10 C) 11 D) 87. 下面的语句序列执行完后,n的值是(A )int n=0;String str=”I wonder,what?”;StringTokenizer str2=new StringTokenizer(str,“,?”);while(str2.hasMoreTokens()){ str2.nextToken(); }System.out.println(“n=”+n);A)2 B) 3 C) 4 D) 5二填空题。

1定义数组:char charArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};则String.valueOf(charArray,2,3)的结果是cde 。

2.下面语句序列输出结果是pro 。

String s=new String(“java program!”);System.out.println(s.substring(5,8));3.下面语句输出结果是1234abcdef5 。

char charArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};StringBuffer buf1;String str=”12345”;buf1=new StringBuffer(str);buf1.insert(4,charArray);System.out.println(buf1.toString());4.如有以下赋值语句:x=new StringBuffer().append(“a”).append(4). append(“c”).toString; x的类型是StringBuffer ;它的值是a4c 。

5.下面程序的功能是统计以“st”开头的字符串有多少个,完成下面程序填空。

public class Class1{public static void main(String args[]){String strings[]={“string”,”starting”,”strong”,”street”,”soft”};int cont=0;for(int i=0; i< strings.length ;i++)if(strings[i].startsWith(“str”))cont++;System.out.println(cont);}}第九章多线程机制一、判断题1.如果线程死亡,它便不能运行。

(T )2.在Java 中,高优先级的可运行线程会抢占低优先级线程。

(T)3.一个线程在调用它的start 方法之前,该线程将一直处于出生期。

(T )4.当调用一个正在进行线程的stop( )方法时,该线程便会进入休眠状态。

(F )5.一个线程可以调用yield 方法使其他线程有机会运行。

(T )6. 线程可以调用yield方法使低优先级的线程运行。

(F)二、选择题1.Java 语言中提供了一个▁D▁线程,自动回收动态分配的内存。

A 异步B 消费者C 守护D 垃圾收集2.Java语言避免了大多数的▁▁C▁▁错误。

A 数组下标越界B 算术溢出C 内存泄漏D 非法的方法参数3.有三种原因可以导致线程不能运行,它们是▁ACD▁▁▁。

A 等待B 阻塞C 休眠D 挂起及由于I/O 操作而阻塞4.当▁A▁方法终止时,能使线程进入死亡状态。

A runB setProrityC yieldD sleep5.用▁B▁方法可以改变线程的优先级。

A runB setProrityC yieldD sleep6.线程通过▁C▁方法可以使具有相同优先级线程获得处理器。

A runB setProrityC yieldD sleep7.线程通过▁D▁方法可以休眠一段时间,然后恢复运行。

A runB setProrityC yieldD sleep8.▁B▁方法使对象等待队列的第一个线程进入就绪状态。

A runB notifyC yieldD sleep9.方法resume( )负责重新开始▁D▁线程的执行。

A 被stop( )方法停止B 被sleep( )方法停止C 被wait( )方法停止D 被suspend( )方法停止10.▁BCD▁方法可以用来暂时停止当前线程的运行。

A stop( )B sleep( )C wait( )D suspend( )三、简述题1.简述程序、进程和线程之间的关系?什么是多线程程序?答:程序是一段静态的代码,它是应用软件执行的蓝本。

进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程。

每一个进程都有自己独立的一块内存空间、一组系统资源。

线程是比进程更小的执行单位。

一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每个线程都有其产生、发展和消亡的过程。

2.线程有那5 个基本状态?它们之间如何转化?简述线程的生命周期。

答案:线程有“新建”、“就绪”、“阻塞”、“运行”、“死亡”5 个基本状态。

线程对象被创建时进入“新建”状态;程序执行语句启动这个线程后,它进入线程队列排列等待CPU 时间片,称为“就绪”状态;等CPU 时间和其他资源齐备时就进入“运行”状态;线程运行完毕或者被强制终止则进入“死亡”状态。

上述线程各状态之间的转换就构成了线程的基本生命周期。

3.什么是线程调度?Java 的线程调度采用什么策略?答案:安排线程队列中CPU 时间的线程被称为线程调度。

Java 的线程调度采用优先级基础上的“先到先服务”策略。

4.如何在Java 程序中实现多线程?答案:在Java 程序中实现多线程最关键是要定义子线程的操作,即定义子线程的run( )方法。

具体可以通过派生Thread 类的子类或实现Runnable 接口两种方式来实现。

5.试简述Thread类的子类或实现Runnable 接口两种方法的异同?答案:派生Thread 子类时通过重载父类的方法run( )来定义子线程的具体操作,然后在主线程中创建并启动该子类的对象为子线程。

实现了Runnable 接口的类必须要实现接口中的run( )方法,其中同样定义了子线程的操作。

但是这个方法中的子线程不是Thread 子类的对象,而是Thread 类的对象;在创建Thread 类对象时把实现了Runnable 接口和run( )方法的类作为参数传递给该对象,从而规定它的具体操作。

四、编程题1.利用多线程技术编写Applet 程序,其中包含一个滚动的字符串。

字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。

[Xianch.java]import java.awt.*;import java.applet.*;public class Xianch extends Applet implements Runnable{final String rollingMessage = "SAILING, SAILING, I AM SAILING...";Thread m_Draw = null;int beginX;public void init(){m_Draw = new Thread(this);}public void paint(Graphics g){g.drawString(rollingMessage, beginX, 40);}public void start(){m_Draw.start();try{Thread.sleep(50);}catch(InterruptedException e){}}public void stop(){if(m_Draw.isAlive())m_Draw.stop();}public void run(){try{while(true){beginX = ++beginX % getWidth();repaint();Thread.sleep(100);}}catch(InterruptedException e){}}}第七章图形用户界面一、判断题1.BorderLayout 是面板的缺省布局管理器。

(F )2.当鼠标指针位于一个GUI构件的边上时,发生一个MouseOver 事件。

(F )3.一个面板(Panel)不能被加入到另一个面板(Panel)中。

(F )4.在BorderLayout 中,添加到NORTH 区的两个按钮将并排显示。

(F )5.在使用BorderLayout 时,最多可以使用5 个构件。

(F )6.Swing 构件经常被称为轻量构件。

(T )7.在GUI 上输出文本或提示信息的方法是使用标签。

相关文档
最新文档