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

news2025/1/12 8:55:04

在这里插入图片描述

以下是 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.coloradmin.cn/o/1058383.html

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

相关文章

C++ 程序员入门之路——旅程的起点与挑战

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Java中过滤器和拦截器的区别、作用、使用场景

在Java中&#xff0c;过滤器&#xff08;Filters&#xff09;和拦截器&#xff08;Interceptors&#xff09;都是用于在应用程序中实现请求和响应处理逻辑的关键组件&#xff0c;但它们在功能、作用和使用场景上有一些区别。以下是它们的详细解释&#xff1a; 过滤器&#xff…

通过ElementUi在Vue搭建的项目中实现CRUD

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Vue》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这个专栏…

Java的一些常见类【万字介绍】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; 目录 &#x1f449;&#x1f3fb;输入输出Scanner类输出输出…

【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 3 Oct 2023 (showing first 100 of 110 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Its MBR All the Way Down: Modern Generation Techniques Through the …

excel提取单元格中的数字

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

简化数据库操作:探索 Gorm 的约定优于配置原则

文章目录 使用 ID 作为主键数据库表名TableName临时指定表名列名时间戳自动填充CreatedAtUpdatedAt时间戳类型Gorm 采用约定优于配置的原则,提供了一些默认的命名规则和行为,简化开发者的操作。 使用 ID 作为主键 默认情况下,GORM 会使用 ID 作为表的主键: type User st…

java Spring Boot 手动启动热部署

好 接下来 我们讲一个对开发非常重要的东西 热部署 因为 我们在开发过程中总会希望快点看到效果 或者 你的企业项目一般很大很复杂&#xff0c;重启是一件非常麻烦的事 或者你在和前端同事联调&#xff0c;有一点小问题 你改完就要重启 前端还得等你&#xff0c;非常不友好 那…

【AI视野·今日CV 计算机视觉论文速览 第259期】Tue, 3 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Tue, 3 Oct 2023 (showing first 100 of 167 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers GPT-Driver: Learning to Drive with GPT Authors Jiageng Mao, Yuxi Qian, Hang Zha…

VBA技术资料MF65:将十六进制值转换为RGB颜色代码

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…

网络基础入门(网络基础概念详解)

本篇文章主要是对网络初学的概念进行解释&#xff0c;可以让你对网络有一个大概整体的认知。 文章目录 一、简单认识网络 1、1 什么是网络 1、2 网络分类 二、网络模型 2、1OSI七层模型 2、1、1 简单认识协议 2、1、2 OSI七层模型解释 2、2 TCP/IP五层(或四层)模型 三、网络传…

学籍管理系统【IO流+GUI】(Java课设)

系统类型 【IO流GUI】系统 &#xff08;通过IO流把数据存储到文本里面&#xff0c;不存数据库中&#xff0c;GUI就是窗口&#xff0c;图形化界面&#xff09; 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Idea或eclipse 运行效果 本…

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

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

java图书信息管理

一、项目概述 本图书信息管理系统旨在提供一个直观的用户界面&#xff0c;用于管理图书馆或书店的图书信息。系统包括图书添加、查询、借阅和归还等功能。 二、系统架构 系统采用JavaSwing作为前端UI框架&#xff0c;后端使用Java Servlet处理业务逻辑&#xff0c;数据存储在…

你写过的最蠢的代码是?——全栈开发篇

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【题解 动态规划】 Colored Rectangles

题目描述&#xff1a; 分析&#xff1a; 乍一看我还以为是贪心&#xff01; 猫 想想感觉没问题 但是局部最优并不能保证全局最优 比如这组数据 19 19 19 19 20 20 20 20如果按照贪心的做法&#xff0c;答案是20*20*2 但是其实答案是19*20*4 因此这道题用贪心是不对的 于是我…

Autowired和Resource的关系

相同点对于下面的代码来说&#xff0c;如果是Spring容器的话&#xff0c;两个注解的功能基本是等价的&#xff0c;他们都可以将bean注入到对应的field中 不同点但是请注意&#xff0c;这里说的是基本相同&#xff0c;说明还是有一些不同点的&#xff1a; byName和byType匹配顺…

二十八、高级IO与多路转接之select

文章目录 一、五种IO模型&#xff08;一&#xff09;阻塞IO:&#xff08;二&#xff09;非阻塞IO:&#xff08;三&#xff09;信号驱动IO:&#xff08;四&#xff09;IO多路转接:&#xff08;五&#xff09;异步IO: 二、高级IO重要概念&#xff08;一&#xff09;同步通信 vs 异…

<C++>类和对象-下

目录 一、构造函数的初始化 1. 构造函数体赋值 2. 初始化列表 2.1 概念 2.2 隐式类型转换式构造 2.3 explicit关键字 二、static静态成员 1. 概念 2. 特性 三、友元 1. 友元函数 2.友元类 四、内部类 1. 概念 五、匿名对象 1. const引用匿名对象 2. 匿名对象的隐式类型转换 总…

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

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