zoukankan      html  css  js  c++  java
  • 值类型和引用类型

    [值类型]

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

    四类:  

            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 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。

               [值传递]    

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

               [引用传递]

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

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

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

  • 相关阅读:
    Android布局尺寸思考
    正则表达式五分钟快速复习
    git gitignore文件失效处理
    华为手机Edittext光标(cursor)颜色修改
    AndroidStudio-OSX 常用快捷键整理
    OS X(EI Capitan)常用快捷键整理
    通过Foxit和坚果云实现iPad和PC的pdf同步阅读(修改,笔记)
    《程序员必读的职业规划书》职业生涯规划部分书摘及感想
    以神经网络使用为例的Matlab和Android混合编程
    写出优美代码的两个方式:一步到位VS迭代优化
  • 原文地址:https://www.cnblogs.com/wenwen123/p/5491218.html
Copyright © 2011-2022 走看看