网易云课堂java基础

网易云课堂java基础1 关于递归 一定要注意函数调用顺序 图 1 如上图 在执行 f n 1 f n 2 的过程中 先执行 f n 1 一直到 f n 1 有返回值才执行 f n 2 2 图 2 注意成员变量和局部变量的区别 关于成员变量见上图 但是在使用局部变量之前必须对之初始化 否则编译会报错 如果只是声明一个局部变量 而在以后的语句中不使用它的话就不会报错 3 类是静态 代码 的概念

大家好,我是讯享网,很高兴认识大家。



尚学堂 java 基础培训word课件 尚学堂java笔记_数组

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_02

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_03

7、
方法执行后,之前分配的空间(在栈中,因为方法中变量---局部变量,所占的空间都是栈空间)就立马消逝了。
8、
类的方法只是一段代码(所有的对象共享),只有在调用的时候才会在内存各个部分分配空间。
9、
非静态方法是针对每个对象进行调用
10、
堆内存中,成员变量也可以指向堆内存中的其他堆。如下图:o是引用类型
图4

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_04

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_05

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_06

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_07

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_08

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_09

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_10

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_11

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_12

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_13

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_14

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_15

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_16

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_17

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_18

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_19

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_20

图19、20

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_21

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_22

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_23

如果extends了抽象类后不想实现其中的抽象方法的话,可以把自己也声明成抽象类,自己的方法也是抽象方法,然后把实现交给自己的子类就行了。

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_24

public static void main(String[]a){
A a=new A();
a.i=9;
}

}

class A{
final int i=9;
}
编译报错,说明final的成员变量不 能被试图改变即使数值大小并没有改变。
例(2)
public class Test{

public static void main(String[] args){
A a=new A();
a.test(9);
}

}

class A{
final void test(final int i){
i=9;
}
}
编译报错:d:Test.java:12: 不能指定最终参数 i
i=9;
说明:形参(局部变量)被final声明后不能被改变!

29、
在c++中,允许多继承,但是继承的多个父类之间可能会有重名的属性,所以会出现错误。
在java中只能允许单继承,这就避免了这种错误,虽然可以实现多个接口,但是接口里的属性是static的,所有的实例共享的。
图25

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_25

图26、27、28

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_26

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_27

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_28

30、

接口可以继承接口,类继承类。
31、
图29

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_29

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_30

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_31

public static void main(String[] args){
A a=new A();
a.test(0);
}

}

class A{
void test( int i){
int j=4/i;
}
}

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_32

public static void main(String[] args){
A a=new A();
a.test(0);
}

}

class A{
void test( int i)throws Exception{
int j=4/i;
}
}
出错信息为:
图34

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_33

public static void main(String[] args){
A a=new A();
a.test(0);
}

}

class A{
void test( int i)throws RuntimeException{
int j=4/i;
}
}
出错信息为:
图35

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_34

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_35

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_36

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_37

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_38

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_39

36、
如果异常发生了,则后边的语句就不再执行了。
37、
图41

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_40

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_41

图43

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_42

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_43

39、
如果元素为引用数据类型的话,内存变化如下:
当执行Date[] days;后变化如下图:
图45

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_44

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_45

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_46

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_47

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_48

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_49

42、
数组排序一:选择排序,即每次把第i位后边(包括第i位)最小的数放到第i位上,如下:
图51

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_50

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_51

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_52

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_53

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_54

总结:冒泡和选择的巧计方法:冒泡是第二层循环体内数据的比较,选择是第一层数据和第二层数据的比较。

44、
数三退出问题:有500个人拉手围成一圈,从第1个人开始数数,如果数到3就退出,下个人继续从1开始数数,求最后剩下的人是谁?
图56

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_55

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_56

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_57

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_58

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_59

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_60

46、
二维数组
图62、63

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_61

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_62

public static void main(String[] args){
int a[][]=new int[3][];
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+",");

}
结果为:
图64

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_63

public static void main(String[] args){
int a[][]={{1},{22,3}};
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+",");

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_64

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_65

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_66

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_67

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_68

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_69

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_70

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_71

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_72

图74、75

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_73

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_74

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_75

55、
求字符串中大写字母、小写字母、非字母的个数
图77

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_76

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_77

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_78

56、
求字符串“java”在字符串中出现的次数
图80、81

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_79

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_80

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_81

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_82

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_83

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_84

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_85

