• Java学习笔记——鸵鸟学习记(二)


    ---恢复内容开始---

    4. 数组对象

    4.1 数组的创建

      a, 数组对象

      在Java语言中,数组对象可以表示一组数字。

       int[]  arr  =  new int[30];(new可以表示为创建的意思)

        创建一个数组对象(Array Object),长度为30,存储的数据类型为int

      变量名称:  arr

      变量类型:   int[ ](即数组对象)

      b,数组元素的访问

      第i个元素用arr[i]表示,i为索引或下标,下标从0开始

      c, 数组的遍历

      从头到尾,挨个访问

      d, 数组的初始化

    • new 出来 : int [ ] arr = new int[ 20]   默认初始化值为0
    • 指定初始值

      int[ ]  arr  =  {1,2,3,4};

      即用一个大括号将所有值列出来,每个值以逗号分隔。

      

      e,数组的长度

        数组名.length

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

      {

      }

    4.2 对象与引用

      a,

      int[ ]  a = new int[4];

      等号右侧:创建了一个数组对象

      等号左侧: 变量a称为该对象的引用

      称作: 变量a指向了一个对象或a是对象的名字。

    int[] a = new int[4];
    int[] b = a;

    结果: a 指向了一个对象

        b 和a指向了相同的对象(a b都可以操作目标对象,相当于一个物体有两个名字,这里将名字称作引用)

      b,空对象 null

      即不指向任何对象

      c, 失去引用对象

            int[] a ={7,7,7} ;
            a = new int[4];
            a[0]=a[1]=a[2]=a[3]=6;
    • 创建了一个数组对象object1,内容为7,7,7
    • 创建了第二个数组对象object2,内容为0,0,0
    • 此时object2内容变为6,6,6,而object1无人引用(失去引用对象,会被java运行环境自动删除)

    5. 类

    5.1 新建类

      类,class: 用于描述一种数据类型

      a, 类和属性

    package my;
    
    public class Student
    {
        public String id ;//学号
        public String name ;//姓名
        public boolean sex ;//性别
        public String cellphone ;//手机号
    }
    • 类型名Student,表示自定义类型
    • 属性:即学生的属性包括  id name sex cellphone

      b, 创建对象

            Student s1 = new Student();
            s1.id = "20171001";
            s1.name = "嘉";
            s1.sex = true;
            s1.cellphone = "15129897963"; 
    •   new Student: 创建一个Student类型的对象(Student是类型  s1是对象)
    •         s1.id :对象的属性用点号来访问

    6. 类的方法

    6.1 类的方法

    a, 方法

      一个类里,不仅可以添加属性,还可以添加方法

      类

      {

      属性:描述的是“我有什么”

      方法:描述的是:“我能做什么”

      }

      例程:

    //创建的类Student 方法show
    package my;
    
    public class Student
    {
        public String id ;//学号
        public String name ;//姓名
        public boolean sex ;//性别
        public String cellphone ;//手机号
        
        //用于报数
        public void show ()
        {
            for(int i=0;i<10;i++)
            {
                System.out.println("报数"+ (i+1));
            }
        }
    }
    
    
    //主程序,调用方法
    package my;
    
    public class HelloWorld
    {
    
        public static void main(String[] args)
        {    
            Student s = new Student();
            s.show();
            
        }
    
    }
    
    
    
    运行结果:报数1
    报数2
    报数3
    报数4
    报数5
    报数6
    报数7
    报数8
    报数9
    报数10

    b,方法的参数

    • 语法格式:void show(类型+变量名,int a,double b)
    • //设定参数maxNumber,有主程序来传递报数的个数
      package my;
      
      public class Student
      {
          public String id ;//学号
          public String name ;//姓名
          public boolean sex ;//性别
          public String cellphone ;//手机号
          
          //用于报数
          public void show (int maxNumber)
          {
              for(int i=0;i<maxNumber;i++)
              {
                  System.out.println("报数"+ (i+1));
              }
          }
      }
      
      
      
      //主程序
      
      package my;
      
      public class HelloWorld
      {
      
          public static void main(String[] args)
          {    
              Student s = new Student();
              s.show(3);
              
          }
      
      }
      
      
      运行结果:报数1
      报数2
      报数3

      c,方法的返回值(即做这件事的结果)

    • return 语句: 可以返回一个值,且退出程序。

      d,方法名的重载(overload)

      

    package my;
    
    public class Simple
    {
        public void test()
        {}
        public void test(int a,int b)
        {}
        public void test(int a,String b)
        {}
    }

    调用的时候,编译器会根据参数列表来匹配不同的方法。

    7,当前对象

      a,当前对象:this

    //求像素,
    package my;
    
    public class Screen
    {
        public int width;
        public int height;
        
        public int pixel()
        {
            int result = this.width*this.height;
            return result;
        }
    }
    
    //主程序
    package my;
    
    public class HelloWorld
    {
    
        public static void main(String[] args)
        {    
            Screen s = new Screen();
            
            s.width = 1366;
            s.height = 768;
            int p = s.pixel();
            System.out.println("像素"+ p);
            
        }
    
    }
    
    
    运行结果:像素1049088

    要访问自己的属性和方法时,可以用this来访问。

    b,省略与重名

    当与方法内变量重名时,不能省略this。 

  • 相关阅读:
    http statusCode(状态码)
    MVC 获取控制器名称和Action名称(转载)
    Spark2.0机器学习系列之10: 聚类(高斯混合模型 GMM)
    机器学习算法(优化)之二:期望最大化(EM)算法
    Spark2.0机器学习系列之9: 聚类(k-means,Bisecting k-means,Streaming k-means)
    Spark2.0 特征提取、转换、选择之二:特征选择、文本处理,以中文自然语言处理(情感分类)为例
    Spark2.0 特征提取、转换、选择之一:数据规范化,String-Index、离散-连续特征相互转换
    SVM实现多分类的三种方案
    机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
    Spark2.0机器学习系列之8:多类分类问题(方法归总和分类结果评估)
  • 原文地址:https://www.cnblogs.com/lwcwj/p/10417422.html
Copyright © 2020-2023  润新知