java新手学习笔记.docx
- 文档编号:6668795
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:91
- 大小:784.02KB
java新手学习笔记.docx
《java新手学习笔记.docx》由会员分享,可在线阅读,更多相关《java新手学习笔记.docx(91页珍藏版)》请在冰豆网上搜索。
java新手学习笔记
JAVA新手学习笔记
目录
第2讲变量、数据类型2
第5讲类,对象2
第6讲成员属性、成员方法3
第8讲this,类变量3
第9讲类方法、类变量、封装4
1、类变量4
第10讲继承6
方法重载overload:
7
方法覆盖(重写)override7
第11讲约瑟夫问题7
第13讲抽象类,接口7
1、抽象类7
2、接口8
3、接口中的多态8
4、接口注意10
第14讲final10
第16讲数组10
第20讲二进制、位运算11
第21讲集合集合框架11
1、ArrayList11
第22讲集合212
1、员工信息管理系统12
2、LinkedList16
3、Vector16
4、Stack16
5、HashMap16
6、Hashtable17
7、区别18
8、总结18
第25讲泛型、异常18
1、泛型18
2、java反射机制19
3、泛型作用20
4、异常处理20
第27讲作业String22
第29讲swing介绍22
1、JFrame22
2、JButton23
第30讲布局管理器23
1、边界布局BorderLayout23
2、流式布局FlowLayout24
3、网格布局GridLayout25
4、开发GUI布局25
第31讲常用组件25
1、面板组件JPanel25
2、文本框、密码框、标签组件27
3、单选框、复选框29
4、下拉框、列表框、滚动窗格29
第32讲swing编程实战30
1、拆分窗格30
2、带滚动条的文本域、图标自定义31
3、选项卡窗格(页签组件)仿QQ登录界面32
4、菜单组件(记事本开发)36
第33讲绘图技术坦克大战139
1、java绘图坐标体系39
第35讲事件处理坦克大战340
1、事件处理机制40
2、键盘事件42
3、键盘与keycode对应关系43
第36讲事件监听43
1、鼠标点击事件43
2、鼠标移动拖拽事件45
3、窗口事件WindowListener45
第37讲事件总结45
第38讲线程45
1、线程使用45
第39讲线程247
1、线程调用方法:
47
2、利用线程绘制炮弹47
第40讲线程深入理解47
1、注意事项47
2、线程不同步48
3、线程同步49
第41讲坦克大战850
第42讲坦克大战950
1、绘制爆炸效果50
第43讲io编程52
1、文件流分类52
第44讲io编程252
1、文件操作52
2、创建文件53
3、创建文件夹53
4、读取文件夹下的所有文件53
5、文件的读取54
6、存储文件55
第45讲io编程356
1、文件字节流56
2、缓冲字符流57
第46讲io编程记事本开发58
第47-67讲数据库60
第68讲项目开发流程60
1、jude开发工具60
2、项目流程60
第69讲学生管理系统:
需求文档61
1、功能说明:
usecase图61
2、设计数据库61
3、设计界面62
4、代码62
(1)JTable62
(2)从数据库调入信息63
第70讲学生管理系统—JDialog66
第71讲模式概念73
第74讲满汉楼系统1项目分析74
第2讲变量、数据类型
publicclassdemo1
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("helloworld");
}
}
第5讲类,对象
publicclassdemo2
{
publicstaticvoidmain(Stringargs[])
{
Catcat1=newCat();
cat1.age=12;
cat1.name="xiaobai";
cat1.color="white";
System.out.println(cat1.age);
}
}
classCat
{
intage;
Stringname;
Stringcolor;
}
第6讲成员属性、成员方法
第8讲this,类变量
/*
@authot:
hujun
@function:
this的重要性
*/
publicclassdemo3
{
publicstaticvoidmain(Stringargs[])
{
Dogdog1=newDog(33,"小黄");
Peoplep1=newPeople(24,"大黄",dog1);
p1.mydog();
}
}
classPeople
{
intage;
Stringname;
Dogdog;
publicPeople(intage,Stringname,Dogdog)
{
this.age=age;
this.name=name;
this.dog=dog;
}
publicvoidmydog()
{
System.out.println(this.dog.name);
}
}
classDog
{
intage;
Stringname;
publicDog(intage,Stringname)
{
this.age=age;
this.name=name;
}
}
类变量:
static
staticinttotal=0;
total在所有实例化的对象中都是同样的,任何对象都可以改变total。
classPeople
{
intage;
Stringname;
Dogdog;
staticinttotal=0;
publicPeople(intage,Stringname,Dogdog)
{
this.age=age;
this.name=name;
this.dog=dog;
total++;
}
}
第9讲类方法、类变量、封装
1、类变量
类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是同一个值。
修改也是修改了同一个值。
[访问修饰符]static数据类型变量名;
publicclassdemo4
{
staticinti=0;
static//静态局部块
{
System.out.println('a');
i++;
}
publicvoidtalk()
{
i++;
System.out.println('b');
System.out.println(i);
}
publicstaticvoidmain(Stringargs[])
{
demo4d1=newdemo4();
d1.talk();
demo4d2=newdemo4();
d2.talk();
}
}
第10讲继承
父类的哪些东西可以被子类继承?
父类只有private方法和属性不能被继承。
classPeople
{
intage;
Stringname;
Stringaddress;
publicPeople(intage,Stringname,Stringaddress)
{
this.age=age;
this.name=name;
this.address=address;
}
}
classStudentextendsPeople
{
intgrade;
publicStudent(intage,Stringname,Stringaddress,intgrade){
super(age,name,address);
this.grade=grade;
}
}
方法重载overload:
同一个名字的类,不同的形参;
方法参数类型,个数,顺序至少有一个不同;
如果只是返回类型不一样,不能构成重载;
方法覆盖(重写)override
子类方法不能缩小父类的访问权限。
第11讲约瑟夫问题
多态:
就是指一个引用在不同情况下的多种状态。
多态是通过指向父类的指针,来调用在不同子类中实现的方法。
java允许父类的引用变量引用它的子类的实例(对象)。
Animalanimal=newCat();
第13讲抽象类,接口
1、抽象类
当父类的一些方法不能确定时,可以用abstract来修饰该方法;
用abstract修饰方法的类也需要用abstract修饰,称为抽象类。
abstractclassAnimal
{
intage;
abstractpublicvoidcry();
}
classCatextendsAnimal
{
//必须实现abstract方法
publicvoidcry(){
//TODOAuto-generatedmethodstub
}
}
注意:
(1)抽象类不能实例化;
(2)抽象类不一定包含abstract方法;
(3)一旦包含abstract方法,该类必须是abstract类;
(4)抽象方法不能有主体。
2、接口
接口interface,被implements时必须实现interface中的所有方法。
interfaceUSB{
publicvoidstart();
publicvoidstop();
}
classCameraimplementsUSB
{
publicvoidstart(){
}
publicvoidstop(){
}
}
3、接口中的多态
publicclasstest_implement{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Computercomputer=newComputer();
Cameracamera=newCamera();
Phonephone=newPhone();
computer.start(phone);
computer.start(camera);
computer.stop(camera);
computer.stop(phone);
}
}
interfaceUSB{
publicvoidstart();
publicvoidstop();
}
classCameraimplementsUSB
{
publicvoidstart(){
System.out.println("相机插入!
");
}
publicvoidstop(){
System.out.println("相机拔出!
");
}
}
classPhoneimplementsUSB
{
publicvoidstart(){
System.out.println("手机插入!
");
}
publicvoidstop(){
System.out.println("手机拔出!
");
}
}
classComputer
{
publicvoidstart(USBusb)
{
usb.start();
}
publicvoidstop(USBusb)
{
usb.stop();
}
}
4、接口注意
(1)接口中所有方法都不能有主体;
(2)接口中可以有变量,但本质上都是static的;而且是final类型的。
不能是protected或private的。
(3)把常用的变量放在接口中,作为全局变量使用;USB.a
(4)接口不能extends类,但是可以extends其他接口;
第14讲final
父类中的方法不希望被子类中方法覆盖,则在父类中方法用final修饰;
当不希望变量被修改,用final修饰该变量;如果某变量时final类型的,必须赋初值;
当不希望类被其他类继承,用final修饰该类;
第16讲数组
第20讲二进制、位运算
第21讲集合集合框架
1、ArrayList
(1)创建
//定义ArrayList对象
ArrayListarray=newArrayList();
//array未加入时大小为0
System.out.println(array.size());
(2)添加
//向array中加入数据(类型为Object)
Clerkclerk1=newClerk(50,"宋江","Beijing");
Clerkclerk2=newClerk(50,"吴用","Beijing");
//将clerk1加入array中
array.add(clerk1);
array.add(clerk2);
(3)读取
//如何访问array中的对象
//访问第一个对象
Clerktemp=(Clerk)array.get(0);
System.out.println(temp.name);
//访问第2个对象
Clerktemp2=(Clerk)array.get
(1);
System.out.println(temp2.name);
//遍历array中所有的对象
for(inti=0;i Clerktempi=(Clerk)array.get(i); System.out.println(tempi.name); } (4)删除 //从array中删除一个对象 array.remove(0); 第22讲集合2 1、员工信息管理系统 新知识点: 退出系统System.exit(0); importjava.util.*; publicclassdemo2{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //Employeeemp1=newEmployee("hujun1","001",1000); //Employeeemp2=newEmployee("hujun2","002",1000); //Employeeemp3=newEmployee("hujun3","003",1000); //Employeeemp4=newEmployee("hujun4","004",1000); //EmpManagemanage=newEmpManage(); //manage.addEmp(emp1); //manage.addEmp(emp2); //manage.addEmp(emp3); //manage.addEmp(emp4); //manage.showInf("00"); //manage.updateSal("002",3000); //manage.showInf("002"); //booleanflag=true; System.out.println("=========雇员管理系统========="); while(true){ System.out.println("请输入指令: "); System.out.println("1.增加一个员工"); System.out.println("2.删除一个员工"); System.out.println("3.查找一个员工"); System.out.println("4.改变一个员工工资"); System.out.println("5.输出所有员工信息"); System.out.println("6.退出管理系统"); intchoose; choose=EasyScanner.nextInt(); switch(choose){ case1: EmpManage.addEmp(); break; case2: System.out.println("请输入需要删除员工号: "); Stringnumber=EasyScanner.nextString(); EmpManage.removeEmp(number); break; case3: System.out.println("请输入需要删除员工号: "); Stringnumber2=EasyScanner.nextString(); EmpManage.showInf(number2); break; case4: EmpManage.addEmp(); break; case5: EmpManage.showAll(); break; case6: System.out.println("退出系统"); System.exit(0); //flag=false; default: break; } } } } /** *@authorHujun * */ classEmpManage{ privatestaticArrayListal=newArrayList(); //publicEmpManage(){ //al=newArrayList(); //} publicstaticvoidaddEmp(){ Employeee=newEmployee(); System.out.println("请输入员工名字: "); e.setName(EasyScanner.nextString()); System.out.println("请输入员工工号: "); e.setNumber(EasyScanner.nextString()); System.out.println("请输入员工工资: "); e.setSal(EasyScanner.nextFloat()); al.add(e); } publicstaticEmployeefindEmp(Stringnumber){ for(inti=0;i Employeetemp=(Employee)al.get(i); if(number.equals(temp.getNumber())) returntemp; } returnnull; } publicstaticvoidshowInf(Stringnumber){ Employeetemp=null; temp=findEmp(number); if(temp==null) System.out.println("查无此人! "); else System.out.println(temp.getName()+","+temp.getNumber()+"," +temp.getSal()); } publicstaticvoidupdateSal(Stringnumber,floatsal){ Employeetemp=null; temp=findEmp(number); if(temp==null) System.out.println("查无此人! "); else{ temp.setSal(sal); } } publicstaticvoidremoveEmp(Stringnumber) { Employeetemp=null; temp=findEmp(number); if(temp==null) System.out.println("查无此人! "); else{ al.remove(temp); } } publicstaticvoidshowAll() { for(inti=0;i Employeetemp=(Employee)al.get(i); System.out.println(temp.getName()+","+temp.getNumber()+"," +temp.getSal()); } } } classEmployee{ Stringname; Stringnumber; floatsal; publicEmployee(Stringname,Stringnumber,floatsal){ super(); this.name=name; this.number=number; this.sal=sal; } publicEmployee(){ //TODOAuto-generatedconstructorstub } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetNumber(){ returnnumber; } p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 新手 学习 笔记