[JAVA]面试题

文章展示了如何在Java中实现一维数组的随机赋值,确保值各不相同,以及线性查找和二分查找算法。此外,还详细解释了冒泡排序的实现过程,包括其易错点和双层循环的工作原理。同时提及了Java中的布尔表达式、数据类型转化规则和代码块构造器的执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法题

1 一维数组随机赋值,值各不相同

在这里插入图片描述在这里插入图片描述

package com.okc.java;

public class ArrayAssignment {
	public static void main(String[] args) {
		//State a linear array that we output  
		int[] arrayForTest = new int[6];
		//State a variable that give a assigned value to each the element of the array
		int a1i ;
		//loop in the array and assign every element 
		for (int i = 0 ; i < arrayForTest.length ; i++) {
			
			boolean flag1 = false;
			do {
				//give a random number between 1 & 30 
				a1i = (int)(Math.random()* 30 + 1);
								
				//identify that if this number equals to any element of the array					
				for (int j = 0 ;j< arrayForTest.length ;j++) {
					
					if (a1i == arrayForTest[j]) {
						flag1 = true ;
						break;
					}else {
						flag1 = false ;
						continue;
					}
				}
				
			}while(flag1 == true);
			
			arrayForTest[i] = a1i;
			
		}
		for(int i = 0 ;i < arrayForTest.length ; i++) {
			System.out.println(arrayForTest[i]);
		}
	}
}

2.线性查找:equals方法

在这里插入图片描述

二分查找

在这里插入图片描述

3. 排序

冒泡排序:

  • 易错点:i和j不分
  • 难点:双层循环嵌套-- 每次遍历的长度会逐级递减
package com.okc.java;

public class BubbleSortTest {
	public static void main(String[] args) {
		int[] arr = new int[] {43,32,76,-98,0,64,33,-21,32,99} ; // len = 10
		
		//Bubble Sort
		for(int i= 0 ; i < arr.length -1;i++) {
			for(int j = 0 ;j < arr.length -1 - i  ;j++) {
				if (arr[j] > arr[j+1]) {
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}	
			}
		}
		for(int o = 0 ;o< arr.length;o++) {
			System.out.print(arr[o] + "\t");
		}
	}
}

其他题

1.while(布尔表达式)

在这里插入图片描述

  • java没有从整数到布尔的隐式转换

2. 数据类型的转化

在这里插入图片描述- 解析:

在这里插入图片描述

在这里插入图片描述

3.代码块构造器的执行顺序

在这里插入图片描述- 解析:
B是入口
先静态先父类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值