版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1.选择排序
import java.util.Arrays;
public class TestSelectSort {
//测试选择排序
public static void selectSort(int[]arr){
for(int i=0;i<arr.length-1;i++){
int index=i; //排序位置
//找出每轮最小的值
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[index]){
index=j;//当前比较中最小的值下标索引
}
}
//每轮比较完成,进行交换
int temp=arr[i];
arr[i]=arr[index];
arr[index]=temp;
}
System.out.println(Arrays.toString(arr));
}
public static void main(String[] args) {
int [] arr = {49,38,65,97,76,13,27,49};
selectSort(arr);
}
}
2.判断二进制里1的个数
1. 使用移位操作符(右移操作)
让二进制的每一位&(逻辑与)1,如果得到的结果为数字“1”,则二进制数该位有一个“1”。
public class TestCount1 {
public static void main(String[] args) {
int num=7;//要计算1的个数的数字
int count=0;//计数器
while(num>0){
if((num&1)==1){
count++;
}
num=num>>1;
}
System.out.println(count);
}
}
2.最高效算法(推荐)
让我们要计算的数与该数减一 进行&运算,当计算结果为0时,程序结束。
public class TestCount1 {
public static void main(String[] args) {
int num=7;//要计算1的个数的数字
int count=0;//计数器
while(num>0){
num=num&(num-1);
count++;
}
System.out.println(count);
}
}
3.输入String判断是不是ipv4地址
如果有读者不知道什么是ipv4,请参考链接: https://baike.baidu.com/item/IPv4/422599?fr=aladdin
public class TestIPV4 {
public static boolean isIpv4(String str){
if(str==null||str.length()==0) return false;
//对字符串进行分割
String[] split = str.split("\\.");
//ipv4必须符合192.168.43.157这种格式
if(split.length!=4) return false;
for(int i=0;i<split.length;i++){
int n=Integer.parseInt(split[i]);
//ipv4地址取值范围为0-255
if(n<0||n>255) return false;
}
return true;
}
public static void main(String[] args) {
String str="192.168.43.157";
boolean ipv4 = isIpv4(str);
System.out.println(ipv4);
}
}