【单选题】下面的程序段执行后,输出的结果是以下哪个选项? StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString());
【判断题】集合中不能存放基本数据类型,而只能存放引用数据类型。
【简答题】Please upload recitation video of Unit Four.
【简答题】运行下面程序并写出结果: public class Ex05SOper { public static void main(String[] args ) { // TODO Auto-generated method stub String s1 = " Starter" ; // 声明一个字符串 String s2 = "St" ; System. out .println( "判断是否以字符串St开头:" + s1 .startsWith( "St" )); System. out .println( "判断是否以字符串er结尾:" + s1 .endsWith( "er" )); System. out .println( "判断是否包含字符串ar:" + s1 .contains( "ar" )); System. out .println( "判断字符串是否为空:" + s1 .isEmpty()); System. out .println( "判断两个字符串是否相等" + s1 .equals( s2 )); } }
【简答题】运行下面的程序写出运行结果 import java.util.*; public class Example09 { public static void main(String[] args) { // 获取当前系统属性 Properties properties = System.getProperties(); System.out.println(properties); // 获取所有系统属性的key(属性名),返回Set对象 Set propertyNames = properties.stringPropertyNames(); for (String key : propertyNames ) { //获取当前键key(属性名)所对应的值(属性值) String value = System.getProperty(key); System.out.println(key +"--->"+ value); } } }
【简答题】编写下面的程序并写出运行结果,体会父类方法的重写: //定义Dog类继承动物类 class Dog2 extends Animal { // 定义狗叫的方法 void shout() { System. out .println( "汪汪......" ); } } public class Ex02ExtRewrite { public static void main(String[] args ) { Dog2 dog = new Dog2(); // 创建Dog类的实例对象 dog .shout(); // 调用Dog类重写的shout()方法 } }
【简答题】在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加,要求如下: Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals()方法返回true.
【简答题】运行下面的程序并写出运行结果,体会内部类的形式 //定义外部类Outer class Outer20 { static int m = 0; // 定义外部类静态变量m static class Inner { void show() { // 静态内部类访问外部类静态成员 System. out .println( "外部类静态变量m=" + m ); } } } //定义测试类 public class Ex20OI { public static void main(String[] args ) { // 静态内部类可以直接通过外部类创建 Outer20.Inner inner = new Outer20.Inner(); inner .show(); } }
【单选题】使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?
【简答题】编写并运行下面的程序,写出运行结果,体会子类是如何继承父类的: class Animal { String name; void shout() { System.out.println("动物发出叫声"); } } class Dog extends Animal { // 定义一个打印name的方法 public void printName() { System.out.println("name=" + name); } } public class Example01 { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "沙皮狗"; dog.printName(); dog.shout(); } }
【简答题】运行下面程序写出运行结果,并分析内部类类型 //定义动物类接口 interface Animal21 { void shout(); } public class Ex21OI { public static void main(String[] args ) { String name = "小花" ; // 定义匿名内部类作为参数传递给animalShout()方法 animalShout( new Animal21() { // 实现shout()方法 public void shout() { // JDK 8开始,局部内部类、匿名内部类可以访问非final的局部变量 System. out .println( name + "喵喵..." ); } }); } // 定义静态方法animalShout(),接收接口类型参数 public static void animalShout (Animal21 an ) { an .shout(); // 调用传入对象an的shout()方法 } }
【简答题】编写并运行下面的程序,写出结果并体会LinkedList的用法: import java.util.LinkedList; public class Ex0602LinkedList { public static void main(String[] args ) { // TODO Auto-generated method stub LinkedList link = new LinkedList (); // 创建LinkedList集合 // 1、添加元素 link .add( "stu1" ) ; link .add( "stu2" ) ; System. out .println( link ); // 输出集合中的元素 link .offer( "offer" ) ; // 向集合尾部追加元素 link .push( "push" ) ; // 向集合头部添加元素 System. out .println( link ); // 输出集合中的元素 // 2、获取元素 Object object = link .peek(); //获取集合第一个元素 System. out .println( object ); // 输出集合中的元素 // 3、删除元素 link .removeFirst(); // 删除集合第一个元素 link .pollLast(); // 删除集合最后一个元素 System. out .println( link ); } }
【简答题】编写并运行下面的程序,体会HashMap的用法: import java.util.HashMap; import java.util.Map; public class Ex0614 { public static void main(String[] args ) { // TODO Auto-generated method stub // 创建HashMap对象 Map map = new HashMap (); // 1、向Map存储键值对元素 map .put( "1" , "Jack" ) ; map .put( "2" , "Rose" ) ; map .put( "3" , "Lucy" ) ; map .put( "4" , "Lucy" ) ; map .put( "1" , "Tom" ) ; System. out .println( map ); // 2、查看键对象是否存在 System. out .println( map .containsKey( "1" )); // 3、获取指定键对象映射的值 System. out .println( map .get( "1" )); // 4、获取集合中的键对象和值对象集合 System. out .println( map .keySet()); System. out .println( map .values()); // 5、替换指定键对象映射的值 map .replace( "1" , "Tom2" ) ; System. out .println( map ); // 6、删除指定键对象映射的键值对元素 map .remove( "1" ); System. out .println( map ); } }
【简答题】编写下面程序并体会Java程序的多态性: //定义抽象类AnimalA abstract class AnimalA { abstract void shout(); // 定义抽象shout()方法 } //定义Cat类继承Animal抽象类 class Cat extends AnimalA { // 实现shout()方法 public void shout() { System. out .println( "喵喵......" ); } } //定义Dog类继承Animal抽象类 class DogA extends AnimalA { // 实现shout()方法 public void shout() { System. out .println( "汪汪......" ); } } public class Ex15Abstr { public static void main(String[] args ) { AnimalA an1 = new Cat(); AnimalA an2 = new DogA(); an1 .shout(); an2 .shout(); } }
【简答题】简述String和StringBuffer有什么区别。
【填空题】在Java语言中,所有 的类都直接或间接继承自___________类。
【多选题】下面对于构造方法的描述,正确的有哪些
【简答题】运行下面程序写出结果: public class Ex03StC { public static void main(String[] args ) { // TODO Auto-generated method stub String str = "java" ; char [] charArray = str .toCharArray(); // 字符串转换为字符数组 System. out .print( "将字符串转为字符数组后的遍历结果:" ); for ( int i = 0; i < charArray . length ; i ++) { if ( i != charArray . length - 1) { // 如果不是数组的最后一个元素,在元素后面加逗号 System. out .print( charArray [ i ] + "," ); } else { // 数组的最后一个元素后面不加逗号 System. out .println( charArray [ i ]); } } System. out .println( "将int值转换为String类型之后的结果:" + String.valueOf(12)); System. out .println( "将字符串转换成大写之后的结果:" + str .toUpperCase()); } }
【简答题】运行下面的程序,体会如何避免参数误用/误设?说明如何实现类的封装? class PersonE{ private String name ; private int age ; public String getName() { return name ; } public void setName(String name ) { this . name = name ; } public int getAge() { return age ; } public void setAge( int age ) { if ( age <= 0){ System. out .println( "您输入的年龄不正确!" ); } else { this . age = age ; } } public void speak(){ System. out .println( "我叫" + name + ",今年" + age + "岁了" ); } } public class Ex04Encaps { public static void main(String[] args ) { // TODO Auto-generated method stub PersonE p = new PersonE(); p .setName( "张三" ); p .setAge(-18); p .speak(); } }
【简答题】运行并写出结果: public class Ex08SB { public static void main(String[] args ) { // TODO Auto-generated method stub System. out .println( "1、添加------------------------" ); add(); System. out .println( "2、修改------------------------" ); update(); System. out .println( "3、删除------------------------" ); delete(); } // 添加 public static void add() { StringBuffer sb = new StringBuffer(); // 定义一个字符串缓冲区 sb .append( "ABC" ); // 添加字符串 System. out .println( "append添加结果:" + sb ); sb .insert(3, "DE" ); // 在指定位置插入字符串 System. out .println( "insert添加结果:" + sb ); } // 修改 public static void update() { StringBuffer sb = new StringBuffer( "ABAAA" ); sb .setCharAt(2, 'C' ); // 修改指定位置字符 System. out .println( "修改指定位置字符结果:" + sb ); sb .replace(3, 5, "DE" ); // 替换指定位置字符串或字符 System. out .println( "替换指定位置字符(串)结果:" + sb ); System. out .println( "字符串翻转结果:" + sb .reverse()); } // 删除 public static void delete() { StringBuffer sb = new StringBuffer( "ABCDEFG" ); sb .delete(3, 7); // 指定范围删除 System. out .println( "删除指定位置结果:" + sb ); sb .deleteCharAt(2); // 指定位置删除 System. out .println( "删除指定位置结果:" + sb ); sb .delete(0, sb .length()); // 清空缓冲区 System. out .println( "清空缓冲区结果:" + sb ); } }
【判断题】Java中被final关键字修饰的变量,不能被重新赋值。
【简答题】编程写出下面程序的运行结果,并体会调用父类构造方法super //定义Animal类 class Animal1 { // 定义Animal类有参的构造方法 public Animal1(String name ) { System. out .println( "我是一只" + name ); } } //定义Dog类继承Animal类 class DogS2 extends Animal1 { public DogS2() { super ( "沙皮狗" ); // 调用父类有参的构造方法 } } public class Ex04Super2 { public static void main(String[] args ) { // TODO Auto-generated method stub DogS2 dog = new DogS2(); // 创建Dog类的实例对象 } }
【简答题】编写下面的程序并写出运行结果,体会内部类的形式 //定义外部类Outer class Outer19 { int m = 0; void test1(){ System. out .println( "外部类成员方法" ); } void test2() { // 1、定义局部内部类Inner,在局部内部类中访问外部类变量和方法 class Inner { int n = 1; void show() { System. out .println( "外部类变量m=" + m ); test1(); } } // 2、在创建局部内部类的方法中,调用局部内部类变量和方法 Inner inner = new Inner(); System. out .println( "局部内部类变量n=" + inner . n ); inner .show(); } } //定义测试类 public class Ex19OutInner { public static void main(String[] args ) { // TODO Auto-generated method stub Outer19 outer = new Outer19(); outer .test2(); // 通过外部类对象调用创建了局部内部类的方法 } }
【填空题】已知sb为StringBuffer的一个实例,且sb.toString()的值为"abcde",则执行sb.substring(3,5)的值为___________.
【简答题】编写并运行下面的程序,体会TreeSet集合的常用方法: import java.util.TreeSet; public class Ex0611TreeSet { public static void main(String[] args ) { // TODO Auto-generated method stub // 创建TreeSet集合 TreeSet ts = new TreeSet (); // 1、向TreeSet集合中添加元素 ts .add(3) ; ts .add(9) ; ts .add(1) ; ts .add(21) ; System. out .println( "创建的TreeSet集合为:" + ts ); // 2、获取首尾元素 System. out .println( "TreeSet集合首元素为:" + ts .first()); System. out .println( "TreeSet集合尾部元素为:" + ts .last()); // 3、比较并获取元素 System. out .println( "集合中小于或等于9的最大的一个元素为:" + ts .floor(9) ); System. out .println( "集合中大于10的最小的一个元素为:" + ts .higher(10) ); System. out .println( "集合中大于100的最小的一个元素为:" + ts .higher(100) ); // 4、删除元素 Object first = ts .pollFirst(); System. out .println( "删除的第一个元素是:" + first ); System. out .println( "删除第一个元素后TreeSet集合变为:" + ts ); } }
【简答题】编写并运行下面的程序,写出结果并体会foreach遍历集合的用法: import java.util.ArrayList; public class Ex0604ForEach { public static void main(String[] args ) { // TODO Auto-generated method stub ArrayList list = new ArrayList (); // 创建ArrayList集合 list .add( "data_1" ) ; // 向ArrayList集合中添加字符串元素 list .add( "data_2" ) ; list .add( "data_3" ) ; for (Object obj : list ) { // 使用 foreach 循环遍历ArrayList对象 System. out .println( obj ); // 取出并打印ArrayList集合中的元素 } } }
【填空题】在创建TreeSet对象时,可以传入自定义比较器,自定义比较器需实现___________接口。
【简答题】阅读下面的代码,试写出运行结果: public class TestSeqMethod { public TestSeqMethod(){ System. out .println( "构造方法二被调用了" ); } public TestSeqMethod( int x ){ this (); System. out .println( "构造方法一被调用了" ); } public TestSeqMethod( boolean b ){ this (1); System. out .println( "构造方法三被调用了" ); } public static void main(String[] args ){ TestSeqMethod test = new TestSeqMethod( true ); } }
【简答题】编写并运行下面的程序,写出结果并体会iterator遍历的用法: import java.util.ArrayList; import java.util.Iterator; public class Ex0603Iter { public static void main(String[] args ) { // TODO Auto-generated method stub // 创建ArrayList集合 ArrayList list = new ArrayList (); // 向该集合中添加字符串 list .add( "data_1" ) ; list .add( "data_2" ) ; list .add( "data_3" ) ; // 获取Iterator对象 Iterator iterator = list .iterator(); // 判断集合中是否存在下一个元素 while ( iterator .hasNext()) { Object obj = iterator .next(); // 取出ArrayList集合中的元素 System. out .println( obj ); } } }
【简答题】编写一个程序,实现字符串大小写的转换并倒序输出。要求如下: 1)使用for循环将字符串"HelloWorld"从最后一个字符开始遍历。 2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase()方法将其转换为大写字符。 3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。
【判断题】String对象和StringBuffer对象都是字符串变量,创建后都可以修改。
【填空题】System类中所提供的属性和方法都是________________的,想要引用这些属性和方法,直接使用System类调用即可。
【单选题】要想在集合中保存没有重复的元素并且按照一定的顺序排列,可以使用以下哪个集合?
【简答题】编写下面的程序运行输出结果,体会字符串的方法 public class Ex02StringBasic { public static void main(String[] args ) { String s = "张茂泉茂泉张泉茂张" ; // 初始化字符串 System. out .println( "字符串的长度为:" + s .length()); System. out .println( "字符串中第一个字符:" + s .charAt(0)); System. out .println( "字符\"茂\"第一次出现的位置:" + s .indexOf( '茂' )); System. out .println( "字符\"茂\"最后一次出现的位置:" + s .lastIndexOf( '茂' )); System. out .println( "子字符串第一次出现的位置:" + s .indexOf( "茂泉" )); System. out .println( "子字符串最后一次出现的位置:" + s .lastIndexOf( "茂泉" )); } }
【简答题】编写并运行下面的程序,体会TreeSet集合中自然排序的使用: import java.util.TreeSet; //定义Teacher类实现Comparable接口 class Teacher implements Comparable { String name ; int age ; public Teacher(String name , int age ) { this . name = name ; this . age = age ; } public String toString() { return name + ":" + age ; } //重写Comparable接口的compareTo()方法 public int compareTo(Object obj ){ Teacher s = (Teacher) obj ; // 定义比较方式,先比较年龄age,再比较名称name if ( this . age - s . age > 0) { return 1; } if ( this . age - s . age == 0) { return this . name .compareTo( s . name ); } return -1; } } public class Ex0612TreeSetSort { public static void main(String[] args ) { // TODO Auto-generated method stub TreeSet ts = new TreeSet (); ts .add( new Teacher( "Jack" ,19)) ; ts .add( new Teacher( "Rose" ,18)) ; ts .add( new Teacher( "Tom" , 19)) ; ts .add( new Teacher( "Rose" ,18)) ; System. out .println( ts ); } }
【多选题】以下哪些方法是LinkedList集合中定义的?(多选)
【填空题】一个类可以从其他的类派生出来,派生出来的类称为________,用于派生的类称为_________或者_________.
【简答题】运行下面的程序,写出运行结果,并思考在java中创建一个对象的步骤。 class Person{ String name ; int age ; void speak (){ System. out .println( "我叫" + name + ",今年" + age + "岁了" ); } } public class Ex03Encaps { public static void main(String[] args ) { // TODO Auto-generated method stub Person p = new Person(); p . name = "张三" ; p . age = -18; p .speak(); } }
【判断题】JDK8中增加的一个Stream接口,该接口可以将集合、数据中的元素转换为Stream流的形式。
【填空题】在Java中定义了两个类来封装对字符串的操作,它们分别是____________和____________.
【简答题】运行并写出结果: public class Ex04Trim { public static void main(String[] args ) { // TODO Auto-generated method stub String s = " http :// localhost : 8080 " ; // 字符串去除空格操作 System. out .println( "去除字符串两端空格后的结果:" + s .trim()); // 字符串替换操作 System. out .println( "去除字符串中所有空格后的结果:" + s .replace( " " , "" )); } }
【填空题】一个类如果实现一个接口,那么它就需要实现接口中定义的全部___________,否则该类就必须定义成___________.
【简答题】编写并运行下面的程序写出运行结果: //定义外部类Outer class Outer { int m = 0; // 定义外部类的成员变量 // 定义外部类成员方法 void test1() { System. out .println( "外部类成员方法" ); } // 定义成员内部类Inner class Inner { int n = 1; // 1、定义内部类方法,访问外部类成员变量和方法 void show1() { System. out .println( "外部类成员变量m=" + m ); test1(); } void show2(){ System. out .println( "内部类成员方法" ); } } // 2、定义外部类方法,访问内部类变量和方法 void test2() { Inner inner = new Inner(); System. out .println( "内部类成员变量n=" + inner . n ); inner .show2(); } } public class Ex18TestInner { public static void main(String[] args ) { // TODO Auto-generated method stub Outer outer = new Outer(); // 创建外部类对象 Outer.Inner inner = outer . new Inner(); // 创建内部类对象 inner .show1(); // 测试在成员内部类中访问外部类成员变量和方法 outer .test2(); // 测试在外部类中访问内部类成员变量和方法 } }
【简答题】编写下面的程序并写出运行结果,体会ArrayList的用法: import java.util.ArrayList; public class Ex0601ArrList { public static void main(String[] args ) { // TODO Auto-generated method stub ArrayList list = new ArrayList (); // 创建ArrayList集合 list .add( "stu1" ) ; // 向集合中添加元素 list .add( "stu2" ) ; list .add( "stu3" ) ; list .add( "stu4" ) ; System. out .println( "集合的长度:" + list .size()); // 获取集合中元素的个数 System. out .println( "第2个元素是:" + list .get(1)); // 取出并打印指定位置的元素 } }
【简答题】编写并运行下面的程序,并体会HashSet是如何存取对象的: import java.util.HashSet; class Student { String id ; String name ; public Student(String id ,String name ) { // 创建构造方法 this . id = id ; this . name = name ; } public String toString() { // 重写toString()方法 return id + ":" + name ; } // 重写hashCode方法 public int hashCode() { return id .hashCode(); // 返回id属性的哈希值 } // 重写equals方法 public boolean equals(Object obj ) { if ( this == obj ) { // 判断是否是同一个对象 return true ; // 如果是,直接返回true } if (!( obj instanceof Student)) { // 判断对象是为Student类型 return false ; // 如果对象不是Student类型,返回false } Student stu = (Student) obj ; // 将对象强转为Student类型 boolean b = this . id .equals( stu . id ); // 判断id值是否相同 return b ; // 返回判断结果 } } public class Ex0610HashSet { public static void main(String[] args ) { // TODO Auto-generated method stub HashSet hs = new HashSet (); // 创建HashSet集合 Student stu1 = new Student( "1" , "Jack" ); // 创建Student对象 Student stu2 = new Student( "2" , "Rose" ); Student stu3 = new Student( "2" , "Rose" ); hs .add( stu1 ) ; hs .add( stu2 ) ; hs .add( stu3 ) ; System. out .println( hs ); } }
【简答题】编写下面的程序,写出运行结果并思考多态的意义及注意事项 //定义接口Animal interface AnimalP { void shout(); // 定义抽象shout()方法 } //定义Cat类实现Animal接口 class CatP implements AnimalP { // 实现接口shout()方法 public void shout() { System. out .println( "喵喵......" ); } // 定义Cat类特有的抓老鼠catchMouse()方法 public void catchMouse() { System. out .println( "小猫抓老鼠......" ); } } //定义Dog类实现Animal接口 class DogP implements AnimalP { // 实现接口shout()方法 public void shout() { System. out .println( "汪汪......" ); } } public class Ex17Polym { public static void main(String[] args ) { // TODO Auto-generated method stub // Animal an1 = new Dog(); // Cat cat = (Cat) an1; // cat.shout(); // cat.catchMouse(); AnimalP an1 = new DogP(); if ( an1 instanceof CatP){ // 判断an1本质类型 CatP cat = (CatP) an1 ; cat .shout(); cat .catchMouse(); } else { System. out .println( "该类型的对象不是Cat类型!" ); } } }
【简答题】运行并写出结果: public class Ex06SpSub { public static void main(String[] args ) { // TODO Auto-generated method stub String str = "2019-10-11" ; // 下面是字符串截取操作 System. out .println( "从第6个字符截取到末尾的结果:" + str .substring(5)); System. out .println( "从第6个字符截取到第7个字符的结果:" + str .substring(5, 7)); // 下面是字符串分割操作 System. out .print( "分割后的字符串数组中的元素依次为:" ); // 通过横线连接符“—”将字符串转换为字符串数组 String[] strArray = str .split( "-" ); // 循环输出数组中的元素 for ( int i = 0; i < strArray . length ; i ++) { if ( i != strArray . length - 1) { // 如果不是数组的最后一个元素,在元素后面加顿号 System. out .print( strArray [ i ] + "、" ); } else { // 数组的最后一个元素后面不加顿号 System. out .println( strArray [ i ]); } } } }
【单选题】在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?
【判断题】函数式接口在Java中是指有且仅有一个抽象方法的接口。
【判断题】使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。