
本文共 3164 字,大约阅读时间需要 10 分钟。
Java基础入门教程
一维数组
数组是Java中用来存储一系列同一种类型数据的数据结构。Java语言支持一维数组、二维数组等多维数组的定义。
一维数组的定义
一维数组的定义方式有两种:
声明数组并分配空间
数据类型[] 数组名 = new 数据类型[数组长度];
例如:int[] numbers = new int[5];
这行代码声明了一个长度为5的整型数组numbers
,并为数组分配了内存空间。
声明数组但不分配空间
数据类型 数组名[];
例如:int numbers[];
这行代码声明了一个整型数组numbers
,但尚未分配内存空间。为了使用这个数组,必须使用new
关键字为其分配空间。
一维数组的使用
在声明了数组后,可以通过下标来访问数组中的元素。数组的下标从0开始。
例如:
int[] numbers = new int[] {2, 3, 4, 5, 6};System.out.println(numbers[0]); // 输出2System.out.println(numbers[4]); // 输出6
遍历一维数组
可以使用for
循环来遍历数组中的元素。for
循环的语法如下:
for(元素类型 元素变量:遍历对象){ 执行的代码; }
例如,遍历上述numbers
数组:
for(int number : numbers) { System.out.println("元素:" + number);}
二维数组
二维数组可以看作是一个由多个一维数组组成的数组。每个一维数组可以看作是一个行。
二维数组的定义
二维数组的定义方式如下:
数据类型[][] 数组名 = new 数据类型 [行的个数][列的个数];
例如,创建一个3x3的整型二维数组:
int[][] matrix = new int[3][3];
或者,可以先声明行的个数,再为每一行分配列的个数:
int[][] matrix = new int[3];matrix[0] = new int[3];matrix[1] = new int[3];matrix[2] = new int[3];
需要注意的是,如果每行的列数不同,则会创建一个不规则的二维数组。
方法
在Java中,方法是类中的一种成员,用于实现某种功能。方法的定义方式如下:
访问修饰符 返回值类型 方法名(参数列表){ 方法体; }
方法的分类
无参无返回值方法
例如:public void method() { ... }
无参带返回值方法
例如:public int method() { return 0; }
带参无返回值方法
例如:public void method(int parameter) { ... }
带参带返回值方法
例如:public String method(String parameter) { return parameter; }
调用方法
方法可以通过以下方式调用:
对象名.方法名()
例如,调用一个静态方法:
MyClass.staticMethod();
方法的重载
在同一个类中,可以定义多个方法,参数的类型、顺序或数量不同,称为方法的重载。重载的方法不会冲突。
方法的调用
- 带参方法:确保实参的数量、类型、顺序与方法的定义一致。
- 无参方法:直接调用方法名即可。
- 方法的参数:可以是基本数据类型或引用数据类型。
类与对象
类的概念
类是Java中用来封装数据和行为的基本单位。类可以包含属性(成员变量)和方法(成员方法)。类是对象的类型,描述对象具有的特征和行为。
类的定义步骤
定义类名
使用public class ClassName
语句定义类。定义类的属性
使用private
、protected
或public
修饰符定义成员变量。定义类的方法
使用public
、protected
或private
修饰符定义成员方法。对象的创建与使用
创建对象
使用类名 对象名 = new 类名();
语句创建对象。访问对象的属性和方法
使用对象名.属性名
或对象名.方法名()
来访问对象的属性和方法。成员变量与局部变量
成员变量
成员变量是类中定义的变量,用来描述对象的特征。成员变量可以被类的方法使用,也可以被其他类的方法访问。
局部变量
局部变量是在方法中定义的临时变量,用来保存方法执行过程中的数据。局部变量的作用域仅限于方法内部。
局部变量与成员变量的区别
- 作用域:局部变量只在方法内使用,成员变量在整个类内使用。
- 初始化:成员变量必须初始化,局部变量可以不初始化。
- 命名:同一方法中不能有两个局部变量名相同,类成员中可以有多个局部变量名相同。
- 访问:局部变量优先级高于成员变量。
构造方法
构造方法是用于创建和初始化对象的特殊方法。构造方法的定义方式如下:
类名(构造方法参数列表) { ... }
构造方法的特点
- 与类名相同。
- 返回值类型为
void
。 - 可以有参数,也可以没有参数。
构造方法的重载
可以在同一个类中定义多个构造方法,参数的类型、顺序或数量不同,称为构造方法的重载。
调用构造方法
- 对于无参构造方法,可以直接用
new Classname();
创建对象。 - 对于有参构造方法,需要提供相应的参数。
static修饰符
static
修饰符用于修饰类成员,包括变量、方法和代码块。静态成员属于整个类,所有对象共享。
static成员的特点
- 静态变量:在类加载时初始化,资源在类卸载时回收。
- 静态方法:可以直接调用,不能访问非静态成员。
- 静态初始化块:在类加载时执行,用于初始化静态变量。
面向对象的特点
封装
封装是面向对象的基本特点。通过封装,可以将类的内部信息隐藏起来,只允许通过方法进行操作。
- 实现步骤:
- 将属性设为
private
。 - 创建
getter
和setter
方法。 - 在
getter
和setter
中增加控制逻辑。
继承
Java支持单继承,一个类只能继承自一个直接父类。
- 继承的优点:
- 子类具有父类的所有属性和方法。
- 实现代码复用。
多态
多态包括引用多态和方法多态。
- 引用多态:父类引用可以指向子类对象。
- 方法多态:子类方法可以重写父类方法。
类型转换
- 向上转换:隐式转换,不需要显式声明。
- 向下转换:必须使用
instanceof
运算符,否则会导致运行时错误。
包
包是Java类文件组织的基本单位。每个包都有一个唯一的名字,包名用.
分隔。
包的作用
- 管理Java文件。
- 解决类名冲突。
常见包
java.lang
:Java语言基础类。java.util
:工具类。java.io
:输入输出功能类。
修饰符
Java提供了五种修饰符:public
、protected
、private
、static
、final
。
这些修饰符用于控制类、成员的访问范围。
内部类
内部类是定义在另一个类内部的类。外部类可以创建内部类的对象,并访问内部类的成员。
内部类的分类
static
修饰符。内部类的访问
- 内部类的成员可以直接访问外部类的成员。
- 使用
this
关键字可以访问外部类的成员。
静态内部类
静态内部类的成员不能直接访问外部类的非静态成员,需通过对象访问。
方法内部类
方法内部类只能在方法内部使用,不能使用static
修饰符。
总结
通过以上内容,可以初步掌握Java的基础知识。Java的面向对象特点、数组的使用、方法的定义与调用、继承与多态、包的概念、修饰符的使用等都是理解Java编程的基础。
发表评论
最新留言
关于作者
