zoukankan      html  css  js  c++  java
  • 数组及补充说明

    数组  

      什么是数组?

       数组是存储在一个连续的内存块中的元素集合     

       数组中的每个元素必须是相同的数据类型,并且通过索引  进行区分。

       数组中的第一个元素的索引为0

     为什么要使用数组?     

      单一值类型变量有时候很难满足应用程序的设计要求。     

      数组类型变量可以同时存储多个同类型基础数据类型变量或对象。

    创建数组  

      声明数组      

      int score [];      

      int [] score;//提倡使用的方式  分配空间      

      score = new int [10];(分配空间后,默认的值是0)      

      ArrayIndexOutOfBoundExceotion(数组下标越界)  

      声明并分配空间     

      int [] score = new int [10];

       初始化      

      score [0] = 1;  

      声明、分配空间并初始化      

      int [] score = new int []{1,2,3,4,5};      

       int [] score = {1,2,3,4,5};//不能分开成两条语句

       数组的大小(长度)     

      用到length属性     

      例如:for(int i = 0;i < score.length;i++){    sum += score;    }    

       int avg = sum / score.length;     

      java中的数组是对象

      补充  

      循环结构for each:用于数组或者集合的遍历操作   

      用法:for(单个数据类型  变量 : 数组或集合的名称){

           }   

      例如:   for (int item : score){         sum += score;    }  

      注意:不可以通过item改变数组元素的值

      对象数组/* 难点 */  

      User [] users = new User[100];

      数组拷贝  

      使用Arrays.copyof(oraginalArrays,length)  

      int [] score = new int []{1,2,3,4,5};  

      int [] temp = Arrays.copyof(score,score.length);

      数组的排序(升序)  

      签名  public static void sort(int [] a)

      多维数组  

      arrays[行][列]  

      arrays.length 的结果值是行数  

      arrays[0].length的结果是列数  

      如何遍历?  

      for (int [] is : arr){  

         for(int [] i : is){

          }      

       } 
      三、JVM  

    java程序运行在JVM上  

    JVM是java程序和操作系统之间的桥梁  

    JVM实现了java的平台无关性  

    JVM是内存分配原理的基础与前提

    内存分配  

    ——寄存器     

      JVM内部虚拟寄存器,存取速度非常快,程序不可控制  

    ——栈(First in,last out)     

      保存局部变量的值,包括:

        1、用来保存基本数据类型;     

        2、保存类的实例(即堆区对象)的引用(指针)  

    ——堆     

      用来存放动态产生的数据,比如new出来的对象。  

      注意创建出来的对象只包含属于各自成员变量,并不包含成员方法。  

      因为同一个类的对象拥有各自的成员变量,存储在各自的堆中。

    ——java运行过程涉及的内存区域     

      1、常量池           

        常量池就是这个类型用到的常量的一个有序集合   

    例如字符串的创建    

      String str = "abc";    

        这里是在常量池中查找或者创建abc,再由栈引用常量池中的值   

        而String str2 = new String("abc");(这儿会创建两个对象,分别在堆和常量池中)    

        先在堆中拷贝下常量池中的值,再由栈引用堆中的值   

        注意: System.out.println(str == str2);比较的是地址的值,返回false;         

      2、代码段     

      3、数据段  

    字符串常用的方法

     测试后缀名字是否相同  

      public boolean endswith(String suffix);

     返回指定字符在此字符串中第一次出现的索引  

      public int indexOf(int ch);

      返回值是否为空

       public boolean isEmpty();  

           当且仅当length()为0时返回true.

      分割字符串  

      public String[] split (String regex);  

      Regex  

    结果  :     { "boo", "and", "foo" }

        o  { "b", "", ":and:f" }

      返回一个新的字符串,它是此字符串的一个子字符串。

      该子字符串从指定索引处的字符开始, 直到此字符串末尾。

         public String substring(int beginIndex);     

        示例:  

           "unhappy".substring(2) returns "happy"   

          "Harbison".substring(3) returns "bison"   

          "emptiness".substring(9) returns "" (an empty string)

    使用默认语言环境的规则

      将此 String 中的所有字符都转换为小写

         public String toLowerCase();

      使用默认语言环境的规则将此

      String 中的所有字符都转换为大写  

        public String toUpperCase();

      返回字符串的副本,忽略前导空白和尾部空白(去掉前后空格)  

        public String trim();

     字符串的拼接  

      String name = "张三";  

      String address = "成都";  

      String infor = name + address;    

      StringBuilder = new StringBuilder();  

     

        四、补充

    在字符串中,length是一个属性,后面不加括号  

    而在求字符串的长度的时候,调用的是一个方法,length后面要加括号

     访问修饰符  

     
      √表示可以使用


            本类       同一包中不同类      不同包     子类  

    public         √                   √                 √           √

    protected    √                  √                  √ 

    default        √                  √ 

    private        √  

  • 相关阅读:
    外键的缺陷
    laravel 关联模型
    n的阶乘末尾出现的次数
    JavaScript的self和this使用小结
    cocos2dx中的内存管理方式
    c++ 与 lua 简单交互参数介绍
    c++的单例模式及c++11对单例模式的优化
    cocos2dx帧动画
    cocos2dx中坐标系
    cocos2dx中替代goto的用法:do{}while(0)和CC_BREAK_IF
  • 原文地址:https://www.cnblogs.com/Spirit612/p/4397941.html
Copyright © 2011-2022 走看看