数组 集合 拆箱 装箱知识

  • Post author:
  • Post category:其他



数组:

1.数组是定长的;2.效组元元系的增删以一取借助值环,比较麻烦

int[] arr=new int[3];

arr[0]=1;

arr[1]=3;

arr[2]=5;

for (int i = 0; i < arr.length;i++) t

if(arr[i]==5)[

System.out.println(”存在数据为5的元素”);

break;




ArrayList


(

Collection

<? extends

E

> c)


构造一个包含指定 集合 的元素的列表,这些元素是按照该 集合的迭代器返回它们的顺序排列的。



集合

:是一个动态数组,随着元素的增加长度可以自由增长,集合封装了丰富的增删改查操作//集合是底层的一种动态数组,把数组的操作(循环)封装方法方便使用

ArrayList<String> list=new ArrayList<>();

list.

add

(“zs”);

list.add(“ls”);

list.add(“lucy”);

list.add(“jack”);

System.out.println(list);

list.add(2,”马云”);

System.out.println(list);

System.out.println(list.get(3));




add


(

E

e)


将指定的元素添加到此列表的尾部。



remove


(int index)


移除此列表中指定位置上的元素。



size


()


返回此列表中的元素数。


//不重复点名


List

接口的大小可变数组的实现:实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小


        //使用ArrayList把数据转换成集合,这是一个固定数组的形式
        List<String> list = Arrays.asList("陈", "小", "杨", "吃", "haha");
        //通过构造方法创建名单集合:把List集合中元素一一取出存入names集合中去
        ArrayList<String> names=new ArrayList<>(list);
        //使用Scanner,Random,ArrayList完成一个不重复的随机点名程序
        Random random=new Random();
        Scanner scanner=new Scanner(System.in);

        while (true){
            if (names.size()==0){
                System.out.println("本次点名结束,请重新开始。");
                break;
            }
            System.out.println("点名请输入Y/y");
            String input=scanner.next();//获取输入的内容
            if (input.equals("Y")||input.equals("y")){
                int index=random.nextInt(names.size());//随机产生集合索引范围内的一个值
                String name=names.get(index);//根据索引获取对应位置元素,就是获取数组长度
                System.out.println(name+"--------命中注定");
                names.remove(index);
            }else {
                System.out.println("点名结束,欢迎下次使用本程序。");
                break;
            }
        }
    }
}

Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:

基本类型已 对应的

包装类


bytec  Byte-

shorte  Shorte

int   Integer

long  Longe

float   Float

double  Double

chare  Character

booleane   Boolean


装箱与拆箱


基本类型与对应的包装类对象之间,来回转换的过程称为“装箱“与”拆箱”:




Integer


(int value)


构造一个新分配的

Integer

对象,它表示指定的

int

值。



Integer


(

String

s)


构造一个新分配的

Integer

对象,它表示

String

参数所指示的

int

值。



intValue


()




int

类型返回该

Integer

的值。

public static void main(String[] args) [

//1.基本数据类型和包装类型

int a1=5;

Integer a2=5;

System.out.println(a1);

System.out.println(a2);

System.out.println(” -“);

//2.装箱:把基本数据类型转换成包装类 拆箱:把包装类型转换成基本数据类型

/装箱

Integer a3=new Integer(a1);

Integer a4=Integer.value0f(a1);


//拆箱

int a5=a3.intValue();


自动装箱与自动拆箱


1/自动装箱

Integer a6=a1;

自动拆箱

int a7=a3;


4.基本类型与字符串之间的转换

//基本数据类型可以自动转换为字符串 123 “123” 3.21566 “3.21566”

System.out.println(“1″+”2”);

System.out.println(1+2+”3″);

System.out.println(“. “);


/字符串需要手动进行数据类型转换

“123”–123 “abc”—- 异常

int n=Integer.parseInt( s:”123″);




Integer


(int value)


构造一个新分配的

Integer

对象,它表示指定的

int

值。



Integer


(

String

s)


构造一个新分配的

Integer

对象,它表示

String

参数所指示的

int

值。




parseInt


(

String

s)


将字符串参数作为有符号的十进制整数进行解析。

double d=Double.parseDouble(s:”3.14″);




Double


(double value)


构造一个新分配的

Double

对象,它表示基本的

double

参数。



Double


(

String

s)


构造一个新分配的

Double

对象,表示用字符串表示的

double

类型的浮点值。



parseDouble


(

String

s)


返回一个新的

double

值,该值被初始化为用指定

String

表示的值,这与

Double

类的

valueOf

方法一样。

System.out.println(n);

System.out.println(d);



版权声明:本文为m0_73642750原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。