Java笔记汇总.docx
- 文档编号:12188196
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:136
- 大小:920.46KB
Java笔记汇总.docx
《Java笔记汇总.docx》由会员分享,可在线阅读,更多相关《Java笔记汇总.docx(136页珍藏版)》请在冰豆网上搜索。
Java笔记汇总
2010.3.11.Java笔记
1、定义一个年份判定这个年是否是闰年:
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassnear{
publicstaticvoidmain(Stringargs[])throwsIOException{
intyear;
Stringstr;
BufferedReaderbuf;
buf=newBufferedReader(newInputStreamReader(System.in));
System.out.println("Inputtheyear:
");
str=buf.readLine();
year=Integer.parseInt(str);
if(year%4==0&&year%100!
=0||year%400==0)
System.out.println("year"+year+"isaleapyear.");
else
System.out.println("year"+year+"isnotaleapyear.");
}
}
2、求出1~100之间的奇数:
publicclassqishu{
publicstaticvoidmain(Stringargs[]){
inti,j;
for(i=1;i<=100;i++){
if(i%2!
=0){
System.out.print(i+"");
}
}
}
}
3、一段刚才长2000米每天截取一半多少天后长度短于5米
publicclassday{
publicstaticvoidmain(Stringargs[]){
inti,j=0;
for(i=2000;i>0;i--){
if(i/2<5)
j++;}
System.out.print(j+"");
}
}
4、求125的所有因子:
publicclassyinzi{
publicstaticvoidmain(Stringargs[]){
inti;
for(i=1;i<=125;i++){
if(125%i==0){
System.out.print(i+"");
}
}
}
}
5、同类型字符串转换int输出:
importjava.io.*;
publicclasszhuanhuan{
publicstaticvoidmain(Stringargs[])throwsIOException{
BufferedReaderbuf;
System.out.println("请输入:
");
buf=newBufferedReader(newInputStreamReader(System.in));
Stringstr=buf.readLine();
System.out.println("您输入的内容为:
"+str);
intnumber=Integer.parseInt(str);
number=number+2;
System.out.println("转换后为:
"+number);
}
}
2010.3.17.JAVA课程
一·输出结果:
inta[]={1,2,3,4};
intb[]={100,200,300,400,500};
b=a;
System.out.println(b.length);
System.out.println(b[0]);
0xaa,0xbb
现在b里变成0xaa
要找b.length求那个数组的长度找b0=1
变量放地址地址就是首地址就能找到了
结果为:
4
1
二·数组的声明与输出:
publicclassbb{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
inta[]={1,2,3,4,5};
for(inti=0;i System.out.print(a[i]+""); } } } 三·利用一维数组输出8行杨辉三角形: (P67) publicclassbb{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub inti; intyh[]=newint[8]; for(i=0;i<8;i++){ yh[i]=1; for(intj=i-1;j>0;j--) yh[j]=yh[j-1]+yh[j]; for(intj=0;j<=i;j++) System.out.print(yh[j]+"\t"); System.out.println(); } } } ***思考: 怎样将杨辉三角呈三角形输出*** 四·数组的复制(书P70) (1)格式: System.arraycopy(sArray(源数组),intsrcPos(源数组的位置),dArray(目的数组),intdestPos(目的数组的位置),intlength(数组的长度)) 说明: 该方法将指定源数组sArray中的length个元素复制到目标数组dArray中,复制从源数组sArray的指定位置 inta[]={1,2,3,4,5}; intb[]=newint[5]; System.arraycopy(a,0,b,0,a.length); for(inti=0;i ……(未完……) 五·数组的排序(书P68) 在java.util包中的Arrays类中,还提供了可以对各种数据类型(char/byte/int/long/float/double等)进行排序的sort()方法。 ***注意: 数组元素排序的sort()方法是对指定的数组按数字升序进行排序。 *** (1)格式: Arrays.sort(a) 2010年3月18日JAVA课程笔记 一·字符串的初始化: (书P71) 1•Strings1=newString("hello"); 2•Strings1="hello" 3•charch[]={'h','e','l','l','o'}; Strings1=newString(ch); 二·引用字符串常量对象: (书P71) Strings1,s2; s1="howareyou"; s2="howareyou"; 思考: 内存表示 【s1,s2,放置的内存地址完全相同】 表明s1与s2是同一个对象,同一对象具有相同内存地址。 三·创建字符串对象: (书P71) Strings3,s4,s5; s3=newString("howareyou"); s4=newString("howareyou"); s5=newString(s3); 思考: 内存表示 【new重新开辟一块内存所以三个里面的内容肯定不同、地址不同】 【s3,s4,s5放置的内存地址全部不同因为他们都是用new生成的】 表明s3,s4,s5不是同一个对象。 不同对象内存地址不同。 四·“==”与“equals”比较字符串的区别: (73) 对于字符串str1和str2 **str1==str2;比较两个字符串在内存中的地址是否相等(是否是同一个对象) **str1.equals(str2);是指两个字符串内同相等 “==”表示同一对象时,为true “equals”表示内容相同时,为true 五·“+” publicclassStrDemo{ publicstaticvoidmain(Stringargs[]){ Stringstr1="Jack",str2="Brown"; Stringname= ……(未完) Name=JackBrown HelloJack3.14156262 5.1415926Hello 判断下列运行: 1、Strings1="abc"+"def"; 2、Strings2=newString(s1); 3、if(s1==s2) 4、System.out.println("==succeeded"); 5、if(s1.equals(s2)) 6、System.out.println(".equals()succeeded"); 行6执行,行4不执行 ***思考: 怎样调整*** 13: 362010-3-23——JAVA课程笔记 第四章·Java的面向对象程序设计 一·什么是对象(P89) 1、对象具有的特性: (1)万物皆为对象 (2)每个对象都是唯一的(每个对象分配的内存地址不同) (3)对象具有属性和行为 (4)对象具有状态,某个瞬间对象的各个属性的取值。 2、EG: 张三01号21岁上课吃饭睡觉 属性: 姓名学号年龄 动作: 上课吃饭睡觉 行为是某一个属性瞬间的状态 3、EG: 当在同一文件里时,只把文件名与公共类名(Test8)保持一致: classStudent{ Stringname; intage; intnumber; voidstudy(){ System.out.println("我来511上课"); } voideat(){ System.out.println("中午吃的包子"); } voidsleep(){} } publicclassTest8{ publicstaticvoidmain(Stringargs[]){ Studentzhangsan=newStudent(); zhangsan.study(); zhangsan.eat(); Studentlisi=newStudent(); lisi.eat(); } } 二·什么是类: (P89) 类是一组具有相同属性和行为的对象的集合 4·1·2类和对象的关系: 1、区别 *类是一个抽象的概念,对象是具体的事物 【类是一个模板一个规则;对象是模板创造出来真实的东西】 2、联系 *对象都属于某一个类 *同一个类的所有对象具有相同属性,属性值不一定相同,但行为都相同。 【行为由代码体现的】 4·2类的创建(P90) 1、类的声明格式 class类名称{ 类主题 } 2、类的语法格式 class类名{【类名尽量大写】 变量类型变量名 返回类型方法名(参数){方法体}【对行为的描述】 } 3、EG: 学生类的创建 publicclassstudent{ Stringname; intage; intnumber; voidstudy(){ System.out.println()}; voideat(){}; voidsleep(){}; } 【类建立完了要进行对象的扩充,当有数据传输时才有对象的输出】 4·3·1对象的创建(P93) 1、语法格式 类名对象名=new类名(); 2、EG: studentzhangsan=newstudent(); 【Stringname是定义字符串的东西】 六·面向对象程序设计的核心技术 面向对象程序设计的核心技术是: 封装(P98)、继承(P103)和多态性(P110) 4·4封装: 封装是把对象的属性和行为组合成为一个独立的单位或部件,并尽可能隐蔽对象的内部细节,而只保留必要的对外接口,使之与外部发生联系。 4·5继承: classCar{ intcolor_number; intdoor_number; intspeed; brake(){...}; speedUp(){...}; } classTrash_Car sxtendsCar { Fill_trash(){…} } 4·6多态性: 同一个消息可以根据发送消息对象的不同产生多种不同的行为方式。 【猫和狗都会叫但声音不同这就是多态性】 七·类的声明 4·2·1类的声明格式 Class类名称{ 类主体 } •类首声明定义了类的名字、访问权限与其它类的关系等。 •类主体定义了类的成员,包括变量(数据)和函数(方法) 1、类首的声明: [<修饰符>]class<类名>[extends<超类名>][implements<接口名>]【<>的内容可省】 •class: 类定义的关键字; •extends: 表示类和另外一些类(超类)的继承关系; •implements: 表示类实现了某些接口; •修饰符: 表示类访问权限(public、private等)和一些其它特性(abstract、final等); EG: publicclassData 声明Date1类,访问权限为Public,表示类Date1可以被该类所属的包之外的类使用。 2类主体 <类首声明> { <成员变量的声明> <成员方法的声明及实现> } •成员变量即类的数据,反映了类的属性和状态。 •成员方法即类的行为(对数据的操作) 4·2·2成员变量 [<修饰符>][static][final][transient]<变量类型><变量名> ●static: 表示是一个类变量(静态变量); ●final: 表示是一个常量; ●transient: 表示一个临时变量 ●修饰符: 表示变量的访问权限(缺省访问、public、protected和private) 4·2·3成员方法: [<修饰符>]<返回类型><方法名>([<参数表列>])[throws<异常类>] {方法体} ●修饰符: 方法的访问权限(缺省的、public、protected和private) ●static: 类方法(静态方法); ●abstract: 抽象方法(无方法体的方法); ●final: 最终方法(不能被子类改变)。 ●throws: 表示抛出异常 定义一个梯形类其中定义4个double类型变量上底下底高梯形面积用一个方法求面积 publicclasssj{ doubleup; doubledown; doubleheight; doublearea; doubletarea(){ area=(up+down)*height/2; returnarea; } } 2010.3.25Java笔记(把几天的合在一起了、有点乱~) 4.2.4成员变量和局部变量区别 ●成员变量: 变量定义部分所定义的变量。 ●局部变量: 在方法体中定义的变量和方法的参数。 区别: 1.成员变量在整个类内都有效,局部变量只在定义它的方法内有效。 成员变量与他书写的位置无关 2.如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效.这时如果想在该方法内使用成员变量,必须使用关键字this。 4.3.1创建对象 ●第一种形式: (1)声明对象 <类名><对象名> 作用: 声明一个引用变量,仅仅是预定变量的存储空间,并没有对象实体生成,此时的对象被称作空对象。 (2)实例化对象(new) <对象名>=new<类名>() 作用: 在内存中为此对象分配内存空间,并返回对象的引用(即对象的存储地址)。 <对象名>=new<类名>() 系统做的两件事: 1.为各个成员变量分配内存,然后执行构造方法中的语句。 如果成员变量在声明时没有指定初值,所使用的构造方法也没有为成员变量进行初始化操作,那么,根据变量的类型给出默认值。 2.给出一个信息,确保这些变量是属于该对象的。 返回一个号码,这个号码包含着代表这些成员变量内存位置的首地址等重要的有关信息给该对象。 ●第二种形式: 声明对象的同时,将它实例化 <类名><对象名>=new<类名>() 实例化就是为对象分配存储空间,并同时对对象进行初始化。 这些工作分别用new运算符和类的构造方法来完成。 ●创建多个不同的对象 一个类通过new运算符可以创建多个不同的对象,这些对象将被分配不同的内存空间。 因此,改变一个对象的状态不会影响其他对象的状态。 Student张三=newStudent(); Student李四=newStudent(); 4.3.3对象的使用 引用成员变量或成员方法时要用“.”运算符 •成员变量的引用格式: <对象名>.<变量名> •成员方法的调用格式: <对象名>.<方法名([参数])> 4.3.2构造方法和对象的初始化 Ø构造方法是一种特殊的方法,类的构造方法可以使我们在创建对象时进行初始化(对成员变量赋初值)。 Ø当用new创建一个类的新的对象时,构造方法就立即执行。 Ø如果不想进行初始化,就调用类的默认构造方法。 1.默认的构造方法 类名(){} Student(){} 2.如何创建构造方法 Ø构造方法名字必须与类名相同。 Ø构造方法没有返回值(在构造方法名字前 连void也不要加) 注意: 除了构造方法,在类中不能出现与类名相同的方法。 3、无参数的构造函数 如果有自己创建的构造函数,而创建某些对象时又不想进行初始化,一定要在类中创建无参数的构造函数,因为此时已没有缺省的构造函数了。 4.3.4对象的销毁 对象销毁的方法 <修饰符>voidfinalize(){方法体} finalize方法没有参数,没有返回值,且一个类只能定义一个finalize方法。 注意: 该方法的运行发生在对象销毁之前。 2010.3.30.Java笔记 classStudent{ Stringname; intage; intnumber; Student(Stringx,inty,intz){ name=x; age=y; number=z; } voidstudy(Stringcourse){ System.out.println("我在学习"+course); } voideat(){} voidsleep(){} } publicclassStudentTest{ publicstaticvoidmain(Stringarge[]){ Studentzhangsan=newStudent("zhangsan",23,5); System.out.println(zhangsan.name+""+zhangsan.age+""+zhangsan.number+""); zhangsan.study("yingyu"); } } 运行结果: zhangsan235 我在学习yingyu EG: 设计一个长方形类,成员变量包括长和宽。 类中有计算面积和周长的方法;有构造函数,为长方形的长和宽赋值。 、 定义一个测试类,并输出长方形的周长和面积。 【K】 classZCMJ{ doublechang; doublekuan; Stringzhouchang; Stringmianji; ZCMJ(intx,inty){ chang=x; kuan=y; } doublearea(){ returnchang*kuan; } doublezc(){ return2*(chang+kuan); } } publicclassa{ publicstaticvoidmain(Stringarge[]){ ZCMJa=newZCMJ(5,6); System.out.println("zhouchang="+a.area()); System.out.println("zhouchang="+a.zc()); } } 运行结果: zhouchang=30.0 zhouchang=22.0 【作业】设计一个圆类,成员变量包括半径r。 类中有计算面积的方法;有构造函数,为圆的半径赋值。 定义一个测试类,并输出圆的面积。 【K】 abstractclassShape{ abstractprotecteddoubleArea(); } classcircleextendsShape{ doubleradius; circle(doubler){ radius=r; } publicdoubleArea(){ returnMath.PI*radius*radius; } } publicclassCircle_Test{ publicstaticvoidmain(Stringargs[]){ circlec1=newcircle(3); System.out.println(c1.Area()); } } 2010.3.31Java笔记 4·4·3static修饰符(P100) ·在类中声明一个变量或方法时,还可以指定它为实例成员或类成员。 ·static修饰的成员叫做类成员,否则叫做实例成员。 1、实例变量 【没有static修饰的变量】 ·不同对象的同名实例变量占用不同的内存空间。 ·通过对象名来访问实例变量。 2、类变量 ·同一类中的所有对象的类变量共享一个存储空间,一个对象对类变量的操作,会影响到同一类的其他对象。 ·可以使用类名引用类变量,也可以使用对象名引用类变量。 publicclassMethTest{ staticintvar1=100; intvar2=200; publicstaticvoidmain(Stringarge[]){ MethTestobj1=newMethTest(); MethTestobj2=newMethTest(); obj1.var1++; System.out.println(obj1.var1); obj2.var1++; System.out.println(obj2.var1); MethTest.var1++; System.out.println
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 笔记 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)