栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【JAVASE】JAVASE基本习题(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JAVASE】JAVASE基本习题(1)

从java基础习题开始:

public class HelloWorld {
    public static void main(String[] args) {//args==arguments:参数
        System.out.println("Hello World!");
    }
}
public class Perator {
    public static void main(String[] args) {
	int m=12;
	int n=5;
	int max=(m>n)?m:n;
	System.out.println(max);

	String maxStr00 = (m > n) ? "m大" : ((m == n) ? "m和n一样大" : "n大");
	System.out.println(maxStr00);
    }
}

public class Water {
    public static void main(String[] args) {
        wFunction00();
        wFunction01();
    }

    private static void wFunction00() {
        //输出100以内质数
        boolean isFlag=true;
        //获取当前时间距离1970-01-01 00:00:00的毫秒数
        long s = System.currentTimeMillis();
        for (int i = 2; i < 20; i++) {
            for (int j = 2; j < Math.sqrt(i); j++) {//针对质数有效
                if(i%j==0){
                    isFlag=false;
                    break;//仅对非质数的自然数有效
                }
            }
            if (isFlag==true){
                System.out.println(i);
            }
            isFlag=true;
        }

        long e = System.currentTimeMillis();
        System.out.println("当前用时"+(s-e));
    }

    private static void wFunction01() {
        //输出100以内质数
        boolean isFlag=true;
        //获取当前时间距离1970-01-01 00:00:00的毫秒数
        long s = System.currentTimeMillis();
        lable:for (int i = 2; i < 20; i++) {
            for (int j = 2; j < Math.sqrt(i); j++) {//针对质数有效
                if(i%j==0){
                   continue lable;
                }
            }
            if (isFlag==true){
                System.out.println(i);
            }
            isFlag=true;
        }

        long e = System.currentTimeMillis();
        System.out.println("当前用时"+(s-e));
    }

}
public class Arr {
    public static void main(String[] args) {
        int[][] yangHui=new int[10][];
        for (int i = 0; i < yangHui.length; i++) {
            yangHui[i]=new int[i+1];
            yangHui[i][0]=yangHui[i][i]=1;
            if(i>1){
                for(int j=1;j 
public class Array {
    public static void main(String[] args) {
        afunc00();
        afunc01();
        afunc02();
        afunc03();
        afunc04();
        afunc05();
    }


    private static void afunc05() {
        //冒泡排序
        int[] arr=new int[]{4,2,6,1,7,9,7,11,0};
        System.out.println("排序前:n");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+"t");
        }

        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;
                }
            }
        }

        System.out.println("n排序后:n");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+"t");
        }
    }

    private static void afunc04() {
        //查找
        //线性查找
         String[] arr=new String[]{"aa","bb","cc","dd","kk","vv","gg"};
         String dest="kk";
         boolean isFlag=true;
         for (int i = 0; i < arr.length; i++) {
             if(dest.equals(arr[i])){
                 System.out.println("找到了,位置为:"+i);
                 isFlag=false;
                 break;
            }
         }
         if(isFlag){System.out.println("没有找到");}

        //二分查找
        //前提,所要查找的数组必须要有序。
        int[] array1=new int[]{2,3,5,7,11,13,17,19};
        int dest1= 19;
        int head =0;//初始索引
        int end = array1.length-1;//初始尾索引
        boolean isFlag1=true;
        while(head<=end){
            int middle=(head+end)/2;
            if(dest1==array1[middle]){
                System.out.println("找到了,位置为:"+middle);
                isFlag1=false;
                break;
            }else if(array1[middle]>dest1){
                end=middle-1;
            }else {
                head=middle+1;
            }
        }
        if(isFlag1){System.out.println("没有找到");}
    }

    private static void afunc03() {
        //数组反转
        String[] arr=new String[]{"aa","bb","cc","dd","kk","vv","gg"};
        //法一
        for (int i = 0; i < arr.length/2; i++) {
            String temp=arr[i];
            arr[i]=arr[arr.length-i-1];
            arr[arr.length-i-1]=temp;
        }


        //法二
        for (int i = 0,j=arr.length-1; i  
public class ArraysTest {
    public static void main(String[] args) {

      //1.boolean equals(int[] a,int[] b);判断两个数组是否相等
        int[] arr=new int[]{1,2,3,4};
        int[] arr1=new int[]{1,3,10,5,2,4};

        boolean isEquals = Arrays.equals(arr, arr1);
        //判断机理:先比地址,再判断是否为空,再比长度,最后比元素

        System.out.println(isEquals);//false原因:数组有顺序要求

        //2.String toString(int[] a);输出数组信息
        System.out.println(Arrays.toString(arr));
        //Arrays.toString()实现机理是使用了StringBuilder,将数组中所有元素(包含,和[])取出拼接在StringBuilder中

        //3.void fill(int[] a,int val);将指定的值填充到数组中
        Arrays.fill(arr,10);
        //实现原理:遍历赋值
        System.out.println(Arrays.toString(arr));

        //4.void sort(int[] a);对数组进行排序
        Arrays.sort(arr1);//实现原理用快排
        System.out.println(Arrays.toString(arr1));

        //5.int binarySearch(int[] a,int key);
        int[] arr2=new int[]{2,3,5,7,11,13,17,19};
        int i = Arrays.binarySearch(arr2, 17);
        if(i>=0){
            System.out.println("元素所在位置:"+i);
        }else {//只要出现小于0的数表示没有找到目标数值
            System.out.println("没有找到");
        }

    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号