国庆中秋特辑(六)大学生常见30道宝藏编程面试题

在这里插入图片描述

以下是 30 道大学生 Java 面试常见编程面试题和答案,包含完整代码:

  1. 什么是 Java 中的 main 方法?
    答:main 方法是 Java 程序的入口点。它是一个特殊的方法,不需要被声明。当 Java 运行时系统执行一个 Java 程序时,它首先运行 main 方法。main 方法应该具有以下签名:public static void main(String[] args)。
  2. 如何在 Java 中创建一个新的对象?
    答:在 Java 中,可以使用关键字"new"来创建一个新的对象。例如,要创建一个名为"myObject"的新对象,可以使用以下代码:
MyClass myObject = new MyClass();  
  1. 什么是 Java 中的构造函数?
    答:构造函数是一种特殊的方法,用于创建和初始化对象。它与类同名,并且没有返回类型。Java 会自动调用构造函数,当创建类的新对象时。
class MyClass {  int a;MyClass() {  a = 10;  }  
}
  1. 如何在 Java 中访问类的属性?
    答:在 Java 中,可以使用点号(.)运算符来访问类的属性。例如,如果一个类有属性 name 和 age,可以这样访问:
MyClass obj = new MyClass();  
obj.name = "John";  
obj.age = 30;  
  1. 什么是 Java 中的访问修饰符?
    答:访问修饰符是用于限制其他类对类中成员(属性和方法)访问的修饰符。Java 中的访问修饰符有四种:public、protected、default(即不加任何修饰符)和 private。
// public  
public class PublicClass {  public int publicProperty = 10;public void publicMethod() {  System.out.println("This is a public method.");  }  
}
// protected  
protected class ProtectedClass {  protected int protectedProperty = 20;protected void protectedMethod() {  System.out.println("This is a protected method.");  }  
}
// default (no modifier)  
class DefaultClass {  int defaultProperty = 30;void defaultMethod() {  System.out.println("This is a default method.");  }  
}
// private  
class PrivateClass {  private int privateProperty = 40;private void privateMethod() {  System.out.println("This is a private method.");  }  
}
  1. 如何实现 Java 中的单例模式?
    答:单例模式是一种设计模式,确保一个类只有一个实例。可以使用懒汉式(线程安全)和饿汉式(线程不安全)来实现单例模式。
// 懒汉式 (线程安全)  
class Singleton {  private static Singleton instance;private Singleton() {  // private constructor to prevent instantiation  }public static synchronized Singleton getInstance() {  if (instance == null) {  instance = new Singleton();  }  return instance;  }  
}
// 饿汉式 (线程不安全)  
class Singleton {  private static final Singleton instance = new Singleton();private Singleton() {  // private constructor to prevent instantiation  }public static Singleton getInstance() {  return instance;  }  
}
  1. 什么是 Java 中的静态变量和静态方法?
    答:静态变量和静态方法属于类,而不是类的实例。静态变量在类加载时分配内存,并且只分配一次,直到程序结束才被释放。静态方法可以直接通过类名来调用,不需要创建类的实例。
class MyClass {  static int staticProperty = 10;static void staticMethod() {  System.out.println("This is a static method.");  }  
}
public class Main {  public static void main(String[] args) {  System.out.println("Static property: " + MyClass.staticProperty);  MyClass.staticMethod();  }  
}
  1. 什么是 Java 中的继承?
    答:继承是 Java 面向对象编程中的一种特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。
    Java 中的继承是一种代码复用机制,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以扩展父类的功能,也可以根据自己的需求覆盖或新增方法。继承的关键字是"extends"。
    以下是一个简单的 Java 继承代码示例:
// 父类  
class Animal {  String name;// 父类构造方法  public Animal(String name) {  this.name = name;  }// 父类方法  public void makeSound() {  System.out.println(name + " makes a sound");  }  
}
// 子类,继承自 Animal  
class Dog extends Animal {  String breed;// 子类构造方法,调用父类构造方法  public Dog(String name, String breed) {  super(name); // 调用父类构造方法  this.breed = breed;  }// 子类方法,覆盖父类方法  @Override  public void makeSound() {  System.out.println(name + " barks");  }// 子类新增方法  public void doTrick() {  System.out.println(name + " does a trick");  }  
}
public class Main {  public static void main(String[] args) {  Dog myDog = new Dog("Buddy", "Golden Retriever");  myDog.makeSound(); // 输出:Buddy barks  myDog.doTrick(); // 输出:Buddy does a trick  }  
}

在这个示例中,我们定义了一个父类Animal和一个子类Dog,子类继承了父类的属性和方法。我们创建了一个Dog对象,并调用了其方法和属性。

