Java基础面试1.面试算法练习.后端开发



0. 目录

1. Java基础面试1

1.1 基础1

1.1.1 冒泡排序

import java.util.Scanner;

//冒泡排序-Java
public class Sort{
private static int data[]={12,10,6,7,3,16,9};

public static void input() {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入10个排序的数据: ");

for(int i=1;i<data.length;i++){
data[i]=scanner.nextInt();
}
}

public static void bubbleSort(int array[]) {
boolean flag=false;

for(int i=0;i<array.length-1;i++){
flag=false;

for(int j=array.length-1;j>i;j--){
if(array[j-1]>array[j]){
int temp=array[j-1];
array[j-1]=array[j];
array[j]=temp;
flag=true;
}
}

if(flag==false){
return;
}
output();
}
}

protected static void output(){
System.out.println("顺序为:");
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
System.out.println();
}

public static void main(String[] args) {
//input();
output();
bubbleSort(data);
output();
}
}

Java基础面试1(基础)_i++

1.1.2 二分查找

public class Search {
private static int data[]={1,2,3,4,5,6,7,8,9,10};

//适用于有序
public static int binarySearch(int array[],int key){
int low=0,high=array.length-1,mid;
while(low<=high){
mid=(low+high)/2;
if(array[mid]==key){
return mid;
}
else if(array[mid]>key){
high=mid-1;
}
else{
low=mid+1;
}
System.out.println("这是一趟");
}
return -1;
}

public static void main(String[] args) {
System.out.println(binarySearch(data, 7));
}
}

Java基础面试1(基础)_i++_02

1.1.3 时间类型转换

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class DateFormat {
private static String myDate = "20200825";

public static void fun() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日");
String newDate;
try {
newDate = sdf.format(new SimpleDateFormat("yyyyMMdd").parse(myDate));
System.out.println(newDate);
} catch (ParseException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
fun();
}
}

Java基础面试1(基础)_面试_03

1.1.4 阶乘

public class Factorial {

protected static int multiply(int num){
if(num<0){
System.out.println("请输入大于0的数!");
return -1;
}else if(num==0||num==1){
return 1;
}else{
return multiply(num-1)*num;
}
}

public static void main(String[] args) {
System.out.println(multiply(10));
}
}

Java基础面试1(基础)_算法_04