java数组和标准输入输出

java数组的初始化

int a[]=new int[4];,对于这种类型创建的数组初始化是0
int a[]={1,2,3};

java的标准输入输出

  1. Scanner类,导入java。util。*;的包
    常用的函数有hasNext() 有一个字符串
    hasNextInt() used for int
    hasNextLine() used for line
    next() 输入下一个字符串,注意没有空格
    nextLine下一行输入到String类型 的一个变量里面可以包括空格
    nextInt nextDouble nextFloat 同理
  2. PrintWritter类
    注意这个类有一个构造时候的参数是autoflush,这个选择为true的话在println的时候会自动输出,但是呢,对于print不会自动输出,还是需要手动的调用flush函数才能输出。
    Scanner cin =new Scanner(System.in);
  PrintWriter xout=new PrintWriter(System.out,true);
        String x;
        xout.println(1);
//        xout.flush();
//        System.out.println("1");
//        while(cin.hasNext()){
//            x=cin.nextLine();
            System.out.println(x);
//            xout.print(1);
//        }
//        System.out.println("sdf");

多维数组的输出 arrays.deepToString()


        int c[][]={{12,2,3},{3,2,1}};
        System.out.println(Arrays.toString(c));
//        [[I@1b6d3586, [I@4554617c]
//
        System.out.println(Arrays.deepToString(c));
//        [[12, 2, 3], [3, 2, 1]]


arrays.fill()

        Arrays.fill(c[0],1);
        System.out.println(Arrays.deepToString(c));
//        Arrays.fill(一维数组,开始,结束,填充值);这样子就可以往里面填充数据了
        ```
## Arrays.toList()
```java
//      容器的初始化的时候,可以赋值为一个collection类型的对象,而我们的Arrays.asList()可以把一个数组或者一段序列{1,2,3}转化为list类型。

        Integer a[]={1,2,3};
        ArrayList<Integer> x=new ArrayList<>( Arrays.asList(a));
        List<Integer> xx=Arrays.asList(a);
//        xx.add(10);不可以直接使用它返回的list,因为它返回的是一个数组不支持我们增加长度。容器是支持的,所以我们最好是使用一个arralist包装一下。


//        Exception in thread "main" java.lang.UnsupportedOperationException
//	at java.util.AbstractList.add(AbstractList.java:148)
//	at java.util.AbstractList.add(AbstractList.java:108)
//	at test.main(test.java:19)


//        需要注意的是容器不能有基本数据类型,并且对于int数组不能自动转化为integer数组
//        对于继承自collecttion的对象都有collection。addAll函数,这个函数只能接受collection对象
//        但是collectons。addAll()十分的灵活,第一个是一个collection的对象,接着可以是一个collection也可以是一个变参数的列表
//        Collections.addAll(x,4,5);
//        [1, 2, 3, 4, 5]

//        Collections.addAll(x,{4,5});不可以
//        x.addAll({1,2,3});不可以

//        System.out.println(Arrays.toString(a));
//        对于数组来说必须使用toString来得到他的输出,对于容器来说直接打印就可以



数组的复制


    //数组的复制system.arraycopy()
        int x[]=new int[10];
        int y[]=new int[11];
        Arrays.fill(x,2);
        System.arraycopy(x,0,y,0,2);
        System.out.println(Arrays.toString(y));

数组的比较

        //数组的复制system.arraycopy()
        int x[]=new int[10];
        int y[]=new int[11];
        Arrays.fill(x,2);
        System.arraycopy(x,0,y,0,2);
        System.out.println(Arrays.toString(y));

        //数组的比较 就是对数组里面的对象引用调用equals函数,对于基本的数据类型我们就是调用包装器类的equals
        System.out.println(Arrays.equals(x,y));
        y=new int [10];
        Arrays.fill(y,2);
        System.out.println(Arrays.equals(x,y));
//        [2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0]
//false
//true

Arrays。sort()

A is 65 in ascall table
a is 97 in ascall table

       int x[]={21,5,468,46,1,351,684,6};
        Arrays.sort(x);
        System.out.println(Arrays.toString(x));
        System.out.println(Arrays.binarySearch(x,5));
//[1, 5, 6, 21, 46, 351, 468, 684]
        1
···

## Arrays.binarySearch()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值