这是我之前考核两次java的错题,心血来潮就想把它写成博客,虽然现在不学java,但以后看到仍可以警醒自己,毕竟一个人不能在同一个地方摔倒两次,当然它也代表着一段回忆!!!
下列说法正确的是(A)
A.一个Java文件中只能有一个类使用public修饰//并且主方法要包含在该类中
B.JAVA程序中可以没有public类//可以无public类也可以没有主函数,只需同意个包里有一个主函数就可以通过调用进行运行
C.JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
D.一个Java文件中一定要有一个类中有main方法//同一个包里有一个即可
在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的( D )不属于Object类的方法。
A.equals(Object obj)
B.getClass()
C.toString()
D.trim()//String类
在Java接口中,下列选项中有效的方法声明是( A)。
A.public void aMethod();
B.public aMethod();//无返回类型
C.protected void aMethod();//不能被其他包中的类继承
D.private void aMethod();//只在该类有效,而接口中的方法则都必须要实现
下列关于修饰符混用的说法,错误的是(D )
A. abstract不能与final并列修饰同一个类
B. abstract类中可以有private的成员
C. abstract方法必须在abstract类中
D. static方法中能处理非static的属性//static只能处理static类型的数据
String str=“123456”; 如何将str转化为数值类型( D )
A. (int)str
B. str+2
C. (Integer)str
D. Integer.valueOf(str)//str不能直接转为int
补充:valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数。
Integer b = Integer.valueOf(“444”,16); // 使用 16 进制,输出16进制的数
下列对Map描述有误的是( D )
A. Map的每个元素由键与值两部分组成
B. Map的键不能重复,每个键对应一个值
C. Map的键和值可以为null//键可以为空,但不能重复
D. Map的键不能直接转为Set集合//keyset()
Java 网络程序位于TCP/IP参考模型的哪一层( B )
A. 网络层
B. 应用层//Java网络程序位于哪一层不是tcp位于哪一层
C. 传输层
D. 链路层
以下代码运行结果为( B )
Date date=new Date(25*(int)Math.pow(10, 3)); System.out.println(date);
A. Thu Jan 01 08:00:00 CST 1970
B. Thu Jan 01 08:00:25 CST 1970
C. Thu Jan 01 14:56:40 CST 1970
D. Thu Jan 01 08:04:10 CST 1970
对于构造方法描述正确的有( C )
A. 构造方法不能重载
B. 构造方法一定是public的方法//构造方法一般情况下为public若为private则只能被该类访问
C. 如果我们没有显示定义构造方法,系统会提供一个无参构造方法
D. 每个类必有无参构造方法//若有有参构造方法则不必要无参构造方法
下列关于修饰符的说法错误的是( C )
A. final修饰的变量不能够改变。
B. 用修饰符 abstract 修饰的方法称为抽象方法。抽象方法仅有方法头,没有方法体和操作实现。
C. 用 private 修饰的成员变量只能被该类自身和其子类访问//不能被子类访问
D. 类的属性一般用private修饰,这符合Java面向对象设计的思想//用private修饰提高了数据的安全性,这就是用一个机制限制了对成员的访问
String str =“abcdefgh”; System.out.println(str.subSequence(2, 5));该代码的输出结果是(A )
//subSequence(begin index,over index)返回一个新的子数列,包括begin不包括over
A. cde
B. “cde”
C. bcde
D. “bcde”
简述JDK、JRE和JVM的关系(3分)
JDK 包含JRE,JRE包含JVM。
JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。
TCP和UDP的区别(从是否连接、传输可靠性、应用场合、速度方面简要回答)(4分)
TCP UDP
是否连接 面向连接 面向非连接
传输可靠性 可靠 不可靠
应用场合 传输大量数据 少量数据
速度 慢 快
Math.round(11.5)的结果为12,Math.round(-11.5) 的结果为-11
写出Java的三种注释的语法和作用。
单行注释: // 单行只能注释一行的内容
多行注释: /* / 可以注释很多行的内容
文档注释: /* */ 也能注释多行内容,一般用在类、方法、和变量上面,用来描述其作用,可以通过命令javadoc把文档注释中的内容生成文档
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第20个月时,兔子总数为多少?(10分)
public static void main(String[]args){
int a=1,b=1;
int s=0;
int sum=1;
for(int i=3;i<=20;i++){//相当于求斐波那契数列的和
s=a+b;
a=b;
b=s;
sum=sum+s;
}
System.out.println("小兔的总数为"+sum);
}
类似的 假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?(注意:给定n是一个正整数。)
编写一个Person抽象类,要求含有姓名(name)类型(String),年龄(age)类型(int)两个私有成员变量,以及一个工作(work)抽象方法、姓名和年龄构造方法、无参构造方法,
要求:
重写toString方法输出格式为(名字:XXX ,年龄:XXX)。创建老师(Teacher)类继承Person类,老师类中有私有成员教师编号(number)类型(String)并实现父类的抽象方法输出(我是老师,我的工作是教书),创建教师编号的getter方法,并写出构造方法给姓名(name)年龄(age)教师编号(number)赋初值。在主函数中创建老师类的实例对象,并使用构造方法赋值。要求:输出老师类的实例对象,打印教师编号,调用工作方法。(16分)
public abstract class Person {
private String name;
private int age;
public abstract void work();
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person() {
}
@Override
public String toString() {
return "名字:" + name + ",年龄:" + age;
}
}
class Teacher extends Person {
private String number;
public Teacher(String name, int age, String number) {
super(name, age);
this.number = number;
}
@Override
public void work() {
System.out.println("我是老师,我的工作是教书");
}
public String getNumber() {
return number;
}
public static void main(String[] args) {
Teacher teacher = new Teacher("zyx", 18, "666666");
System.out.println(teacher);
System.out.println("编号:" + teacher.getNumber());
teacher.work();
}
}
输入两个字符串J和S,字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
要求:
J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = “aA”, S = “aAAbbbb”
输出: 3
示例 2:
输入: J = “z”, S = “ZZ”
输出: 0
import java.util.*;
public class num_5{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
System.out.println("请输入宝石类型");
String J=scan.nextLine();
System.out.println("请输入你拥有的石头");
String S=scan.nextLine();
int num=0;
for(int i=0;i<J.length();i++){
for(int j=0;j<S.length();j++){
//只要求与其相等就算是宝石,没必要一个类型要一个
if(J.charAt(i)==S.charAt(j)){
num++;
}
}
}
System.out.println("你拥有的宝石个数为");
System.out.println(num);
}
}
给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。
要求:
说明:解集不能包含重复的子集。
示例:
输入: nums = [1,2,3]
输出:
[[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
class Solution {
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> number=new ArrayList<List<Integer>>();
number.add(new ArrayList<Integer>());
for(Integer i:nums){
int s=number.size();
for(int j=0;j<s;j++){
List<Integer>num=new ArrayList<Integer>(number.get(j));
num.add(i);
number.add(num);
}
}
return number;
}
}
来源:CSDN
作者:?Sonder *
链接:https://blog.csdn.net/qq_45731083/article/details/103641151