国庆中秋特辑(六)大学生常见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.xdnf.cn/news/147874.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

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

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

Python学习笔记之运算符的使用

Python学习笔记之运算符的使用 整型&#xff1a;二进制0b100十进制4、八进制0o100十进制64、十进制100、十六进制0x100十进制256浮点型&#xff1a;123.456&#xff0c;1.23456e2字符串型&#xff1a;‘Hello’&#xff0c;“Hello”布尔型&#xff1a;True、False复数型&…

Postgresql源码(114)视图权限授予逻辑

0 速查 被授权的对象在系统表中记录授权信息&#xff0c;例如pg_namespace中的nspacl列&#xff1a; {mingjieUC/mingjie,UC/mingjie,pusr1UC/mingjie}pusr1UC/mingjie的含义&#xff1a; mingjie是赋予者pusr1是被赋予者UC是权限&#xff0c;表示USAGE和CREATE 1 视图权限…

PHP 反序列化漏洞:身份标识

文章目录 参考环境访问修饰符访问修饰符PHP 与访问修饰符 手写身份标识身份标识定义身份标识控制字符 NUL在 PHP 中如何表示空字符&#xff1f; 通过空字符尝试构建包含非公共属性对象的序列化文本 空字符的传输控制字符的不可打印性结论另辟蹊径URL 字符编码将非 ASCII 字符文…

SpringBoot整合RocketMQ笔记

SpringBoot版本为2.3.12.Release RocketMQ对比kafka 学习链接 https://zhuanlan.zhihu.com/p/335216381 代码实战 https://www.cnblogs.com/RedOrange/p/17401238.html Centos安装rocketmq https://blog.csdn.net/chuige2013/article/details/123783612 RocketMQ详细配置与…

C++——继承

继承的概念 在C&#xff0c;继承是一种可以代码复用的重要手段&#xff0c;它允许一个类继承另一个类的属性和方法。继承可以实现类之间的层次关系&#xff0c;提供代码重用和多态性有关的功能。同时&#xff0c;C支持多重继承&#xff0c;即一个类可以继承多个基类的特性 继…

123. 买卖股票的最佳时机 III

给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#xff1a;你不能同时参与多笔交易&#xff08;你必须在再次购买前出售掉之前的股票&#xff09;。 Ans:思路&#x…

OpenCV 实现 SIFT→SURF 算法关键点检测实现

目录 1&#xff0c;SIFT算法原理 1.1&#xff0c;基本流程 1.1.1 尺度空间极值检测 1.1.2 关键点定位 1.1.3 关键点方向确定 1.1.4 关键点描述 1.1.5 总结 1.2 SURF原理 2 代码实现 3 结果展示 4&#xff0c;你肯定会遇到报错 cv2.error: OpenCV(3.4.8) C…

网络摄像头(IPC)介绍:类型、供电、镜头、夜视等

IPC&#xff08;Internet Protocol Camera&#xff0c;网络摄像头&#xff09;&#xff0c;它是一种由传统摄像机与网络技术结合所产生的新一代摄像机。它可以将视频、音频、报警及控制信号通过网络传输&#xff0c;接受网络监控主机&#xff08;NVR或监控管理平台&#xff09;…

(SAR)Sentinel-1影像自动下载

基于ASF网站提供的python代码&#xff0c;实现Sentinel-1影像的自动下载&#xff1b; 1、登录ASF网站 登录Sentinel-1影像ASF网站&#xff1a;https://search.asf.alaska.edu/&#xff1b; 点击网站最右侧Sign in图标&#xff0c;进行用户注册&#xff1b; 注册完用户之后&…

运行程序时msvcr110.dll丢失的解决方法,msvcr110.dll丢失5的个详细解决方法

在使用电脑的过程中&#xff0c;我们经常会遇到各种问题&#xff0c;其中之一就是 msvcr110.dll 丢失的问题。msvcr110.dll 是 Microsoft Visual C Redistributable 的一个组件&#xff0c;用于支持使用 Visual C 编写的应用程序。如果您的系统中丢失了这个文件&#xff0c;您可…

stm32 - 初识2

stm32 - 初识2 工程架构点灯程序寄存器方式点灯库函数的方式点灯 工程架构 启动文件 中断向量表&#xff0c;中断服务函数&#xff0c;其他中断等 中断服务函数中的&#xff0c;复位中断是整个程序的入口&#xff0c;调用systeminit&#xff0c;和main函数 点灯程序 寄存器方式…

【论文阅读】UniDiffuser: Transformer+Diffusion 用于图、文互相推理

而多模态大模型将能够打通各种模态能力&#xff0c;实现任意模态之间转化&#xff0c;被认为是通用式生成模型的未来发展方向。 最近看到不少多模态大模型的工作&#xff0c;有医学、金融混合&#xff0c;还有CV&NLP。 今天介绍&#xff1a; One Transformer Fits All Di…

华为云云耀云服务器L实例评测 | 实例场景体验之搭建接口服务:通过华为云云耀云服务器构建 API 服务

华为云云耀云服务器L实例评测 &#xff5c; 实例场景体验之搭建接口服务&#xff1a;通过华为云云耀云服务器构建 API 服务 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云…

工地临时用电之智慧用电:全方位保障用电安全

随着科技进步和智能化的发展&#xff0c;工地用电管理也迎来了智慧化的革新。智慧用电&#xff0c;作为智慧工地的重要组成部分&#xff0c;通过集中式管理和创新的技术手段&#xff0c;为工地提供了全方位的用电安全保障。 针对工地临时用 的现状及系统结构&#xff0c;力安科…

阿里云PolarDB自研数据库详细介绍_兼容MySQL、PostgreSQL和Oracle语法

阿里云PolarDB数据库是阿里巴巴自研的关系型分布式云原生数据库&#xff0c;PolarDB兼容三种数据库引擎&#xff1a;MySQL、PostgreSQL、Oracle&#xff08;语法兼容&#xff09;&#xff0c;目前提供云原生数据库PolarDB MySQL版、云原生数据库PolarDB PostgreSQL版和云原生数…

十四天学会C++之第三天(数组和字符串)

1. 数组的定义和初始化 数组是一种由相同数据类型的元素组成的集合&#xff0c;这些元素按照一定的顺序存储在连续的内存位置上。数组的大小在创建时是固定的&#xff0c;无法在运行时改变。 在C中&#xff0c;数组的定义和声明非常简单。定义一个数组&#xff1a; 数据类型…

Django之十二:模板的继承+用户列表

模板的继承 新建layout.html&#xff1a; {% load static %} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"{% static plugins…

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.…

问题: 视频颜色问题,偏绿

参考 什么是杜比视界&#xff1f; - https://www.youtube.com/watch?vldXDQ6VlC7g 【哈士亓说】07&#xff1a;HDR、杜比视界究竟是个啥&#xff1f;为什么这个视频还不是HDR视频&#xff1f; - https://www.youtube.com/watch?vrgb9Xg3cJns 正文 视频应该是 杜比视界 电…