  1. 计算两个数之和
public class Sum {  public static void main(String[] args) {  int a = 10;  int b = 20;  int sum = a + b;  System.out.println("两数之和为:" + sum);  }  
}
  1. 计算两个数之差
public class Difference {  public static void main(String[] args) {  int a = 10;  int b = 20;  int difference = a - b;  System.out.println("两数之差为:" + difference);  }  
}
  1. 计算两个数之积
public class Product {  public static void main(String[] args) {  int a = 10;  int b = 20;  int product = a * b;  System.out.println("两数之积为:" + product);  }  
}
  1. 计算两个数之商
public class Quotient {  public static void main(String[] args) {  int a = 10;  int b = 20;  int quotient = a / b;  System.out.println("两数之商为:" + quotient);  }  
}
  1. 判断一个数是否为偶数
public class EvenNumber {  public static void main(String[] args) {  int number = 20;  if (isEven(number)) {  System.out.println(number + " 是偶数");  } else {  System.out.println(number + " 不是偶数");  }  }public static boolean isEven(int number) {  return number % 2 == 0;  }  
}
  1. 判断一个数是否为奇数
public class OddNumber {  public static void main(String[] args) {  int number = 20;  if (isOdd(number)) {  System.out.println(number + " 是奇数");  } else {  System.out.println(number + " 不是奇数");  }  }public static boolean isOdd(int number) {  return number % 2!= 0;  }  
}
  1. 打印九九乘法表
public class MultiplicationTable {  public static void main(String[] args) {  for (int i = 1; i <= 9; i++) {  for (int j = 1; j <= i; j++) {  System.out.print(j + " * " + i + " = " + (i * j) + "\t");  }  System.out.println();  }  }  
}
  1. 替换字符串中的空格
public class StringReplacer {  public static void main(String[] args) {  String input = "Hello World";  String output = replaceSpace(input);  System.out.println(output);  }public static String replaceSpace(String input) {  return input.replace(" ", "_");  }  
}
  1. 计算字符串中字符的数量
public class StringCounter {  public static void main(String[] args) {  String input = "Hello World";  int count = countCharacters(input);  System.out.println("字符数量:" + count);  }public static int countCharacters(String input) {  return input.length();  }  
}
  1. 判断字符串是否为回文字符串
public class Palindrome {  public static void main(String[] args) {  String input = "madam";  if (isPalindrome(input)) {  System.out.println(input + " 是回文字符串");  } else {  System.out.println(input + " 不是回文字符串}    }    public static boolean isPalindrome(String input) {    int left = 0;    int right = input.length() - 1;    while (left < right) {    if (input.charAt(left)!= input.charAt(right)) {    return false;    }    left++;    right--;    }    return true;    }    
}
  1. 题目:实现一个简单的 Java 多线程程序。
    答案:
public class MultiThreading {  public static void main(String[] args) {  Thread t1 = new Thread(new PrintName("Thread-1"));  Thread t2 = new Thread(new PrintName("Thread-2"));  t1.start();  t2.start();  }static class PrintName implements Runnable {  private String name;public PrintName(String name) {  this.name = name;  }@Override  public void run() {  for (int i = 0; i < 10; i++) {  System.out.println(name + " - " + i);  try {  Thread.sleep(100);  } catch (InterruptedException e) {  e.printStackTrace();  }  }  }  }  
}
  1. 题目:实现一个 Java 类,该类有一个私有构造函数和一个公共静态方法,该方法返回该类的实例。
    答案:
public class Singleton {  private Singleton() {  }public static Singleton getInstance() {  return new Singleton();  }  
}
  1. 题目:实现一个 Java 类,该类有一个字符串和一个方法,该方法返回字符串的反转字符串。
    答案:
public class StringReverse {  private String str;public StringReverse(String str) {  this.str = str;  }public String reverse() {  StringBuilder sb = new StringBuilder();  for (int i = str.length() - 1; i >= 0; i--) {  sb.append(str.charAt(i));  }  return sb.toString();  }  
}
  1. 题目:实现一个 Java 接口,该接口有一个方法,该方法返回一个字符串,该字符串表示接口的实现。
    答案:
public interface MyInterface {  String getString();  
}
  1. 题目:实现一个 Java 抽象类,该类有两个抽象方法和一个具体方法,该具体方法实现两个抽象方法。
    答案:
public abstract class MyAbstractClass {  public abstract void abstractMethod1();  public abstract void abstractMethod2();public void specificMethod() {  abstractMethod1();  abstractMethod2();  }  
}
  1. 题目:实现一个 Java 类,该类有一个字符串和一个方法,该方法将字符串转换为大写。
    答案:
public class StringToUpperCase {  private String str;public StringToUpperCase(String str) {  this.str = str;  }public String toUpperCase() {  StringBuilder sb = new StringBuilder();  for (int i = 0; i < str.length(); i++) {  sb.append(Character.toUpperCase(str.charAt(i)));  }  return sb.toString();  }  
}
  1. 题目:实现一个 Java 类,该类有一个整数和一个方法,该方法将整数转换为字符串。
    答案:
public class IntegerToString {  private int num;public IntegerToString(int num) {  this.num = num;  }public String toString() {  return Integer.toString(num);  }  
}
  1. 题目:实现一个 Java 类,该类有一个字符串和一个方法,该方法将字符串转换为整数。
    答案:
public class StringToInteger {  private String str;public StringToInteger(String str) {  this.str = str;  }public int toInteger() {  return Integer.parseInt(str);  }  
}
  1. 题目:实现一个 Java 类,该类有一个字符串和一个方法,该方法将字符串分割成子字符串数组。
    答案:
    下面是一个实现这个需求的 Java 类:
public class StringSplitter {private String str;public StringSplitter(String str) {  this.str = str;  }public String[] split(int maxLength) {  if (maxLength <= 0) {  throw new IllegalArgumentException("Max length must be greater than 0");  }String[] substrings = new String[str.length() / maxLength];  int index = 0;for (int i = 0; i < str.length(); i += maxLength) {  substrings[index++] = str.substring(i, Math.min(i + maxLength, str.length()));  }return substrings;  }public static void main(String[] args) {  StringSplitter splitter = new StringSplitter("This is a test string");  String[] substrings = splitter.split(4);for (String substring : substrings) {  System.out.println(substring);  }  }  
}

这个类有一个字符串属性 str 和一个 split 方法,该方法接受一个整数参数 maxLength,用于指定子字符串的最大长度。split 方法将字符串分割成子字符串数组,并返回该数组。在 main 方法中,我们创建了一个 StringSplitter 对象,并使用 split 方法将字符串分割成最大长度为 4 的子字符串数组。然后,我们遍历并打印这些子字符串。

