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

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。

Java学习笔记——鸵鸟学习记(二)的更多相关文章

  1. Java学习笔记——鸵鸟学习记(三)

    8,对象的创建与销毁 a, 构造方法——在构造对象的时候同时传入相关的属性 用于构造对象的方法(当创建对象时调用的方法) 规则:1)方法名与类名相同 2)无返回值 package my; public ...

  2. Java学习笔记——鸵鸟学习记(一)

    1. 变量 1.1 使用变量 a, 变量三要素:名字 值 类型 b, 变量命名 英文字母,数字,下划线,但不能数字开头 并不是英文单词,用拼音也可以 随便写也可以,但可读性差 区分大小写(Y与y是不同 ...

  3. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  4. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  5. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

  6. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  7. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  8. vue2.0学习笔记之路由(二)路由嵌套+动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue2.0学习笔记之路由(二)路由嵌套

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. android 判断横竖屏的方法(转)

    public boolean isScreenChange() { Configuration mConfiguration = this.getResources().getConfiguratio ...

  2. oc语言的Foundation框架(学习笔记2)

    紧接上文…… 4.集合对象 4.1数组 1.基本概念 Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合,通过索引下标获取到数组中的各个元素,也分可变和不 ...

  3. Day1-浅谈接口测试

    1.接口测试的定义:从数据库里面取数据,插入数据,把前段和后端联系起来: 2.接口测试的必要性: 1)前端未开发好,但是接口已开发 2)页面上测不了的,可以通过接口来测试 3.接口测试需要注意: 1) ...

  4. python_ 基本语法

    一.基础知识: 1.鸡汤 摘抄至 :简明 python 教程 在人生中取得成功,与其说靠天才与机会,不如说靠专注与毅力! Python 特点:简单.易于学习(简单得语法体系).自由且开发.高级语言.跨 ...

  5. Android自定义标签列表控件LabelsView解析

    版权声明:本文为博主原创文章,未经博主允许不得转载. 无论是在移动端的App,还是在前端的网页,我们经常会看到下面这种标签的列表效果:   标签从左到右摆放,一行显示不下时自动换行.这样的效果用And ...

  6. SG函数和SG定理

    Fibonacci again and again 利用SG函数求出每一堆的SG值,如果三个值的异或和为零 先手必败态,否则,先手必胜态. #include <bits/stdc++.h> ...

  7. CF D.Mister B and Astronomers

    题意概括好麻烦, 好吧既然是英文题面那放一下题意. 题意:有 n 个观察员,第一个观察员在 0 秒开始观察星空,随后第i 个观察员会在第 i − 1 个观察员之后 ai 秒观察,第一个观察员也会在第 ...

  8. 入学java的第一天

    登录http://www.oracle.com,下载JDK(J2SE) JDK 1.0,1.1,1.2,1.3,1.4 1.5(JDK5.0) 支持注解.支持泛型 1.6(JDK6.0)Server2 ...

  9. h3c_7506e引擎主备镜像同步

    备份引擎的镜像文件不匹配会导致主引擎无法识别备引擎解决方法:1.备份主引擎上的启动文件同步到备引擎    ftp ip地址    get 在ftp服务器的镜像文件名 为其命名为本地文件(均为源文件名) ...

  10. vue state

    vuex单一状态树,直接地定位任一特定的状态片段. vuex状态存储响应式,唯一store实例,从store中读取状态: 1.在计算属性中返回某个状态 2.在根实例中注册store选项,该 store ...