值类型和引用类型

[值类型]

也就是基本数据类型 基本数据类型常被称为四类八种

四类:  

        1.整型    2.浮点型    3.字符型  4.逻辑型

八种:   

         1.整型4种 byte    1字节           -128——127 

                      short  2 字节         -32,768 —— 32,767 

                      int      4 字节          -2,147,483,648 ——2,147,483,647(超过20亿) 

                     long    8 字节   -9,223,372,036,854,775,808——9,223,372,036854,775,807 

         2.浮点型2种   float    4 字节         32位IEEE 754单精度(有效位数 6 – 7位)

                           double  8 字节         64位IEEE 754双精度(有效位数15位)

         3.字符型1种 char   2 字节          整个Unicode字符集

         4.逻辑型1种 boolean   1 位             True或者false 

[引用类型]

        1.类class 

        2.接口interface 

        3.数组array 

       (一)  类Class引用 

       Object :Object是一个很重要的类,Object是类层次结构的根类,每个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法。用Object可以定义所有的类 

              如: 

              Object object= new Integer(1); 来定义一个Interger类 

               Integer i=(Integer) object;     在来把这个Object强制转换成Interger类 

       String :String类代表字符串,Java 程序中的所有字符串字面值(如"abc")都作为此类的实例来实现。检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转
换为大写或小写形式。 

       Date :Date表示特定的瞬间,精确到毫秒。Date的类一般现在都被Calendar 和GregorianCalendar所有代替 

       Void :Void 类是一个不可实例化的占位符类,它保持一个对代表 Java 关键字 void 的 Class 对象的引用。 

       同时也有对应的Class如:Integer  Long  Boolean  Byte  Character  Double  Float   Short 

       (二)  接口interface引用 

       List<E>:列表 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。 List 接 口提供了两 种在列表的任意位置高效插入和移除多个元素的方法。 

       add() : 在列表的插入指定元素。 

       remove():移除列表中指定位置的元素。 

       get(int index):返回列表中指定位置的元素。 



      Map<K,V>: 

         K - 此映射所维护的键的类型 

         V - 映射值的类型 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 

         put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。如果此映射以前包含一个该键的  

          映  射 关系,则用指定值替换旧值(当且仅当,返回 true 时,才能说映射 m 包含键 k 的映射关系)。  remove(Object key)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。更确切地讲,如果此 映射包含从满足(key==null ? k==null :key.equals(k))的键 k 到值 v 的映射关系,则移除该映射关系。(该映射最多只能包含一个这样的映射关系。) get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 

          这里我们主要是用String List Map Object 是最常用Number ArrayList<E> Arrays等 

可以查考jdk的api 

这些类和接口在 

        java.lang :提供利用 Java 编程语言进行程序设计的基础类。 

和 

         java.unit:包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

           [值传递]    

           基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。

           [引用传递]

          引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。

          引用传递:传的是地址,就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。

          引用和我们的指针差不多,但是它不又不需要我们去具体的操作

原文地址:https://www.cnblogs.com/wenwen123/p/5491218.html