java基础技术知识点(第四天):数组,数组工具类,面向对向;

一,数组

       1,定义过程:

        ①,在内存中开辟连续的空间,用来存放数据

        ②,给数组完成初始化过程,给每个元素赋予默认值,int的默认值为0;

        ③.数组完成初始化,并给每个元素赋予一个对应的地址

:数组一旦定义,就不能被改变

       2.数组的初始化

        ①静态创建:

public class Demo03 {
    public static void main(String[] args) {
        char[] arr= {'H','e','l','l','o','W','o','r','l','d'};
        char[] arr2 =new  char[]{'H','e','l','l','o','W','o','r','l','d'};
        for (char a:arr){
            System.out.print(a);//HelloWorld
        }
        for (char a:arr2){
           System.out.print(a);//HelloWorld
        }
       System.out.print(arr);HelloWorld    }
}

        ②动态创建:           

public class Demo04 {
    public static void main(String[] args) {
        char[] arr = new char[10];
        arr[0]='H';
        arr[1]='e';
        arr[2]='l';
        arr[3]='l';
        arr[4]='o';
        arr[5]='W';
        arr[6]='o';
        arr[7]='r';
        arr[8]='l';
        arr[9]='d';
        for (int i=0;i<10;i++){
            System.out.print(arr[i]);//HelloWorld
        }
            System.out.print(arr);HelloWorld    }
}

         3.定义String数组

        

import java.util.Arrays;

public class Demo05 {
    public static void main(String[] args) {
        String[] arr = {"HelloWorld"};
        System.out.println(arr);//[Ljava.lang.String;@4554617c:地址
        System.out.println(Arrays.toString(arr));//[HelloWorld]
        System.out.println(arr[0]);//HelloWorld
    }
}

       :String是引用类型变量,保存的数组的地址值,但由于java对char类型做了底层处理,所以char[] 可以直接打印具体内容,但除了char类型以外,其它任何类型想要查看数组中的具体元素需要使用数组的工具类Arrays的(toString)数组名。

  4.角标越界异常

            Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

            数组所取的长度大于数组定义的长度,如:             

        int[] arr={6};
        for (int i=0;i<8;i++){
            System.out.println(arr[i]);
        }

     5.工具类的sort方法:对数组进行排序(小-->大)

public static void main(String[] args) {
    int[] arr={6,3,45,6,7,9,23,43};
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr));
} 

二, Arrays工具类

        1.copyOf()方法:

 ①

public static void main(String[] args) {
    int[] arr={1,2,3,4,5};
    //数组的复制
    int[] to = Arrays.copyOf(arr,arr.length);//(数组,新数组长度)
    System.out.println(Arrays.toString(to));//可以应用于数组的扩容和缩容
}

   ②     缩容

int[] arr= {1,2,3,4,5};
//缩容
int[] to2= Arrays.copyOf(arr,3);
System.out.println(Arrays.toString(to2));

  ③       扩容

   int[] arr= {1,2,3,4,5};//扩容

   int[] to3 =Arrays.copyOf(arr,10);

   System.out.println(Arrays.toString(to3));

   ④.copyOfRange方发

int [] to4 = Arrays.copyOfRange(arr,2,4);
System.out.println(Arrays.toString(to4));
//注:截取的下标是根据数组的下标决定的(含头不含尾)

三,面对对象

          概念:面对对象是一种编程思想:比如把大象装冰箱里,一共分三步

                第一步:打开冰箱

                第二部:把冰箱放进去

                第三步:关上冰箱

1,面对对象三大特征

        ①封装:把相关的类封装成一个类的组件

        ②继承:是子类共享弗雷的属性和方法,这是类之间的一种关系

        ③多态:增强软件的灵活性和通用性

2,类和对象

        通过class设计手机的类及如何建立对象调用手机类的属性和方法       

public class TestCreateClass {
    public static void main(String[] args) {
        phone p = new phone();
        p.color="白色";
        p.massage();//发短信
        System.out.println(p.color);//白色
    }

}
//特点:品牌,尺寸,颜色,价格...
//功能:打电话,发短信,看直播
class phone{//封装手机的特征与行为
    String brand;//品牌
    String color;//颜色
    String size;//尺寸
    String price;

    public void call(){
        System.out.println("打电话");
    }
    public void massage(){
        System.out.println("发短信");
    }
    public void video(){
        System.out.println("看直播");
    }
}

3,对象中的属性都是有默认值的

TIPS:栈与队列指的是一种数据结构

栈:先进后出,存放引用类型变量

堆:先进先出,存放对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员慕慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值