一、    填空题

  1. 在Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中包装类Integer是___Number__的直接子类。
  2. 包装类Integer的静态方法可以将字符串类型的数字”123”转换成基本整型变量n,其实现语句是:__ Integer.parseInt(“123”)__。
  3. 在Java中使用java.lang包中的__ StringBuffer/StringBuilder 类来创建一个字符串对象,它代表一个字符序列可变的字符串,可以通过相应的方法改变这个字符串对象的字符序列。
  4. StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是__StringBuffer____。
  5. DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定的字符串格式的方法名是__Format__。
  6. 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是___(int)(Math.random()*31)+30  。
  7. JDK1.5后提供了___enum___关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。
  8. File对象调用方法   mkdir()   创建一个目录,不包括所有必需但不存在的父目录,当且仅当已创建目录时,返回true;否则返回false。
  9. 将字符串”123”转换成基本数据类型  Interger.parseInt(iStr) 。
  10. String类的trim()方法作用是   去除字符串首尾的空格     。
  11. "hamburger".substring(4, 8) 返回的结果是 urge 。
  12. String s = "a"+”b”+”c” 创建  5  个对象。
  13. System.currentTimeMillis()表示获得的是自1970-1-01 00:00:00.000 到当前时刻的时间距离,类型为long    。

二、    选择题

1.

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

A.

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

B.

int的默认值是0,Integer的默认值也是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程序,编译运行后的输出结果是(  B  )。(选择一项)

 

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";

11.

File类中的(  B  )方法可以用来判断文件或目录是否存在。(选择一项)

A

exist()

B.

exists()

C.

fileExist()

D.

fileExists()

12.

Java中,以下File类的方法中(  C  )用来判断是否是目录。(选择一项)

A

isFile( )

B.

getFile( )

C.

isDirectory( )

D.

getPath( )

 

13.

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

 

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

 

14.

分析下面代码的结果(  A  )。(选择一项)

 

public static void main(String args[]) {

String s = "abc";

String ss = "abc";

String s3 = "abc" + "def"; // 此处编译器做了优化!

String s4 = "abcdef";

String s5 = ss + "def";

String s2 = new String("abc");

System.out.println(s == ss);

System.out.println(s3 == s4);

System.out.println(s4 == s5);

System.out.println(s4.equals(s5));

}

A

true true false true

B.

true true true false

C.

true  false    true  true

D.

false true false true

三、    判断题

  1. 方法Integer.parseInt()的作用是将一个整数转变成String。( F  )
  2. JK1.5后提供了自动装箱和自动拆箱功能,从而可以实现基本数据类型和对应包装类之间的自动转换,简化了操作。(  T  )
  3. 执行语句String str="abcedf"; int len=str.length; 后,能够得到字符串的长度是6。(  F  )
  4. 运算符“==”用于比较引用时,如果两个引用指向内存同一个对象,则返回true。(  T  )
  5. java.sql.Date类和java.util.Date类的关系是前者是后者的父类,其中前者没有提供无参数构造方法,而后者可以提供无参数构造方法来获取当前时间。(  F  )
  6. 求x的y次方,其表达式为:Math.pow(x,y)。(  T  )
  7. 一个File对象可以代表一个文件或目录,它可以获取文件和目录属性,也可以访问文件内容。(  F  )
  8. 在使用File类中的delete( )方法时,删除时可能文件不存在,所以我们最好先判断一下是否存在,不然会出现NullPointerException异常。(  F  )
  9. Date d = new Date()表示的是当前时间。(  T   )
  10. 递归可以完全使用迭代来代替。(  T  )

四、    简答题

  1. 自动装箱和自动拆箱
  2. String、StringBuffer、StringBuilder区别与联系。
  3. String str=”bjsxt”;和String str= new String(“bjsxt”);的区别
  4. java.sql.Date和java.util.Date的联系和区别
  5. 为什么要使用包装类,包装类的作用。
  6. File类的方法mkdir跟mkdirs,有什么区别?

前一个是创建一个文件夹,后一个是把所有的都创建

  1. 简述枚举的使用。
  2. 递归算法的优点是什么?缺点是什么?

五、    编码题

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

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

 public class TestCheckUserName
{
public static void main(String[] args)
{
//给出用户名
Scanner input = new Scanner(System.in);
System.out.print("请输入用户名:");
String userName = input.nextLine();
//验证表单输入的用户名不能为空,
if (userName == null || "".equals(userName))
{
System.out.println("用户名不能为空");
return;
}
//长度大于6,
if (userName.length() <= 6)
{
System.out.println("用户名长度必须大于6个字符");
return;
}
//不能有数字
for (int i = 0; i < userName.length(); i++)
{
//取出每个字符
char ch = userName.charAt(i);//'3' '4'
//判断每个字符是否是数字
//if(ch <='9' && ch >='0'){
if (ch <= 57 && ch >= 48)
{
System.out.println("用户名不能有数字");
//break;//退出for循环
return;//退出main方法
}
}
System.out.println("用户名符合要求");
}

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

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

