7.23LJY

 

常用工具类作业

 

一、 填空题

  1. Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中int对应的包装类是___Integer______; char对应的包装类是_____Character_______
  2. 包装类Integer的静态方法可以将字符串类型的数字”123”转换成基本整型变量n,其实现语句是:___int i1 = Integer.valueOf("200");_________
  3. Java中使用java.lang包中的_______StringBuffer_____类来创建一个字符串对象,它代表一个字符序列可变的字符串,可以通过相应的方法改变这个字符串对象的字符序列。
  4. StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是__________StringBuffer____
  5. DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定的字符串格式的方法名是___format__________
  6. 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是_____ double d = (Math.random() + 1)  * 30;_________
  7. JDK1.5后提供了____________关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。

 

二、 选择题

1.

以下选项中关于intInteger的说法错误的是(  B,D  )。(选择二项)

 

 

 

 

A.

int是基本数据类型,Integerint的包装类,是引用数据类型

 

B.

int的默认值是0Integer的默认值也是0

 

C.

Integer可以封装了属性和方法提供更多的功能

 

D.

Integer i=5;该语句在JDK1.5之后可以正确执行,使用了自动拆箱功能

 

2.

分析如下Java代码,该程序编译后的运行结果是(  D  )。(选择一项)

 

public static void main(String[ ] args) {

String str=null;

str.concat("abc");

str.concat("def");

System.out.println(str);

}

 

 

 

 

A

null

 

B.

abcdef

 

C.

编译错误

 

D.

运行时出现NullPointerException异常

 

 

3.

以下关于String类的代码的执行结果是(  B  )。(选择一项)

 

public class Test2 {

    public static void main(String args[]) {

        String s1 = new String("bjsxt");

        String s2 = new String("bjsxt");

        if (s1 == s2)

            System.out.println("s1 == s2");

        if (s1.equals(s2))

            System.out.println("s1.equals(s2)");

    }

}

 

 

 

 

A.

s1 == s2

 

B.

s1.equals(s2)

 

C.

s1 == s2

s1.equals(s2)

 

D.

以上都不对

 

4.

以下关于StringBuffer类的代码的执行结果是D   )。(选择一项)

 

public class TestStringBuffer {

public static void main(String args[]) {

StringBuffer a = new StringBuffer("A");

StringBuffer b = new StringBuffer("B");

mb_operate(a, b);

System.out.println(a + "." + b);

}

static void mb_operate(StringBuffer x, StringBuffer y) {

x.append(y);

y = x;

}

}

 

 

 

 

A.

A.B  

 

B.

A.A

 

C.

AB.AB

 

D.

AB.B

 

5.

给定如下Java代码,编译运行的结果是( C   )。(选择一项)

 

public static void main(String []args){

String s1= new String("pb_java_OOP_T5");

String s2 = s1.substring(s1.lastIndexOf("_"));

System.out.println("s2="+s2);

}

 

 

 

 

 

A

s2=_java_OOP_T5

 

B.

s2=_OOP_T5

 

C.

s2=_T5

 

D.

编译出错

6.

