目录
Java语言基础
标识符的定义规则
- 标识符长度不限,但在实际命名时不宜过长。
- Java的标识符由字母、数字、_和$组成。
- 标识符的第一个字符必须为字母、_和$。
- 标识符区分大小写。
- 不能使用关键字作为标识符。
选择结构
if分支语句
一、if(布尔表达式){
语句;
}
二、if(布尔表达式){
语句1;
}else{
语句2;
}
Switch多分支语句
switch(表达式){
case 常量1:
语句1
[break;]
case 常量2:
语句2
[break;]
...
case 常量n:
语句n
[break;]
default:
语句n+1
[break;]
}
分支嵌套
已知循环次数最少执行一次的情况while语句和do...while语句可以互换。
如果在检验循环条件前要执行循环体,使用do..while语句。
循环结构
while语句、do...while语句
while(条件表达式){
语句
}
do{
语句
}while(条件表达式)
for循环语句
for循环通常用于已知循环次数的情况,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。
for语句可以三个部分都省略。但省略表达式2会陷入死循环,除非在循环中用break跳出。
break和continue语句
break语句
- break语句用于跳出本层循环,进入外层循环。
- 在循环语句中常与条件语句一起使用。
continue语句
- 用于终止本次循环,跳过该循环体中位于continue后面的语句,进入下次循环。
- 用于循环语句中,类似于break语句,常与条件语句一起使用。
循环嵌套
- 在一个循环体内又出现一个或多个完整的循环体结构则称为循环嵌套。
- do...while、while、for三种循环方式可以相互构成循环嵌套。
- 外循环执行一次,内循环全部执行完,在进入下一次外循环。
- 大循环控制行数,小循环控制列数。
数组
- 数组是一组具有相同类型和名称的变量的有序集合。
- 组成数组的这些变量称为数组的元素,一个数组可以含有若干个元素。
- 下标也叫索引(Index) ,用来指出某个元素在数组中的位置。
- 数组中第一个元素的下标默认为0,第二个元素的下标为1 , 依次类推。如果某一数组有n个元素,则其最大下标为n-1。
一维数组
数据类型符[]数组名 = new 数据类型符[长度]:
例:
int[] score=new int[5];
或者
数据类型符[] 数组名 ;
数组名=new数据类型符[长度] ;
例:
int[] score;
score=new int[5];
数据类型符[] 数组名 = new 数据类型符{初值列表)
数据类型符[] 数组名 ={初值列表)
例:
int[] array=new int[](1,2,3,4);
int[] array=(1,2,3,4);
等价于
int[] array=new int[4];
array[0]=1;
array[1]=2;
array[2]=3;
array[3]=4;
二维数组
数据类型符[][] 数组名 = new 数据类型符[长度1] [长度2] ;
例:
double[][] score=new double[2][3];
或者
数据类型符[][] 数组名 ;
数组名=new 数据类型符[长度1][长度2]
例:
double[][] score;
score=new double[2][3];
方法
1、方法的概念、作用
方法(method),又称为函数(function),代表一段“独立的”“可复用”的“功能”代码。
作用:封装了一个功能代码,减少了代码的冗余。
2、方法的特点
(1)方法必须先声明再使用
(2)方法调用一次执行一次,不调用不执行
(3)记住:Java程序的入口是main方法
3.静态方法的声明格式
【修饰符】 返回值类型 方法名(【形参列表】)【throws 异常列表】{ 方法体语句 }
【throws 异常列表】:放到后面异常章节讲,这是关于方法可能发生的异常问题。
【修饰符】:今天先只讲public static,表示的公共的(public),静态的(static),
静态的代表在本类中任意方法中可以调用,不需要创建对象。
关于方法的其他修饰符,后面再说,例如:final, native, abstract, synchronized等。
方法名:就是一个标识符,代表方法的功能。
例如:Math.random(),这个方法名是random,代表随机值的意思。
例如:System.out.println(),这个方法名是println,代表输出并换行的意思。
方法体:必须用{}包围起来,表示实现该方法功能的代码。
4.无参无返回值
- 无参方法的()也不能省略。
- 无返回值需要用void关键字表示。
【修饰符】 void 方法名()【throws 异常列表】{ 方法体语句 }
public static void 方法名(){ 方法体语句 }
有参无返回值
【修饰符】 void 方法名(形参列表)【throws 异常列表】{ 方法体语句 }
public static void 方法名(数据类型 形参名){
方法体语句
}
public static void 方法名(数据类型 形参名1, 数据类型 形参名2){
方法体语句
}
public static void 方法名(数据类型 形参名1, 数据类型 形参名2, .....){
方法体语句
}
类与对象
封装:是面向对象的核心思想将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。
继承:主要是描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展。
多态:指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为。
对象的状态(又称特征、属):
由当前值的数据域来表示(Java使用变量定义数据域)。
对象的行为(动作):
由方法定义。调用对象的方法就是要求对象完成一个动作(Java使用方法定义行为)。
类:
类是一个模板、蓝本、合约,定义一个对象的数据域和方法。
对象与类的区别和联系
对象是类的实例,类是对象的模板。
对象与实例这两个概念常可以互换使用。
实例化:
创建对象(实例)的过程。
getter与setter方法
getter方法
返回对象内部的成员变量的值格式
[访问修饰符] 成员变量类型getXxx(){
return 成员变量;
}
setter方法
用来设置成员变量,可以在方法里面过滤掉一些不合理的值格式
[访问修饰符] void setXxx(成员变量类型 参数){
成员变量=参数
}
构造方法:
- 与类名相同。
- 可以完成任何动作,但其目的是完成初始化动作。
- 构造方法在使用new操作符创建对象的时候被调用。
- 无返回值类型,连void也没用。
- 构造方法可以被重载
- 默认构造方法,一个类默认会提供一个方法体为空的无参构造方法(没有参数的构造方法)。
- 当没有为类明确定义构造方法时,才会调用默认构造方法。
抽象类与接口
抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
public abstract class Shape {
public abstract void draw();
//抽象方法不能写具体的实现
public static void area(){
System.out.printIn("面积");
}
//抽象类也是类 内部可以定义普通方法和属性甚至是构造方法
象类的注意事项
-
抽象类和抽象方法都是使用abstract修饰的
-
抽象类不能进行实例化 但是普通类可以
-
抽象类中不一定包含抽象方法,但包含抽象方法的类 一定是抽象类
-
抽象类中可以定义成员变量和成员方法、
-
当一个普通类继承了抽象类 此时再普通类中必须重写抽象类中的抽象方法
-
抽象类最大的意义就是被继承
-
当一个抽象类B继承一个抽象类A,此时又有一个普通类C继承抽象类B,此时在C中必须重写抽象类A和B中所有的抽象方法
-
满足重写的要求
-
抽象类中可以存在构造方法,在子类实例化的的时候,会帮助父类成员进行初始化
接口
public interface 接口名称{
//抽象方法
public abstract void method1();
//public abstract 是固搭配,可以不写
public void method2();
abstract void method3();
void method4();
注意:子类和父类之间是extends 继承关系,类与接口之间是 implements 实现关系。
接口注意
- 接口是interface定义的
- 接口中不可以有被实现的方法,但是有两种方法需要注意 一个是静态方法可以被实现 另一个是default关键字修饰的也可以被实现
- 接口中的方法默认是public abstract修饰的
- 接口中的成员变量默认是 public static final修饰的
- 接口也不可以通过new实例化
- 类和接口之间用关键字implements进行关联 看作是类实现了接口
- 当一个类实现一个接口后 这个类必须重写接口中的抽象方法
- 当借口中存在default方法 可以选择重写 也可以不重写
- 不管是接口还是抽象类 仍然可以发生向上转型
- 子类实现接口方法时 方法一定是被public修饰的
- 接口中不能有构造方法和代码块
- 一个类如果不想实现接口的方法可以定义为抽象类
接口间的继承
在Java中,类和类之间是单继承的,一个类可以实现多个接口,接口与接口之间可以多继承。即:用接口可以达到多继承的目的。
接口可以继承一个接口, 达到复用的效果. 使用 extends 关键字
总结
通过这门课程的学习,我深入了解了Java编程语言的各种特性和应用场景。我发现Java是一种功能强大而且易于学习的语言,适用于各种类型的软件开发项目。总之,通过这门Java课程的学习,我收获颇丰,不仅掌握了Java编程语言的基础知识,还了解了更多的高级特性和应用场景。我相信这门课程对我的未来学习和职业生涯都将产生积极的影响。