• Java基础笔记4


    数组

      有一组相同数据类型的数据.

      数据类型[] 数组名称=new 数据类型[长度]; //为该数组开辟空间.

      数据类型[] 数组名称={值,值};

      求数组的长度 数组名称.length; 

      获取数组中的指定位置的元素. 数组名称[下标] 下标从0开始到数组名称.length-1; 

      获取数组中每个元素:通过循环.

    经典算法:

    选择排序和冒泡排序
     1 public class HomeWork{
     2 //选择排序和冒泡排序
     3     public static void main(String[] args) {
     4 //冒泡排序
     5     int[]nums=new int[10];
     6     for (int i = 0; i < args.length-1; i++) {
     7         for (int j = 0; j < args.length-i-1; j++) {
     8             if (nums[j]>nums[j+1]) {
     9                 int temp=nums[j];
    10                 nums[j]=nums[j+1];
    11                 nums[j+1]=temp;
    12             }
    13         }
    14     }
    15 //选择排序
    16     for (int i = 0; i < args.length; i++) {
    17         for (int j = i+1; j < args.length; j++) {
    18             if (nums[i]>nums[j]) {
    19                 int temp=nums[i];
    20                 nums[i]=nums[j];
    21                 nums[j]=temp;
    22             }
    23         }
    24     }
    25     }
    26 }

    顺序查找:

     1 public class 顺序查找 {
     2     public static void main(String[] args) {
     3         int [] arr={23,34,12,35,6,2,56};
     4         Arrays.sort(arr);
     5         int num=56;
     6         for(int i=0;i<arr.length;i++){
     7              if(arr[i]==num){
     8                  System.out.println("该数在数组中存在.");
     9                  break;
    10              }
    11              if(i==arr.length-1){
    12                  System.out.println("该数不存在");
    13              }
    14         }        
    15     }
    16 }

    折半查询(二分查找):前提是排好序的数组

     1 public class 折半查找 {
     2     public static void main(String[] args) {
     3         int [] arr={2,5,6,8,45,56,67,100};
     4         Arrays.sort(arr);//排序
     5         int num=7;
     6         int max=arr.length-1;//最大数的下标
     7         int min=0;//最小数的下标    
     8         while(max>=min){
     9               int mid=(max+min)/2;//中间数的下标
    10               if(num>arr[mid]){
    11                    min=mid+1;
    12               }else if(num<arr[mid]){
    13                    max=mid-1;
    14               }else{
    15                   System.out.println("该数存在.");
    16                   break;
    17               }
    18         }    
    19     }
    20 }

    Java新特性对数组的支持

      可变参和增强循环

     1 public class NewTeDian {
     2     public static void main(String[] args) {
     3         //1.int a=(int)(Math.random()*11+10);//[0,1)   10 ---> 20
     4         int [] arr={1,34,45,67,32};
     5         for(int a:arr){//增强循环 (与下标无关).  1.5以后具有
     6             System.out.print(a+" ");
     7         }
     8         //2.Syntax error, 'for each' statements are only available if source level is 1.5 or greater
     9         String str=fun(2,34,546,6);
    10         System.out.println(str);
    11     }
    12     
    13    public static String fun(int... acc){
    14        for(int a:acc){
    15            System.out.print(a+"-->");
    16        }
    17        
    18        return "我回来了";
    19    }
    20 }
  • 相关阅读:
    启动Mysql后找不到服务或出现找不到指定文件
    WEB-MVC模式图示
    Java中Map集合的遍历方式
    sun.misc.BASE64Encoder找不到jar包的解决方法
    Tomcat常用的网站发布方式
    Sql Server查询行号
    Mysql下载安装问题
    【数学】环逆序
    【搜索】【the first editoral】OpenJudge 我是最快的马
    The First Blog
  • 原文地址:https://www.cnblogs.com/qq634571685/p/6652513.html
Copyright © 2020-2023  润新知