  1. 编写一个 Java 类,实现克隆(clone)功能。
public class Cloneable {  private int id;  private String name;public Cloneable(int id, String name) {  this.id = id;  this.name = name;  }public Object clone() throws CloneNotSupportedException {  return super.clone();  }@Override  protected void finalize() throws Throwable {  super.finalize();  System.out.println("Cloneable object " + this.id + " has been cloned");  }  
}
  1. 实现 Java 中的深拷贝和浅拷贝。
public class Cloneable {  private int id;  private String name;public Cloneable(int id, String name) {  this.id = id;  this.name = name;  }public Object deepClone() {  if (this instanceof Cloneable) {  try {  return (Cloneable) super.clone();  } catch (CloneNotSupportedException e) {  throw new RuntimeException("Failed to deep clone", e);  }  }  return null;  }public Object shallowClone() {  return super.clone();  }  
}
  1. 实现 Java 中的抽象类和抽象方法。
public abstract class Animal {  private String name;public abstract void makeSound();public Animal(String name) {  this.name = name;  }public String getName() {  return name;  }  
}
public class Dog extends Animal {  private String breed;public Dog(String name, String breed) {  super(name);  this.breed = breed;  }@Override  public void makeSound() {  System.out.println(name + " barks");  }public String getBreed() {  return breed;  }  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/123839.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全基础 --- MySQL数据库的《锁》解析

MySQL的ACID &#xff08;1&#xff09;ACID是衡量事务的四个特性 原子性&#xff08;Atomicity&#xff0c;或称不可分割性&#xff09;一致性&#xff08;Consistency&#xff09;隔离性&#xff08;Isolation&#xff09;持久性&#xff08;Durability&#xff09; &…

Linux关于gittee的远端仓库的连接和git三板斧

目录 1.网页操作 2.Linux操作 查看Linux系统中是否安装git指令 安装git指令 链接远端仓库 设置 .gitignore文件 3.git三板斧 1.网页操作 首先我们要在gittee建立一个仓库 这是我自己的勾选方案&#xff0c;大家可以参考一下。 这个方案勾选最下面的三个选项才有&#x…

“童”趣迎国庆 安全“童”行-柿铺梁坡社区开展迎国庆活动

“金秋十月好心境&#xff0c;举国欢腾迎国庆。”国庆节来临之际&#xff0c;为进一步加强梁坡社区未成年人爱国主义教育&#xff0c;丰富文化生活&#xff0c;营造热烈喜庆、文明和谐的节日氛围。9月24日上午&#xff0c;樊城区柿铺街道梁坡社区新时代文明实践站联合襄阳市和时…

数据结构与算法——19.红黑树

这篇文章我们来讲一下红黑树。 目录 1.概述 1.1红黑树的性质 2.红黑树的实现 3.总结 1.概述 首先&#xff0c;我们来大致了解一下什么是红黑树 红黑树是一种自平衡的二叉查找树&#xff0c;是一种高效的查找树。红黑树具有良好的效率&#xff0c;它可在 O(logN) 时间内完…

你写过的最蠢的代码是?——后端篇

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页: &#x1f405;&#x1f43e;猫头虎的博客&#x1f390;《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f996…

C++list模拟实现

list模拟实现 1.链表结点2.类模板基本框架3.构造4.插入普通迭代器实现4.1尾插4.2普通迭代器实现4.3对比list和vector的iterator4.4迭代器的价值4.5insert4.6尾插头插复用写法 5.删除erase5.1erase5.2尾删头删复用写法 6.析构emptysizeclear6.1clear6.2size6.3 empty6.4 析构 7.…

lv7 嵌入式开发-网络编程开发 02OSI七层结构

目录 1 计算机网络体系结构的形成 1.1 提出了不同体系结构 1.2 国际标准&#xff1a;开放系统互连参考模型 OSI/RM 1.3 存在两种国际标准 2 协议与划分层次 2.1 网络协议 2.2 协议的两种形式 2.3 层次式协议结构 2.4 各层完成的主要功能 2.5 计算机网络的体系结构 …

Nginx简介与Docker Compose部署指南

Nginx是一款高性能的开源Web服务器和反向代理服务器&#xff0c;以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中&#xff0c;我们将首先介绍Nginx的基本概念&#xff0c;然后演示如何使用Docker C…

excel提取单元格中的数字

excel取单元格中的数字excel取出单元格中的数字快速提取单元格中有文本的数字如何提取文本左侧的数字、文本右侧的数字、文本中的数字以及文本中混合的数字 RIGHT(C2,11)从右边开始在C2单元格中取出11位字符 LEFT(C2,2)&#xff0c;引用获取单元格总长度的函数LEN&#xff0c;…

保姆级Anaconda安装教程

一.anaconda下载 建议使用清华大学开源软件镜像站进行下载&#xff0c;使用官网下载速度比较慢。 anaconda清华大学开源软件镜像站 &#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 一路next即可&#xff0c;注意添加环境变量得选项都勾上。 二.验证…

递归与分治算法(1)--经典递归、分治问题

目录 一、递归问题 1、斐波那契数列 2、汉诺塔问题 3、全排列问题 4、整数划分问题 二、递归式求解 1、代入法 2、递归树法 3、主定理法 三、 分治问题 1、二分搜索 2、大整数乘法 一、递归问题 1、斐波那契数列 斐波那契数列不用过多介绍&#xff0c;斐波那契提出…

java学生成绩管理信息系统

一、 引言 学生成绩管理信息系统是一个基于Java Swing的桌面应用程序&#xff0c;旨在方便学校、老师和学生对学生成绩进行管理和查询。本文档将提供系统的详细说明&#xff0c;包括系统特性、使用方法和技术实现。 二、 系统特性 2.1 学生管理 添加学生信息&#xff1a;录…