假设认识Java的第五天必会的知识点
数组在内存的存储:
二级目录
数组中的常见的操作:
数组下标越界异常
创建数,赋值3个元素,数组的索引就是0,1,2,没有索引3 。因此我们的不能访问数组中索引不存在的地方,将会抛出ArrayIndexOutOfBoundsException数组下标越界异常,在开发中,数组下标越界异常不能出现,一旦出现,程序就不能运行了。
空指针异常:
java.lang.NullPointerException空指针异常:
arr=null,这行代码,意味着变量arr不会保存数组的地址,也就不允许再操作数组了,因此运行的时候回抛出异常,在开发中,空指针异常也是不能出现。
数组的遍历:
最大值的获取:从数组中的所有的元素找到最大值。
实现思路:
定义变量,保存数组0索引处的值,遍历数组,获取数组中的每一个元素,将遍历的每一个元素和保存在数组0索引除的值进行比较,如果数组元素的值大于变量的值,变量记录新的值,数组循环遍历结束,变量保存的就是数组中的最大值。
public class test07 {
public static void main(String[] args) {
int[] arr={5,20,60,50,500,70};
int max=arr[0];
for (int i = 0; i <arr.length ; i++) {
if (arr[i]>max){
max=arr[i];
}
}
System.out.println("数组最大值是:"+max);
}
}
数组反转:
数组的反转:数组中的元素颠倒顺序,例如原来的元素是1,2,3,4,5。反转后变成5,4,3,2,1
实现思想:
数组的最远端的元素互换位置,定义两个变量,保存数组的最小索引和最大索引。
两个索引上的元素互换位置,完事以后,最小索引++,最大索引–,再进行交换位置。
最小索引超过了最大索引就停止数组的反转。
public class test08 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
/*
* 循环中定义变量
* min = 0 最小索引
* max=arr.length-1 最大索引
* min++,max--
* */
for (int min = 0,max=arr.length-1; min <=max; min++,max--) {
int temp=arr[min];
arr[min]=arr[max];
arr[max]=temp;
}
//反转后遍历一下数组
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}
}
}
数组作为方法的参数和返回值:
数组作为我们方法的参数:
以前的方法都是基本类型作为参数,但是使用我们的数组或者引用类型也是可以作为我们的方法的参数去传递。
1.数组作为我们的方法的参数,传递的参数是我们的数组的内存地址
2.数组作为我们的返回值:
面向对象的思想:(oop)
面向对象程序设计(Object Oriented Programming)
概念:
Java语言是一门面向对象的语言,而面向对象是程序设计的一种思想,我们在面向对象的思想的指引下,使用java语言去设计和开发计算的程序,这里的对象泛指我们的现实生活中的一切事物,每一个事物都有属性和行为。
洗衣服:
面向过程:
收集衣服----找一个盆-----放洗衣服----加点水–泡10分钟----揉一揉—清洗—拧干–晒衣服
面向对象:
收集衣服-----打开洗衣机-----扔衣服进去—按钮----晒衣服
特点:
面向对象思想是一种更符合我们的思考习惯的思想,它可以把复杂的问题简单化,并将我们的从执行者变成指挥者。
面向对象的特点:包括三大特点:封装,继承,多态,(抽象)
类和对象:
周围:有很多的对象,桌子,同学,老师,桌子属于办公用品,老师和学生属于人类
什么叫类:
就是一组相关属性和行为的集合。可以看做是一类事物的模板,使用事物的属性和行为特征来描述该事物。
现实中:描述一类事物:
属性:该事物的状态信息
行为:该事物能够做些什么事
什么叫对象:
对象:就是一类的具体的体现,对象是类的一个实例,必然具有该事物的属性和行为。
类和对象的关系:
类是对一类事物的描述,是抽象的
对象是一类事物的实力,是具体的。
类是对象的模板,对象是类的实体。
类的定义:
事物与类的对比:
1.现实的世界的一类事物:
属性:事物的状态的信息
行为:事物能够做的什么
2.Java中的用class描述事物:
成员变量: 对应事物的属性
成员方法: 对应事物的行为
类的格式:
public class ClassName{
//成员变量
//成员方法
}
定义类:就是定义类的成员,包括成员变量和成员方法
成员变量:和以前我们的变量几乎一样,只不过位置发生了变化,在类中方法外。
成员方法:和以前定义的方法几乎一样,只不过,把static关键字去
//表示学生的一个类
public class Student {
//成员变量
String username;
int age;
//成员方法
public void study(){
System.out.println("我爱学习");
}
public void sleep(){
System.out.println("我爱睡觉");
}
}
对象的使用:
创建对象:
类名 对象名=new 类名();
使用对象名去调用我们类中的成员变量和成员方法:
对象名.成员变量;
对象名.成员方法();
public class test13 {
public static void main(String[] args) {
//创造对象的一种方式
Student student = new Student();
//通过对象名去调用成员变量
student.age = 12;
student.username = "xx";
System.out.println("学生的年纪:"+student.age+" "+"姓名:"+student.username);
//通过对象名称调用成员方法
student.sleep();
student.study();
}
}