对于语句String s="my name is kitty",以下选项中可以从其中截取kitty的是(  AB  )(选择二项

 

 

 

 

A

s.substring(11,16)

 

B.

s.substring(11)

 

C.

s.substring(12,17)

 

D.

s.substring(12,16)

 

7.

分析下面的Java程序段,编译运行后的输出结果是(D    )。(选择一项) 

 

public class Test {

public void changeString(StringBuffer sb) {

sb.append("stringbuffer2");

}

public static void main(String[] args) {

Test a = new Test();

StringBuffer sb = new StringBuffer("stringbuffer1");

a.changeString(sb);

System.out.println("sb = " + sb);

}

}

 

 

 

 

A

sb = stringbuffer2stringbuffer1

 

B.

sb = stringbuffer1

 

C.

sb = stringbuffer2

 

D.

sb = stringbuffer1stringbuffer2

 

8.

给定如下Java代码,编译运行的结果是(  A  )。(选择一项)

 

public static void main(String[] args) {

StringBuffer sbf = new StringBuffer("java");

StringBuffer sbf1 = sbf.append(",C#");

String sbf2 = sbf + ",C#";

System.out.print(sbf.equals(sbf1));

System.out.println(sbf2.equals(sbf));

}

 

 

 

 

A

true  false

 

B.

true  true

 

C.

false  false

 

D.

false  true

 

 

9.

分析下面的Java程序,编译运行后的输出结果是(   D )。(选择一项)

 

public class Example {

String str = new String("good");

char[] ch = { 'a', 'b', 'c' };

public static void main(String args[]) {

Example ex = new Example( );

ex.change(ex.str, ex.ch);

System.out.print(ex.str + "and");

System.out.print(ex.ch);

}

public void change(String str, char ch[]) {

str = "test ok";

ch[0] = 'g';

}

}

 

 

 

 

A

goodandabc

 

B.

goodandgbc

 

C.

test okandabc

 

D.

test okandgbc

 

10.

以下程序片段中可以正常编译的是( c   )。(选择项)

 

 

 

 

A

String s = "Gone with the wind";  

String k = s+t;

String t = "good";

 

B.

String s = "Gone with the wind";

String t;

t = s[3]+"one";

 

C.

String s = "Gone with the wind";

String stanfard = s.toUpperCase();

 

D.

String s = "home directory";

String t = s – "directory";

 

三、 判断题

  1. 方法Integer.parseInt()的作用是将一个整数转变成String。(  F  )
  2. JK1.5后提供了自动装箱和自动拆箱功能,从而可以实现基本数据类型和对应包装类之间的自动转换,简化了操作。(   
  3. 执行语句String str="abcedf"; int len=str.length; 后,能够得到字符串的长度是6。(  T  
  4. 运算符==”用于比较引用时,如果两个引用指向内存同一个对象,则返回true。(  T  
  5. 求x的y次方,其表达式为:Math.pow(x,y)。(  T  )

 

四、 简答题

  1. 自动装箱和自动拆箱

 自动装箱:把基本类型转换为包装类类型

* 自动拆箱:把包装类类型转换为基本类型

  1. String、StringBuffer、StringBuilder区别与联系。

* StringBufferStringBuilder的区别

* StringBufferjdk1.0版本的,是线程安全的,效率低

* StringBuilderjdk1.5版本的,是线程不安全的,效率高

 

* StringStringBuffer,StringBuilder的区别

* String是一个不可变的字符序列

* StringBuffer,StringBuilder是可变的字符序列

 

五、 编码题

  1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字。

提示:使用字符串String类的相关方法完成

 

package com.zkc.pack.home;

import java.util.Scanner;



public class Home1 {

    public static void main(String[] args) {
        /*1.验证键盘输入的用户名不能为空,长度大于6,不能有数字。
        提示:使用字符串String类的相关方法完成*/
        Scanner sc = new Scanner(System.in);
        System.out.println("输入你的用户名");
        String s = sc.nextLine();
        check(s);
    
        
    }

    public static void check(String s) {
        
        if(s.isEmpty()) {
            System.out.println("你输入的用户名为空");
            return ;
        }
        if (s.length() < 7) {
            System.out.println("你输入的用户名不得小于7位");
            return ;
        }
        char[] arr = s.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            if ( arr[i] <='9' && arr[i]>= '0') {
                System.out.println("用户名中不可含有数字");
                return ;
            }
        }
        System.out.println("你的用户民符合规范");
        
        return;
    }

}

 

 

  1. 接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。

提示:使用包装类IntegerDouble和日期转换类DateFormat实现

 

package com.zkc.pack.home;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Home2 {

	public static void main(String[] args) throws ParseException {
//		接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。
//		提示:使用包装类Integer、Double和日期转换类DateFormat实现
			Scanner sc = new Scanner(System.in);
			System.out.println("输入年龄");
			String str = sc.nextLine();
			System.out.println("输入分数");
			String str1 = sc.nextLine();
			System.out.println("输入入学日期,要求格式为yyyy/ mm/dd");
			String str2 = sc.nextLine();
			
			int i = Integer.valueOf(str);
			System.out.println(i);
			float f = Float.parseFloat(str1);
			System.out.println(f);
			
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd" );
			Date d = sdf.parse(str2);
		
			System.out.println(d);
		    System.out.println(d.getTime());
			
		    
	}

}

 

  

 

  1. 根据交通信号灯颜色决定汽车停车、行驶和慢行

提示:使用枚举实现

 

六、 可选题

  1. 生成10[10,23)之间的随机整数

提示:分别使用Math.random()Random类的nextDouble()nextInt()实现

 

package com.zkc.pack.home;

public class Demo1_Math {

    public static void main(String[] args) {
            for (int i = 0; i <10; i++) {
                        double x = Math.random()   * 13  + 10;
                        System.out.println(x);
            }
            
            
    }
    
    

}
package com.zkc.pack.home;

import java.util.Random;

public class Demo1_Math {

    public static void main(String[] args) {
            for (int i = 0; i <10; i++) {
                        Random r = new Random();
                        double x = r.nextInt(13) +10;

                        System.out.println(x);
            }
            
            
    }
    
    

}

 

posted on 2018-07-23 19:37  黑的发白  阅读(152)  评论(0编辑  收藏  举报

导航