58、
注意Integer.parseInt(s)和Integer.valueOf(s)的区别:前者返回int类型,后者Integer
即:后者的返回值=new Integer(Integer.parseInt(s))

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_86

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_87

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_88

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_89

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_90

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_91

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_92

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_93

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_94

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_95

注意:lastModified()方法返回值long类型的,因为计算机存的是从开始到现在的毫秒数。

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_96

注意:在linux里是“/”,但是在windows里“/”或者“\”都行!!为什么是“\”呢而不是“”呢,因为“\”是“”的转移字符!!

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_97

64、
枚举类型
图99     

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_98

65、
容器
图100

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_99

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_100

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_101

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_102

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_103

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_104

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_105

图107

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_106

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_107

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_108

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_109

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_110

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_111

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_112

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_113

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_114

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_115

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_116

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_117

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_118

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_119

图121 122

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_120

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_121

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_122

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_123

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_124

所以在使用集合的时候最好使用泛型!!!

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_125

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_126

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_127

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_128

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_129

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_130

注意:write(byte[] b)和read(byte[] b)比write(int b)和read(int b)性能高,write(byte[] b)与read(byte[] b)是每次都是操作一个数组级别的数,而不用每操作一个字节就和硬盘打交道一次。

77、
字节流有时候肯能会造成读一个汉字只读一一个字节即只读一个汉字的一半,所以可用用字符流。
图133 134 135 136

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_131

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_132

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_133

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_134

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_135

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_136

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_137

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_138

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_139

注意:系统只能自动建文件,不能自动建目录。

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_140

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_141

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_142

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_143

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_144

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_145

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_146

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_147

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_148

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_149

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_150

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_151

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_152

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_153

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_154

85、
线程
public class Thread extends Object implements Runnable:Runable接口只定义了run方法。
图157 158 159

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_155

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_156

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_157

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_158

最好使用接口:因为extends就写死了,因为只能单继承,就不能继承其他类了。

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_159

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_160

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_161

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_162

图165

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_163

图166

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_164

88、
正常的让线程结束应该如下图,而不是用interrupt和stop方法。
图167

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_165

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_166

尚学堂 java 基础培训word课件 尚学堂java笔记_尚学堂 java 基础培训word课件_167

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_168

90、
请模拟死锁:
图171 172

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_169

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_170

91、
一道面试题:下图,如果线程t锁住m1(里面有b),问另一个线程(main)是否能访问m2(里面有b)。
图173

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_171

尚学堂 java 基础培训word课件 尚学堂java笔记_数组_172

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_173

92、
生产者消费者问题
模拟如下:

图176 177 178 179

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_174

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_175

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_176

尚学堂 java 基础培训word课件 尚学堂java笔记_字符串_177

wait只能在synchronized的情况下使用。在线程阻塞时(即馒头吃完或者馒头生产的超过容量)使用wait。
notify和wait配套使用。如果是多个线程的话就必须用notifyAll了。
Object类中又一个wait(),在运行状态中,线程调用wait(),此时表示着线程将释放自己所有的锁标记,同时进入这个对象的等待队列。

等待队列的状态也是阻塞状态,只不过线程释放自己的锁标记。

Notify()

如果一个线程调用对象的notify(),就是通知对象等待队列的一个线程出列。进入锁池。如果使用notifyall()则通知等待队列中所有的线程出列。

一、sleep属于Thread类的方法,wait是Object的方法
二、在运行状态中,线程调用wait(),此时表示着线程将释放自己所有的锁标记,同时进入这个对象的等待队列。等待队列的状态也是阻塞状态,只不过线程释放自己的锁标记。
    而sleep是:
     sleep是线程被调用时,占着cpu去睡觉(但是占用索标记即占着对象),其他线程不能占用cpu(不能访问对象),os认为该线程正在工作,不会让出系统资源(对象),wait是进入等待池等待,让出系统资源(释放锁标记),其他线程可以占用cpu,一般wait不会加时间限制,因为如果wait的线程运行资源不够,再出来也没用,要等待其他线程调用notifyall方法唤醒等待池中的所有线程,才会在进入就绪序列等待os分配系统资源,

93、
网络编程不等于网站编程!!!
网络编程比如:,魔兽争霸等
网站编程:http html css等
图180

尚学堂 java 基础培训word课件 尚学堂java笔记_Test_178

小讯
上一篇 2024-12-29 15:49
下一篇 2024-12-28 23:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3175.html