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

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

相关文章

uboot启动流程-涉及lowlevel_init汇编函数

一. uboot启动流程涉及函数 之前文章简单分析了 uboot启动流程的开始&#xff0c;从链接脚本文件 u-boot.lds 中&#xff0c;我们已经知道了入口点是 arch/arm/lib/vectors.S 文件中的 _start函数。 _start函数&#xff1a;调用了 reset 函数&#xff0c;reset 函数内部&…

大屏自适应容器组件-Vue3+TS

1.引言 在做数字大屏时&#xff0c;图表能跟着浏览器的尺寸自动变化&#xff0c;本文采用Vue3前端框架&#xff0c;采用TypeScript语言&#xff0c;封装了一个大屏自适应组件&#xff0c;将需要显示的图表放入组件的插槽中&#xff0c;就能实现自适应屏幕大小的效果。 2.实际…

Flutter笔记 - 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类

Flutter笔记 用于描述Align的Alignment、AlignmentDirectional、AlignmentTween类 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_…

结构型设计模式——外观模式

摘要 本文主要分析设计模式 - 结构型 - 外观(Facade)&#xff0c;它提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让子系统更容易使用。 一、外观模式的意图 提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让…

23.2 Bootstrap 卡片

1.卡片 1.1卡片样式 在Bootstrap 5中, .card, card-header, .card-body, .card-footer类是用于创建卡片样式.下面是这些类的简单介绍: * 1. .card: 用于创建一个基本的卡片容器它作为一个包裹元素,通常与其他卡片类一起使用.* 2. .card-header: 用于创建卡片的头部部分.通常在…

【Vue3】Mitt

在 Vue3 中&#xff0c;$on&#xff0c;$off 和 $once 实例方法被移除&#xff0c;EventBus 无法使用了。那么此时&#xff0c;我们可以使用 Mitt 库&#xff08;发布订阅模式的设计&#xff09;。 // 安装 mitt npm install mitt -S// main.ts import { createApp } from vue…

力扣-383.赎金信

Idea 使用一个hashmap 或者一个int数组存储第二次字符串中每一个字符及其出现的次数 遍历第一个字符串&#xff0c;讲出现的重复字符减1&#xff0c;若该字符次数已经为0&#xff0c;则返回false AC Code class Solution { public:bool canConstruct(string ransomNote, strin…

基于matlab创作简易表白代码

一、程序 以下是一个基于MATLAB的简单表白代码&#xff1a; % 表白代码 clc; % 清除命令行窗口 clear; % 清除所有变量 close all; % 关闭所有图形窗口 % 输入被表白者的名字 name input(请输入被表白者的名字&#xff1a;, s); % 显示表白信息 fprintf(\n); fprintf(亲爱的…

Scrapy框架Splash渲染

Scrapy框架是一款强大而灵活的Python网络爬虫框架&#xff0c;用于快速、高效地爬取和提取网页数据。然而&#xff0c;对于一些使用动态渲染技术的网站&#xff0c;Scrapy在处理JavaScript生成的内容上可能会有些困难。为了应对这种情况&#xff0c;Scrapy提供了Splash渲染服务…

vcomp120.dll丢失的详细解决方法,全面分享5个解决方法分享

vcomp120.dll 是 Visual C Redistributable 的一个组件&#xff0c;是许多 Windows 应用程序所必需的动态链接库 (DLL) 之一。如果计算机上缺少 vcomp120.dll 文件&#xff0c;或者该文件已损坏或不正确&#xff0c;可能会导致许多应用程序无法正常运行&#xff0c;出现“无法继…

AJAX--Express速成

一、基本概念 1、AJAX(Asynchronous JavaScript And XML)&#xff0c;即为异步的JavaScript 和 XML。 2、异步的JavaScript 它可以异步地向服务器发送请求&#xff0c;在等待响应的过程中&#xff0c;不会阻塞当前页面。浏览器可以做自己的事情。直到成功获取响应后&#xf…