 public class TestStringConvert
{
public static void main(String[] args)
{
//从键盘输入字符串形式的年龄,分数和入学时间
Scanner input = new Scanner(System.in);
System.out.print("请输入年龄:");
String sage = input.nextLine();
System.out.print("请输入分数:");
String sscore = input.nextLine();
System.out.print("请输入日期(yyyy/MM/dd):");
String sdate = input.nextLine();
//年龄转换String----int
int age = 0;
age = Integer.parseInt(sage);
//分数转换 String ---double
double score = 0.0;
score = Double.parseDouble(sscore);
//入学时间的转换String ---Date
Date enterDate = null;
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try
{
enterDate = sdf.parse(sdate);
} catch (ParseException e)
{
e.printStackTrace();
//return;
}
//输出结果
System.out.println(age + " " + score + " " + enterDate);
}
}

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

提示:使用枚举实现

 //定义信号灯枚举
public enum Signal
{
红, 绿, 黄
}
public class TestSignal
{
public static void main(String[] args)
{
//指定信号灯颜色
Signal s = Signal.红;
//根据颜色决定汽车下步行动
switch (s)
{
case 红:
System.out.println("停车");
break;
case 绿:
System.out.println("行驶");
break;
case 黄:
System.out.println("慢行");
break;
}
}
}//定义信号灯枚举
public enum Signal
{
红, 绿, 黄
}
public class TestSignal
{
public static void main(String[] args)
{
//指定信号灯颜色
Signal s = Signal.红;
//根据颜色决定汽车下步行动
switch (s)
{
case 红:
System.out.println("停车");
break;
case 绿:
System.out.println("行驶");
break;
case 黄:
System.out.println("慢行");
break;
}
}
}

4.以树状结构输出计算机某个指定文件夹下的所有的文件和子文件夹名称。

提示:使用File的方法,并结合递归实现

 public class TestDirectory
{
public static void main(String[] args)
{
File file = new File("d:/101sxt");
showTree(file, 1);
}
public static void showTree(File file, int level)
{
//获取当前目录下的文件和子文件夹(仅当前层次)
File[] files = file.listFiles();
//输出当前目录下的文件和子文件夹(仅当前层次)
for (File f : files)
{
//根据级别level输出指定个数的-
for (int i = 0; i < level; i++)
{
System.out.print("-");
}
//输出当前的一个文件或文件夹
if (f.isDirectory())
{
System.out.println("[" + f.getName() + "]");
//递归
showTree(f, level + 1);
} else
{
System.out.println(f.getName() + "\t" + f.length());
}
}
}
}

4.将1990年3月3日通过Calendar来表示,并得出这天是该年的第几天?将该日期增加35天,是哪一天?使用代码来说明。

