java 基础

一维数组

  数组:一组相同数据类型的元素,存储的容器
 
  数组特点:
  1.长度一经声明则无法修改,长度固定
  2.存储的元素,数据类型一致的
  3.数组里可以存放像:基本数据类型、引用数据类型这样的元素
  4.通过下标进行存取,下标的范围:0~length-1
 
  一维数组
  1.声明的语法:   数据类型[] 数组名 = new 数据类型[数组长度];
  2.赋值的语法:
       数据类型[] 数组名 = new 数据类型[3];
       数据类型[] 数组名 = new 数据类型[]{值1,值2,值3};
       数据类型[] 数组名 = {值1,值2,值3};
  3.取值
       数组名[下标]       //下标 0~len-1
  4.赋值
       数组名[下标]=值;   //下标 0~len-1
  5.循环遍历
       方式一:fori     for(int i=0;i<数组名.length;i++){ //数组名[i] }
       方式二:foreach  for(数据类型  临时变量名 : 数组名){  //临时变量名 }
       方式三:Stream流
 
public class OneArrayDemo {

    public static void main(String[] args) {
        //一.声明数组
        //arr int一维数组类型
        //arr中的元素,int类型
        int[] arr = new int[3]; //0,0,0

        //brr char一维数组类型
        //brr中的元素,char类型
        char[] brr = {'a','b','c','d'};

        //二.取值
        System.out.println(arr[1]);  //0
        System.out.println(brr[2]);  //c

        //三.赋值
        arr[1] = 20;
        System.out.println(arr[1]);  //20

        //四.迭代
        System.out.println("------fori-------");
        //arr.fori 快捷调用
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);  //0 20 0
        }

        System.out.println("------foreach------");
        //arr.for 快捷调用
        for (char b : brr) {
            System.out.println(b);
        }

        System.out.println("--------数组间的赋值---------");
        int[] newArr = arr;
        for (int n : newArr) {
            System.out.println(n);  //0 20 0
        }
        System.out.println(arr == newArr);  //== 比较的是地址 true
        System.out.println("-----赋值------");
        newArr[2] = 30;
        for (int n : newArr) {
            System.out.println(n);   //0 20 30
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]); //0 20 30
        }
    }

}

Arrays类

package day04;

import java.util.Arrays;

//冒泡排序
public class BubbleDemo {

    public static void main(String[] args) {
        //1.声明一维数组
        int[] arr = {12,42,36,9,16,1,23};

        //2.冒泡排序
        for (int i = 0; i <arr.length-1; i++) {   //i 轮数
            for (int j = 0; j <arr.length-1-i ; j++) {   //j 次数
                //交换的条件
                if(arr[j] > arr[j+1]){
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }

        //3.输出
        System.out.println(Arrays.toString(arr));
    }

}

 

 

有一个数列:1,2,4,8,12,23,344,此时从键盘中任意输入一个数据,判断数列中是否包含此数

public class BinaryDemo {

    public static void main(String[] args) {

        int[] arr = {1,2,4,8,12,23,344};

        // 下标
        int left = 0;
        int right = arr.length - 1;
        int middle = 0;

        //key
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入关键字:");
        int key = scanner.nextInt();

        boolean flag = true;
        //只要满足此条件,可以一直循环比较
        while(left <= right){
            //计算middle
            middle = (left+right)/2;

            //比较  将key与arr[middle]进行比较
            if(arr[middle] > key){
                right = middle - 1;
            }else if(arr[middle] < key){
                left = middle + 1;
            }else if(arr[middle] == key){
                flag = false;
                System.out.println("包含");
                break;
            }
        }

        if(flag){
            System.out.println("不包含");
        }
    }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值