Java SE学习笔记2 数组、类与对象

一、数组

1、为什么需要数组

数组就一个变量,存储相同数据类型的一组数据。
声明一个变量就是在内存空间划出一块合适的空间;声明一个数组就是在内存空间划出一串连续的空间。

2、数组的基本要素

标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型

3、数组的使用步骤

(1) 声明数组:告诉计算机数据类型是什么
语法:
数据类型 数组名[ ];
数据类型[ ] 数组名;
(2) 分配空间:告诉计算机分配几个连续的空间
score = new int[30]; 内存中开30个空间
语法:
数据类型[ ] 数组名=new 数据类型[大小];
(3) 赋值:向分配的空间里放数据
score[0] = 89;
此外也可以边声明边赋值:
int[ ] score = {89, 79, 76};
或:int[ ] score = new int[ ]{89, 79, 76};
错误:int[ ] score = new int[3]{89, 79, 76};//不可行,不能指定数量
(4) 处理数组
结合循环:数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 For-Each 循环。


案例:从键盘输入本次Java考试五位学生的成绩,求考试成绩平均分

import java.util.Scanner;
public class Hello {
	public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	int[] scores=new int[5];
	int sum=0;
	System.out.println("请输入5个学员的成绩:");
	for(int i=0;i<scores.length;i++) {
		scores[i]=sc.nextInt();
		sum=sum+scores[i];
	}
	double avg=sum/scores.length;//平均分
	System.out.println("平均分:"+avg);
	}
}

结果:在这里插入图片描述

二、类与对象

1、基本概念

对象: 对象表示现实世界中一个具体的事物。对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类: 类是一个模板,它描述一类对象的行为和状态。
类与对象的关系:
1、类是抽象的概念,仅仅是一个模板,比如说:“人”
2、对象是一个你能够看得到、摸得着的具体实体
3、类定义了对象将会拥有的特征(属性)和行为(方法)
4、类是对象的类型,对象是类的实例


*类的使用步骤:
定义类(使用关键字class)—>
创建类的对象(使用关键字new)—>
调用类的属性和方法(使用“.”操作符)

一个类可以包含以下几种变量:
1、局部变量: 在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
2、成员变量: 成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
3、类变量: 类变量也声明在类中,方法体之外,但必须声明为static类型

2、带参方法

1、一个参数
定义带参方法:

public class ZhazhiJi {    
	public String zhazhi ( String fruit ) {          
	String juice = fruit + "汁";          
	return juice;      
	} 
}

调用榨汁方法:

ZhazhiJi myZhazhiji = new ZhazhiJi();
String myFruit = "苹果";
String myJuice = myZhazhi.zhazhi(myFruit);
System.out.println(myJuice);

2、多个参数
定义带参方法:

public class ZhazhiJi {    
	public String zhazhi ( String fruit,String fruit2 ) {          
	String juice = fruit + "汁和"+fruit2+"汁";          
	return juice;      
	} 
}

调用带参方法:

ZhazhiJi myZhazhiji = new ZhazhiJi();
String myFruit = "苹果";
String myFruit2 = "桃子";
String myJuice = myZhazhi.zhazhi(myFruit,myFruit2);
System.out.println(myJuice);

3、构造方法

构造方法作用就是对类进行初始化。每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认不带任何参数的构造方法。
在创建一个对象的同时,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

class Person //人类{
	public Person(String n,int a) //构造方法{     
	name = n; age = a;
		}   
	private string name;   
	private int age;
	}
	public static void main(String[] args){
	Person p = new Person("张三",14);
	//这就是作用
	}

new一个对象的时候要用到构造函数,例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法。
Hello hello = new Hello(“hi”);这个是调用Hello的有参数构造方法。
在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上。(失效)
如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么要强调写了有参数的构造方法就最好加一个无参数的构造方法。

4、方法的重载

在Java程序中,如果同一个类中存在两个方法同名,方法的签名(参数个数、参数类型、类型排列次序)上也一样,将无法编译通过。
但在Java中多个方法重名是允许的,只要保证方法签名不同即可,这种特性称为方法重载

方法重载需遵循如下两条规则:
①方法名相同;
②参数列表(个数、类型、顺序)不同
注意:返回值不影响方法重载。构造方法也可以重载 。

5、访问修饰符

访问修饰符 本类 同包 子类 其他
private(私有的)
默认(friendly)
protected(受保护的)
public(公共的)

猜你喜欢

转载自blog.csdn.net/zhangzhang__yan/article/details/107624602