Pikachu靶场——目录遍历漏洞和敏感信息泄露

文章目录 1. 目录遍历漏洞1.1 源码分析1.2 漏洞防御 2. 敏感信息泄露2.1 漏洞防御 1. 目录遍历漏洞 漏洞描述 目录遍历漏洞发生在应用程序未能正确限制用户输入的情况下。攻击者可以利用这个漏洞&#xff0c;通过在请求中使用特殊的文件路径字符&#xff08;如 …/ 或 %2e%2e…

键盘上F1至F12键的作用

多年来&#xff0c;我们习惯了最上排的12个按键&#xff0c;从F1到F12&#xff0c;它们被称为“快速功能键”&#xff0c;可以让你更轻松地操作电脑&#xff1b;但是&#xff0c;很多人可能从未使用过它们&#xff0c;也从来不知道它们的用途。那么今天&#xff0c;就向大家科普…

2024级199管理类联考之数学基础(上篇)

管理类考试介绍 管理综合200分,时间3小时 数学&#xff1a;75分/25题,是拉开差距的核心模块 问题求解题&#xff1a;15个,5选一条件充分性判断&#xff1a;10个,结合两个条件选择答案 条件一充分,条件二不充分&#xff1a;A条件一不充分,条件二充分&#xff1a;B条件一充分,条…

Java - 基本数据类型和封装类型

基本类型有默认值&#xff0c;而包装类型初始为null。然后再根据这两个特性进行分业务使用&#xff0c;在阿里巴巴的规范里所有的POJO类必须使用包装类型&#xff0c;而在本地变量推荐使用基本类型。 Java语言提供了八种基本类型。六种数字类型&#xff08;四个整数型&#xff…

基本的五大排序算法

目录&#xff1a; 一&#xff0c;直接插入算法 二&#xff0c;希尔排序算法 三&#xff0c;选择排序 四&#xff0c;堆排序 五&#xff0c;冒泡排序算法 简介&#xff1a; 排序算法目前是我们最常用的算法之一&#xff0c;据研究表明&#xff0c;目前排序占用计算机CPU的时…

数据挖掘实验(一)数据规范化【最小-最大规范化、零-均值规范化、小数定标规范化】

一、数据规范化的原理 数据规范化处理是数据挖掘的一项基础工作。不同的属性变量往往具有不同的取值范围&#xff0c;数值间的差别可能很大&#xff0c;不进行处理可能会影响到数据分析的结果。为了消除指标之间由于取值范围带来的差异&#xff0c;需要进行标准化处理。将数据…

Linux性能优化--性能工具:系统内存

3.0.概述 本章概述了系统级的Linux内存性能工具。本章将讨论这些工具可以测量的内存统计信息&#xff0c;以及如何使用各种工具收集这些统计结果。阅读本章后&#xff0c;你将能够&#xff1a; 理解系统级性能的基本指标&#xff0c;包括内存的使用情况。明白哪些工具可以检索…

由于计算机中丢失msvcp110.dll的解决方法与msvcp110.dll丢失修复方法

相信大家在打开电脑软件或许游戏都有遇到过电脑提示找不到msvcp110.dll文件&#xff0c;导致软件游戏打不开&#xff0c;我们应该怎么办&#xff1f;不用着急&#xff0c;今天小编我分享我找了很久成功解决问题的方法给大家&#xff0c;希望可以帮到各位。 1. 使用DLL修复工具&…

电子计算机核心发展(继电器-真空管-晶体管)

目录 继电器 最大的机电计算机之一——哈弗Mark1号&#xff0c;IBM1944年 背景 组成 性能 核心——继电器 简介 缺点 速度 齿轮磨损 Bug的由来 真空管诞生 组成 控制开关电流 继电器对比 磨损 速度 缺点 影响 代表 第一个可编程计算机 第一个真正通用&am…