现在好多人上课都会出现严重的犯困,其实主要是坐在那里太悠闲了,只要你跟着老师,老师讲什么,你在记事本上敲什么,做一个随堂录,保证你绝对不会犯困,效果非常的好。
还有写随堂录有很多的好处,一是锻炼你的编辑能力,而是可以刻下复习的时候把那些好好的看看,最重要 的是不犯困了,学习效率就高了 ,学习效率高了,基础就能学扎实,基础学好了,进黑马就有保障了,进黑马了,高薪还会远吗?
下面将我一天的随堂录展示如下:
第六天
1.作业讲解
2.遍历数组 for+下标
最值 定义一个变量,让其等于数组中的某一个元素,使用它与数组所有的元素进行比较,比较完成后就可以得到最值。
排序
选择排序: 用数组中的一个元素,与其后的所有元素进行比较,如果满足条件进行交换,最值出现数组的左边。
(要求:立即掌握)
冒泡排序: 相邻元素进行比较,比较后最值出现在右边。
折半查找:前提是数组有序,想要执行需要三个值 star middle end 它们代表的是数组的下标,使用middle位置
上的元素与要查找的元素进行比较,如果大于在左边进行折半,如果小于star=middle+1在右边折半。
如果middle位置上的元素与要查找的元素相等表示找
star>end表示没有查找到。
4. 在进制转换时,n&15----->得到的值在0-15范围内,在十六进制中没有10-15这些值,而是使用a-f代替。
我们可以将0-9,a-f这些值装入到一个char数组中,然后可以通过n&15得到的值去数组中找到对应的值。
这时候这个char数组就相当于一个表,这就是查表法。
当操作后得到的数据与表有关联,这时候就可以使用查表法。
(以后查表法会经常使用,必须掌握)
在java中字符串用String表示 如:String[] arr={"星期一","星期二","星期三"};
5.测试题讲解。
1.编程的题,用方法实现
2.做一个方法实现打印九九表。
3.二维数组(了解)
1.数组中可以装任意类型的数据。数组是一种引用类型。
一个数组中的元素又是一个数组,这样的数组就叫做二维数组。Demo1.java
二维数组中的一维数组的长度可以不一样。在操作二维数组时,我们可以将
其想象成一张表,在操作具体元素时,可以通过操作其行号和列号得到。
二维数组:马上想到双层for循环,通过相当于行与列来操作。
Test5.java 二维数组的小应用。
二维数组的动态声明 必须定义长度
一维:
元素类型[] 数组名=new 元素类型[长度];
二维:
元素类型[][] 数组名 = new 元素类型[长度] [];
注意长度写在第一个括号里。如果第二个括号里有值,代表二维数组中的一维数组开辟空间了,此时打印
int[3]的值是一维数组的首地址,如果没有有值代表没对其中的一维数组开辟
空间,此时打印int[3]的值是null。Demo3.java 二维数组的一维数组长度不一样。
数组写法总结:
一维数组:
1.元素类型[] 数组名 =new 元素类型[长度] ;建议这样写
2.元素类型 数组名[] =new 元素类型[长度] ;
二维数组:
1.元素类型[][] 数组名 = new 元素类型[长度][]; 建议这样写
2.元素类型 数组名[][] =new元素类型[长度][];
3.元素类型[] 数组名[] =new 元素类型[长度][];
使用:
4.面向对象(上)(最重要)
1.什么是面向对象
对象的特征分为静态特征和动态特征两种。
静态的特征指对象的外观、性质、属性等;动态的特征指对象具有的功能、行为等。
人们将对象的静态特征抽象为属性,用数据来描述,在Java语言中称之为变量;
人们将对象的动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在Java语言中称之为方法。
一个对象由一组属性和一组对属性进行操作的方法构成。
面向过程:注重的是执行的动作。必须对每个细节了如指掌。
面向对象:注重的是实体(对象)。隐藏了方法和整个过程的细节。
举例:
将大象放进冰箱:
面向过程:1.打开冰箱门,2.放入大象,3.关上冰箱门。
面向对象:实体:冰箱(开门,装实体,关门)和大象
找到冰箱和大象实体 有了实体,我们就可以让其执行自己的行为。
开车:
面向过程:1.启动,2.踩离合,3.挂档,4.踩油门
面向对象:车(1.启动,2.踩离合,3.挂档,4.踩油门) 找到车,车具有驾驶行为。
面向对象注重的是实体,我们在分析问题是,首先不要执行具体的操作,
要找到这些实体(对象),我们要分析实体具有什么行为(功能)。
分析具体的动作属于哪个实体时,只需要考虑当前这个动作,哪个实体更了解,这时候就将这个动作赋予哪个实体。
例如:人 扇 扇子
class 人{
void method(扇子 a)
a.(扇子)
}
class 扇子{
void 扇()
}
对于开发者:在面向对象中,开发者其实就是在不断的使用对象,创建对象调用对象的行为来完成具体的操作。
对于设计者:我们在涉及阶段,就是分析出各个对象,将行为赋予各个对象,来维护对象之间的关系。
在分析阶段,有一种比较简单的分析方法就名次分析法
人开门---->人与门名词 开 动词
对象:人,门
动作:开
开是门的动作。
2.面向对象语言的优点:见ppt
3.面向对象的三个基本特征: 封装 继承 多态
什么是类,什么是对象。
类:
在描述任何一类事物时从两个方面入手:
1.外观,属性
2.具有的行为,动作
将这两个方面进行综合归纳就可以得到一类特定的事物,称之为类。
在java中定义类使用的是class关键字
class 类名{
成员属性------可以是java中的任意一种数据类型
成员方法------
}
我们在java中将类的属性,方法称之为类的成员。
对象:
类的一个具体化(实例化)的事物。类是对象的一个抽象。根据这个类产生的对象就具有这个类定义时所有的属性。
java中怎样根据类去创建对象?
根据类创建对象时,对象中只包含属性,而不包含方法。
因为每个对象它的属性都不同但是具有相同的行为。
格式:类名 对象名= new 类名();
我们可以这样理解当创建一个类时,相当于创建了一种类型,呢这个类型叫类类型,它也是一种引用类型。
例如 Person 类 是一个类类型
它下面的元素 Person的对象可以理解成Person类的值
使用属性:
格式: 引用.属性 . 是java中的一个操作符可以理解为"的"
同一个类的对象具有相同的属性,但其属性值可能不同。
调用类里面的方法:
格式: 类名.方法名;
如果在一个对象调用方法,在方法中有一个与成员变量相同的局部变量,那么在这个方法内使用这个变量时,
首先找到的是局部变量(它内部)
5.成员变量与局部变量
成员变量:定义在类中的
局部变量:定义在方法中的
1.应用范围:
成员变量在整个类内都有效
局部变量只在其声明的方法内有效
2.生命周期:
成员变量:它属于对象,它随着对象的创建而创建,随着对象的消失而消失
局部变量:
3. 存储的位置:
成员变量属于对象,它存储于堆中,堆内的实体,当没有引用指向它时,才垃圾回收
局部变量在站内,当不再使用,马上被释放。
4. 初始值:
成员变量,没有赋值,它有默认值
局部变量,如果要想使用,必须对它进行手动初始化。
|