 public class Test
{ public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
//设置年月日
calendar.set(1990, 3, 3);
//得到该年的第几天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(dayOfYear);
//增加35天
calendar.add(Calendar.DAY_OF_YEAR, 35);
//得到date对象
Date date = calendar.getTime();
System.out.println(date.toLocaleString());
}
}
//或者采用如下代码实现
public static void main(String[] args) throws ParseException
{
Calendar ca = Calendar.getInstance();//创建一个日期实例
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
Date date = df.parse("1990年3月3日");
ca.setTime(date );//实例化一个日期
System.out.println(ca.get(Calendar.DAY_OF_YEAR)); ca.add(Calendar.DAY_OF_YEAR, 35);//加上35天
System.out.println(df.format(ca.getTime()));//获取那一天

六、    可选题

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

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

 public class TestRandom
{
public static void main(String[] args)
{
//实现1:生成10个[10,23)之间的随机整数
for (int i = 0; i < 10; i++)
{
int r = (int) (Math.random() * 13) + 10;
System.out.print(r + "\t");
}
System.out.println();
Random rand = new Random();
//实现2:生成10个[10,23)之间的随机整数
for (int i = 0; i < 10; i++)
{
int r = (int) (rand.nextDouble() * 13) + 10;
System.out.print(r + "\t");
}
System.out.println();
//实现3:生成10个[10,23)之间的随机整数
for (int i = 0; i <= 10; i++)
{
int r = rand.nextInt(13) + 10;//[0,13)+10---[10,23)
System.out.print(r + "\t");
}
System.out.println();
}
}

2.手动定义一个枚举,表示十二个月的英文月份。

 public enum Month
{
January, february, March, April, May, June,
July, August, September, October, November, December
}

3.打印某个月份的可视化日历

提示:使用DateFormat、Calendar类实现功能

 public class VisualCalendar2
{
public static void main(String[] args) throws ParseException
{
//从键盘输入指定格式的字符串 (Scanner) 2015-12-3
System.out.println("请输入日期(按照格式:2030-3-10):");
Scanner scanner = new Scanner(System.in);
String temp = scanner.nextLine();
//把输入的字符串变成Date(DateFormat)
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(temp);
//把Date变成Calendar(setTime())
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//取出日历的日信息
int dateOfMonth = calendar.get(Calendar.DATE);
//输出日历头信息 日 一 二 三 四 五 六
System.out.println("日\t一\t二\t三\t四\t五\t六");
//输出该月1日之前的空白( 要知道该月1日是星期几)
calendar.set(Calendar.DATE, 1);
int weekDay = calendar.get(Calendar.DAY_OF_WEEK);
for (int i = 1; i < weekDay; i++)
{
System.out.print('\t');
}
//输出该月的日历从1到最后一天(更多细节)
int maxDay = calendar.getActualMaximum(Calendar.DATE);
for (int i = 1; i <= maxDay; i++)
{
//如果是当天,输出*
if (i == dateOfMonth)
{
System.out.print("*");
}
//输出每一天
System.out.print(i + "\t");
//如果是周六换行
weekDay = calendar.get(Calendar.DAY_OF_WEEK);
if (weekDay == 7)
{
System.out.println();
}
//日历变成下一天!!!!!!
calendar.add(Calendar.DATE, 1);
}
}
}

Java常用工具类题库的更多相关文章

  1. JavaEE-实验一 Java常用工具类编程

    该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1.  使用类String类的分割split 将字符串  “Solutions to selected exercises ca ...

  2. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

  3. Java常用工具类---XML工具类、数据验证工具类

    package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...

  4. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  5. java常用工具类(java技术交流群57388149)

    package com.itjh.javaUtil;   import java.util.ArrayList; import java.util.List;   /** * * String工具类. ...

  6. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

  7. java 常用工具类

    1. org.apache.commons.collections4包提供CollectionUtils.MapUtils.ListUtils.SetUtils等工具类: 2. org.apache. ...

  8. Java常用工具类之Excel导出

    package com.wazn.learn.util; import java.util.List; import java.util.Map; import org.apache.poi.hssf ...

  9. Java常用工具类之删除文件

    package com.wazn.learn.util; import java.io.File; /** * 删除文件工具类 * @author yangzhenyu * */ public cla ...

随机推荐

  1. JavaWeb学习总结(五十一)——邮件的发送与接收原理

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  2. OC第二节 —— NSString和NSMutableString

    1.为什么需要NSString对象        答:在OC中创建字符串时,一般不使用C的方法,    因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,    在Cocoa中NSStri ...

  3. torch 入门

    torch 入门1.安装环境我的环境mac book pro 集成显卡 Intel Iris不能用 cunn 模块,因为显卡不支持 CUDA2.安装步骤: 官方文档 (1).git clone htt ...

  4. maven打包步骤_maven 构建项目

    maven打包 1:先在pom文件中添加下面配置  jar <build>        <plugins>            <!-- compiler插件, 设定 ...

  5. 【C语言入门教程】7.5 枚举

    在实际应用中,有的变量只有几种可能取值.如人的性别只有两种可能取值,星期只有七种可能取值.在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型.所谓枚举是指将变量的值一一列举出来,变量只限于列举出 ...

  6. JAVA-多屏幕显示

    以下代码适用于:一台主机连接多台显示器,JAVA Swing窗口需要分别显示到对应的显示器上. GraphicsEnvironment env = GraphicsEnvironment.getLoc ...

  7. Objective-C上地球坐标系到火星坐标系转换算法

    Objective-C上地球坐标系到火星坐标系转换算法 http://blog.csdn.net/zhaoxy_thu/article/details/17033347

  8. ASP.NET后台输出js大全,页面顶部、form表单中前面与后面、和UpdatePanel(ScriptManager、AJAX)输出JS

    Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...

  9. weapp微信小程序初探demo

    https://github.com/donglegend/weapp-demo 参考文档开发工具安装微信weapp API git项目源码微信小程序 demo效果展示效果预览

  10. iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全

    一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新, ...