从哪里摔倒,从哪里爬起来...

若如初见. 提交于 2019-12-21 15:05:05

  这是我之前考核两次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;
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!