1,n=2,m=3,请将n和m的值互换。
①,int t; t=n; n=m; m=t;(最常用的方式)
②,n=n+m; m=n-m;n=n-m;(当n和m的值很大时,n+m的值可能超出int的范围,从而使结果失去精度)
③,n=nm;m=nm;(相当于m=(nm)m);
n=nm;(相当于n=n(n^m));(其利用了一个数同时异或另一个数两次,结果仍是它自身的特性)
2,选择排序(升序)
public static void selectSort(int[ ] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
3,冒泡排序(降序)
public static void bubbleSort(int[ ] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-x-1;x++)
{
if(arr[y]<arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
4,插入排序
public static int[] charu(int[] a){
for(int i=1;i<a.length;i++){
for(int j=i-1;j>=0;j--){
int min=a[j+1];
if(min<a[j]){
a[j+1]=a[j];
a[j]=min;
}
}
}
return a;
}
5,归并排序
public class t3 {
public static void main(String[] args) {
int arr[] = {4,3,2,9,7,8,6,5,4};
split(arr,0,arr.length-1);
}
public static void split(int[] arr,int left,int right){
int mid = (right+left)/2;
if(left<right){
split(arr,left,mid);
split(arr,mid+1,right);
merger(arr,left,mid,right);
}
}
public static void merger(int[] arr,int left,int mid, int right){
int low1=left;
int low2=mid+1;
int temp[] = new int[right-left+1];
int index=0;
while(low1<=mid&&low2<=right){
if(arr[low1]<arr[low2]){
temp[index++]=arr[low1++];
}else{
temp[index++]=arr[low2++];
}
}
while(low1<=mid){
temp[index++]=arr[low1++];
}
while(low2<=right){
temp[index++]=arr[low2++];
}
for (int i = 0; i < index; i++) {
arr[left++]=temp[i];
}
System.out.println(Arrays.toString(arr));
《java测试题合集》
1、使用除余法,计算 128 和 -257 的内存二进制值。写出计算过程。
1、128 的二进制计算过程
2、-257 的二进制计算过程
2、使用三种以上的循环方式实现99乘法表。写出思路与实现代码。
1、for 循环实现99乘法表
2、while 循环实现99乘法表
3、do whole 循环实现99乘法表
3、写一个方法,使用 Scanner 传入一个字母,如果是大写,输出小写,反之输出大写。写出思路与实现代码。
1、思路
2、实现代码
4、写一个方法,传入一个 Date 日期类型的参数,输出今天是星期几。写出思路与实现代码。
1、思路
2、实现代码
5、数组排序-冒泡排序。写出思路与实现代码。
1、思路
2、实现代码
6、数组排序-选择排序。写出思路与实现代码。
1、思路
2、实现代码
7、数组排序-插入排序。写出思路与实现代码。
1、思路
2、实现代码
8、数组排序-归并排序。写出思路与实现代码。
1、思路
2、实现代码
9、写一个方法,计算任意两个数组的交集。写出思路与实现代码。
1、思路
2、实现代码
10、写一个方法,计算任意两个数组的并集。写出思路与实现代码。
1、思路
2、实现代码
11、写一个计算器类,要求能够计算两个任意类型(整型、浮点型)参数的和。写出思路与实现代码。
1、思路
2、实现代码
12、定义一个点类(Point)和一个线类(Line),计算线的长度。写出思路与实现代码。
1、思路
2、实现代码
13、定义一个接口,提供开和关两个功能。定义一个手机类,使用该接口。写出思路与实现代码。
1、思路
2、实现代码
14、写一个方法,打印出指定目录里面的目录和文件的结构。写出思路与实现代码。
// 可能使用到的 File 实例对象方法 isDirectory,getName,getPath。
1、思路
2、实现代码
15、定义一个 Login 类,Scanner 输入用户名和密码。如果用户不存在,抛出用户还未注册的异常信息(使用自定义异常)。如果用户存在且密码正确,提示登录成功,否则提示登录失败。写出思路与实现代码。
1、思路
2、实现代码