初级学习总结演示文稿_第1页
初级学习总结演示文稿_第2页
初级学习总结演示文稿_第3页
初级学习总结演示文稿_第4页
初级学习总结演示文稿_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

初级学习总结演示文稿本文档共75页;当前第1页;编辑于星期一\11点34分基础知识流程控制数组与字符串面向对象程序设计类库异常处理本文档共75页;当前第2页;编辑于星期一\11点34分标识符的命名规则:必须以字母、下划线(_)或美元符号开头,后面可以是字母、下划线、美元符号、数字(0~9)。一、基础知识本文档共75页;当前第3页;编辑于星期一\11点34分类名(接口名)—

名词第一字母大写,每一单词首字母大写。例:AccountBook方法名—

动词第一字母小写,每一单词首字母大写。例:balanceAccount()变量名—

名词第一字母小写,每一单词首字母大写。常量名全部大写,单词间用下划线分开.

例:HEAD_COUNTJava标识符要区分大小写一、基础知识本文档共75页;当前第4页;编辑于星期一\11点34分Java数据类型基本数据类型引用数据类型实数字符型单精度型整型双精度型字节型短整型类接口数组枚举泛型长整型布尔型整数本文档共75页;当前第5页;编辑于星期一\11点34分整数类型说明名称字节长度数的范围字节型byte8-27~27-1(-128~127)短整型short16-215~215-1(-32768~32767)整型int32-231~231-1(-2147483648~2147483647)长整型long64-263~263-1一、基础知识本文档共75页;当前第6页;编辑于星期一\11点34分实数类型名称字节长度数的范围单精度float32-3.4×1038~3.4E38(精度为7位有效数字)双精度double64-1.7E308~1.7E308(精度为17位有效数字)一、基础知识本文档共75页;当前第7页;编辑于星期一\11点34分Java运算符算术运算符+,-,*,/,%取余,++,--,-取反关系运算符>,<,>=,<=,!=,==逻辑运算符&与,|或,!非,&&简洁与,||简洁或三目条件运算表达式1?表达式2:表达式3赋值运算符=,+=,-=本文档共75页;当前第8页;编辑于星期一\11点34分数据输入importjava.io.*;publicclassUseArithmetic{ publicstaticvoidmain(String[]args)throwsIOException { inta; Strings; BufferedReaderr=newBufferedReader(newInputStreamReader(System.in)); s=r.readLine();a=Integer.parseInt(s);//将该字符串转换为整型

。。。。。。。。。

}}a=Integer.parseInt(s);b=Float.parseFloat(s);c=Double.parseDouble(s);d=Boolean.parseBoolean(s);本文档共75页;当前第9页;编辑于星期一\11点34分关系运算符运算符名称例结果<小于1<3true<=小于等于1<=3true>大于1>2false>=大于等于1>=2false==等于1==2false!=不等于1!=2true本文档共75页;当前第10页;编辑于星期一\11点34分错误分析:if(w=0)system.out.println(nocost!);if(0<w<5)cost=10if(w==0)System.out.println(”nocost!”);if(0<w&&w<5)cost=10;本文档共75页;当前第11页;编辑于星期一\11点34分逻辑运算符运算符名称举例描述!逻辑非!x对x进行取反运算。例如,若x为true,结果为false&&逻辑与x&&y若x和y都为true,结果才为true||逻辑或x||y若x和y都为false,结果才为false本文档共75页;当前第12页;编辑于星期一\11点34分if(条件表达式){语句块1}else{语句块2}if-else语句流程图条件语句块1truefalse语句块2二、流程控制本文档共75页;当前第13页;编辑于星期一\11点34分练习:分析程序运行结果。publicclasss1{ publicstaticvoidmain(String[]args) {intx=1;switch(x){case0:System.out.println("first");break;case1:System.out.println("second");case2:System.out.println("third");break;}}}本文档共75页;当前第14页;编辑于星期一\11点34分练习:分析程序运行结果。publicclasss1{ publicstaticvoidmain(String[]args) {intx=5;switch(x){default:System.out.println("default");break;case1:System.out.println("second");break;case2:System.out.println("third");break;}}}本文档共75页;当前第15页;编辑于星期一\11点34分纠错分析题publicclassMonthSwitch{ publicstaticvoidmain(Stringargs[])throwsIOException { Strings;

BufferedReaderr=newBufferedReader(newInputStreamReader(System.in));(enteraninteger:);s=r.readline();x=Integer.parseInteger(s);

if(1<x<12);{ System.out.println("请重新输入(1~12):")

}本文档共75页;当前第16页;编辑于星期一\11点34分

switch(x){case’2’:System.out.println("28天"); case’1,3,5,7,8,10,12’: System.out.println(“31天");case’4’:case’6’:case’9’:case’11’:System.out.println(“31天"); }}纠错分析题本文档共75页;当前第17页;编辑于星期一\11点34分importjava.io.*;publicclassMonthSwitch{ publicstaticvoidmain(Stringargs[])throwsIOException {intx; Strings;

BufferedReaderr=newBufferedReader(newInputStreamReader(System.in));(”enteraninteger:”);s=r.readLine();x=Integer.parseInt(s);

if(x<1&&x>12){ System.out.println("请重新输入(1~12):");s=r.readLine();x=Integer.parseInt(s); }纠错分析题本文档共75页;当前第18页;编辑于星期一\11点34分

switch(x){ case2:System.out.println("28天");break; case1: case3:case5: case7: case8: case10:case12:System.out.println("31天");break;case4:case6:case9:case11:System.out.println("31天");break;}}}纠错分析题本文档共75页;当前第19页;编辑于星期一\11点34分for(循环变量初始化;循环条件;循环变量增量){循环体;}for语句流程图循环体语句循环变量增量循环变量初始化循环条件truefalsefor语句本文档共75页;当前第20页;编辑于星期一\11点34分计算:12+22+32+42+…1002publicclassTest{publicstaticvoidmain(String[]args)

{int

result=0; for(intk=1;k<=100;k++)

result+=k*k;System.out.println("计算结果为:"+result);}}

求和本文档共75页;当前第21页;编辑于星期一\11点34分练习:判断用户输入的数是否为素数。用staticbooleanisPrime(intn)实现求解素数。

素数是只能被1和其本身整除的整数。对于一个整数n,如果从2到n-1之间的任何一个整数都不能整除n,则n为素数。事实上,仅需要从2到(含)之间的任何一个整数都不能整除n,则可以判定n是素数。该算法可以显著减少执行循环的次数。素数本文档共75页;当前第22页;编辑于星期一\11点34分importjava.io.*;publicclassForTest{ publicstaticvoidmain(String[]args)throwsIOException{ inta; Strings; BufferedReaderr=newBufferedReader(newInputStreamReader(System.in)); System.out.println("enteraninteger:"); s=r.readLine();//输入并读取一个整数 a=Integer.parseInt(s); if(isPrime(a)){System.out.println(a+"isaprimenumber.");} else{System.out.println(a+"isnotaprimenubmer.");} }

staticbooleanisPrime(intn){ for(inti=2;i<=Math.sqrt(n);i++) { if(n%i==0){returnfalse;} } returntrue; }}本文档共75页;当前第23页;编辑于星期一\11点34分while语句while(循环条件表达式){

循环体}while语句流程图表达式语句falsetrue本文档共75页;当前第24页;编辑于星期一\11点34分分析程序运行结果:publicclassWhileLx{ publicstaticvoidmain(String[]args){inti=2,result=0;while(i<5) { result=result+3; System.out.printf(result+””);i=i++;}}}本文档共75页;当前第25页;编辑于星期一\11点34分do-while循环do{

循环体}while(表达式);do-while语句流程图表达式语句falsetrue本文档共75页;当前第26页;编辑于星期一\11点34分importjava.util.Scanner;publicclasslx{ publicstaticvoidmain(String[]args) { inta[]=newint[9]; Scannersc=newScanner(System.in); inti=0; do { a[i]=sc.nextInt(); if(a[i]<0) {System.out.println("PleaseInputagain."); continue; } elsei++; }while(i<9); intn=0; for(intj=0;j<9;j++) { System.out.printf("%5d",a[j]);n++; if(n%3==0)System.out.println(); } }}本文档共75页;当前第27页;编辑于星期一\11点34分本文档共75页;当前第28页;编辑于星期一\11点34分重新输入数据for(i=0;i<9;i++){ a[i]=sc.nextInt(); while(a[i]<0) {System.out.println("PleaseInputagain."); a[i]=sc.nextInt(); }} importjava.util.Scanner;publicclasslx{ publicstaticvoidmain(String[]args) { inta[]=newint[9]; Scannersc=newScanner(System.in);

intn=0; for(intj=0;j<9;j++) { System.out.printf("%5d",a[j]);n++; if(n%3==0)System.out.println(); } }}本文档共75页;当前第29页;编辑于星期一\11点34分循环的嵌套例:分析下面程序的运行结果.publicclassForDemo1{ publicstaticvoidmain(String[]args) { inti,j,k=0; for(i=1;i<=3;i++)

for(j=1;j<=2;j++) k=k+1; System.out.println(k); }}分析:i=1,j=1k=0+1=1i=1,j=2k=1+1=2i=2,j=1k=2+1=3i=2,j=2k=3+1=4i=3,j=1k=4+1=5i=3,j=2k=5+1=6本文档共75页;当前第30页;编辑于星期一\11点34分break,continue语句例:输出1-10之间所有不能被3整除的数。publicclassContinueTest{ publicstaticvoidmain(String[]args){inti;System.out.println(”1-10之间不能被3整除的数:”);for(inti=1;i<=10;i++) {if(i%3==0)continue; System.out.printf(i+””);}}}本文档共75页;当前第31页;编辑于星期一\11点34分分析结果:publicclassF{ publicstaticvoidmain(String[]args){intsum=0,i;for(i=1;i<=1000;i++) {sum=sum+i;System.out.print("i="+i);if(sum>8)break; }System.out.println();System.out.println("sum="+sum);}}本文档共75页;当前第32页;编辑于星期一\11点34分例:打印所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153=13+53+33。数字问题本文档共75页;当前第33页;编辑于星期一\11点34分方法一:

publicclassSxh1{ publicstaticvoidmain(String[]args) { inti,j,k,n; for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10;/*或j=n/10%10*/ k=n%10; if(n==i*i*i+j*j*j+k*k*k) System.out.printf("%d\t",n); } }}本文档共75页;当前第34页;编辑于星期一\11点34分方法二:

publicclassSxh2{ publicstaticvoidmain(String[]args) { inti,j,k,m,n; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) { m=i*100+j*10+k; n=i*i*i+j*j*j+k*k*k; if(m==n)

System.out.printf("%d\t",n); } }}本文档共75页;当前第35页;编辑于星期一\11点34分三、数组、字符串一维数组int[]a=newint[10];for(inti=0;i<10;i++)a[i]=i;int[]intArray={1,2,3,4};StringstringArray[]={"abc","How","you"};本文档共75页;当前第36页;编辑于星期一\11点34分多维数组二维数组int[][]intArray=newint[3][4];int[][]numbers={{2,0,0,8},{0,8,0,8}};0列1列2列3列0行A[0][0]A[0][1]A[0][2]A[0][3]1行A[1][0]A[1][1]A[1][2]A[1][3]2行A[2][0]A[2][1]A[2][2]A[2][3]本文档共75页;当前第37页;编辑于星期一\11点34分例:从键盘上输入10个学生Java考试的成绩,求其平均分、最低分、并从高分到低分排序。importjava.util.Scanner;publicclassScore{ publicstaticvoidmain(String[]args) { finalintN=10;inti,score[]=newint[N]; intminscore,min,t,sum=0,avg;Scannersc=newScanner(System.in);for(i=0;i<N;i++){ System.out.println("输入第"+i+“个学生成绩:"); score[i]=sc.nextInt(); sum=sum+score[i]; }本文档共75页;当前第38页;编辑于星期一\11点34分

minscore=score[0];avg=sum/N; for(intindex=0;index<score.length;index++) if(score[index]<min) minscore=score[index];System.out.println("minscore="+minscore+"\navgscore="+avg);for(i=0;i<score.length;i++) { min=i;for(intj=i+1;j<score.length;j++)if(score[min]>score[j])min=j;t=score[i];score[i]=score[min];score[min]=t; } System.out.println("排序之后的学生成绩为:"); for(intj=0;j<score.length;j++) System.out.printf(score[j]+"");}}本文档共75页;当前第39页;编辑于星期一\11点34分四、面向对象程序设计

类的声明方法的声明方法的重载继承多态类的静态属性与方法抽象类与抽象方法最终类与最终方法包及访问权限控制接口本文档共75页;当前第40页;编辑于星期一\11点34分访问修饰符访问权限存取修饰符类包中所有的类包外子类所有类private√friendly(默认)√√protected√√√public√√√√本文档共75页;当前第41页;编辑于星期一\11点34分例:importjava.io.*;publicclassTest{publicstaticvoidmain(String[]args){Employeeemp=newEmployee();="张立";emp.age=21;emp.salary=528.37F;emp.print();}//main}//TestclassEmployee{Stringname;intage;floatsalary;voidprint(){System.out.println(name+"年龄为:"+age+"月薪为:"+salary);}//print()方法}//Employee本文档共75页;当前第42页;编辑于星期一\11点34分例:类方法举例,1~10000中的完全数。如果一个自然数的所有真因子(即除了自身以外的约数)的和恰好是它本身,则这个数称为完全数。例如28=1+2+4+7+14

publicclassPerfectTest{ publicstaticvoidmain(String[]args){ intcount=0;for(inti=1;i<10000;i++){ if(PerfectNumber.isPerfect(i))//调用类的方法,判断完全数{ System.out.print(i+"\t"); count++; if(count%5==0) System.out.println();//换行 } } }}本文档共75页;当前第43页;编辑于星期一\11点34分classPerfectNumber{ staticbooleanisPerfect(intn){ intx=0;//方法的内部变量 for(inti=1;i<=n/2;i++){ if(n%i==0){ x+=i; } } if(x==n) returntrue; else returnfalse; }}静态方法、值传递本文档共75页;当前第44页;编辑于星期一\11点34分方法的参数列表例:参数名和成员变量名相同的情况。publicclassCylinder{ doublePI=3.1415927; doubleradius; doubleheight; publicCylinder(doubleradius,doubleheight){ this.radius=radius; this.height=height; }}本文档共75页;当前第45页;编辑于星期一\11点34分方法的参数传递值传递引用类型(对象类型)参数例引用类型参数传递(数组作为参数)本文档共75页;当前第46页;编辑于星期一\11点34分分析结果:classStudent{Stringname;intage;Student(Stringt,intp) {name=t;age=p;}voidshow(){System.out.println(name);System.out.println(age);}}publicclassC{publicstaticvoidmain(String[]args){Studentb=newStudent("ABC",12);b.age=19;b.show();}}本文档共75页;当前第47页;编辑于星期一\11点34分例:方法重载例classOver{voidm1(inti){System.out.println("m1(int):"+i);}voidm1(floatf){System.out.println("m1(float):"+f);}voidm1(doubled){System.out.println("m1(double):"+d);}voidm1(inti,floatf){System.out.println("m1(int,float):"+i+""+f);}voidm1(floatf,inti){System.out.println("m1(float,int):"+f+""+i);}}注意:方法名全相同方法的重载本文档共75页;当前第48页;编辑于星期一\11点34分方法重载例publicclassTest{publicstaticvoidmain(String[]args){Overo=newOver();o.m1(3);o.m1(3.14F);o.m1(3.14);o.m1(3,3.14F);o.m1(3.14F,3);}}本文档共75页;当前第49页;编辑于星期一\11点34分类的组合与嵌套类的组合(在一个类中将另一个类的对象作为自己的属性)嵌套类classA{ staticinti=10; staticclassB { publicB() {System.out.println("static内部类访问外部类数据:"+i); } }}publicclassTest{ publicstaticvoidmain(String[]args) { A.Bab=newA.B(); //生成内部类B的对象

}}本文档共75页;当前第50页;编辑于星期一\11点34分多态多态性是指同名的不同方法在程序中共存多态实现的两种形式:覆盖实现多态性重载实现多态性静态变量的作用:(1)能被类的所有实例共享,可以作为实例之间进行交流的共享数据(2)如果类的所有实例都包含一个相同的常量属性,把这个属性定义为静态常量,在内存中只保存该变量的一个副本,节省内存空间本文档共75页;当前第51页;编辑于星期一\11点34分覆盖:子类对父类方法的覆盖(不同类的同名方法)重载:一个类中,同名方法(参数不同)classEmployee{voidupSalary(floatinc){salary=salary+inc;}voidupSalary(){salary=salary*1.1F;}...}classManagerextendsEmployee{voidupSalary(){salary=salary*1.2F;}...}方法覆盖与方法重载重载覆盖本文档共75页;当前第52页;编辑于星期一\11点34分static-静态修饰符,可以修饰类中的属性与方法静态属性的访问类名.属性名或:对象名.属性名静态变量和静态方法本文档共75页;当前第53页;编辑于星期一\11点34分抽象类和抽象方法抽象类publicabstractclass抽象类名{

类体;}抽象方法publicabstract返回类型方法名(<形式参数列表>);本文档共75页;当前第54页;编辑于星期一\11点34分例:抽象方法举例publicabstractclassSuper{publicabstractvoidmethod();}publicclassSubextendsSuper{publicvoidmethod(){System.out.println(”Donothing”);}}抽象类和抽象方法本文档共75页;当前第55页;编辑于星期一\11点34分最终类和最终方法最终类:访问修饰符finalclass最终类名[extends父类名]{

类体;}本文档共75页;当前第56页;编辑于星期一\11点34分1.包的创建package包名1[.包名2][.包名3[.……包名n]];注意:放在文件第一行在package语句中用“.”来指明包(目录)的层次包(package)本文档共75页;当前第57页;编辑于星期一\11点34分2.import语句与包的引用引用方式:import包名1[.包名2][.包名3[.……包名n]].*;import包名1[.包名2][.包名3[.……包名n]].类名;(”0.00”);四、包(package)本文档共75页;当前第58页;编辑于星期一\11点34分编译并生成包:在当前目录下生成包

javac–d.Test.java在指定目录下生成包

javac–dE:\JavaLessonTest.java包(package)本文档共75页;当前第59页;编辑于星期一\11点34分例:包的创建和使用。//file:Sort.java,保存在当前文件夹下面或保存在当前文件夹下新建的sort下packagesort;importjava.util.Arrays;publicclassSort{ privatedouble[]array; publicSort(double[]data){array=data;}publicvoidsort(){Arrays.sort(array);} publicdouble[]getElement(){returnarray;}}//file:PackageTest.java,保存在当前文件夹下面importsort.Sort;publicclassPackageTest{ publicstaticvoidmain(String[]args){ double[]array=newdouble[args.length]; for(inti=0;i<args.length;i++){array[i]=Double.parseDouble(args[i]);}Sortst=newSort(array);st.sort();for(inti=0;i<st.getElement().length;i++){System.out.println(st.getElement()[i]);}}}本文档共75页;当前第60页;编辑于星期一\11点34分本文档共75页;当前第61页;编辑于星期一\11点34分例8修改:包的创建和使用。//file:Sort.java,保存在当前文件夹下面或保存在当前文件夹下新建的sort下packagesort;importjava.util.Arrays;publicclassSort{ privatedouble[]array; publicSort(double[]data){array=data;}publicvoidsort(){Arrays.sort(array);} publicdouble[]getElement(){returnarray;}}//file:PackageTest.java,保存在当前文件夹下面的TestpackageTest;importsort.Sort;publicclassPackageTest{ publicstaticvoidmain(String[]args){ double[]array=newdouble[args.length]; for(inti=0;i<args.length;i++){array[i]=Double.parseDouble(args[i]);}Sortst=newSort(array);st.sort();for(inti=0;i<st.getElement().length;i++){System.out.println(st.getElement()[i]);}}}本文档共75页;当前第62页;编辑于星期一\11点34分本文档共75页;当前第63页;编辑于星期一\11点34分访问控制一般原则本包使用,采用缺省方式;供其他包使用,采用public控制符;为了使对象具有良好的封装性,可将类的实例变量设计成私有,但为了使其它类或对象能够访问私有实例变量,本类必须提供访问私有变量的方法(公共方法)。按照惯例:读私有变量的方法取名为get…

写私有变量的方法取名为set…

本文档共75页;当前第64页;编辑于星期一\11点34分类的访问控制(1)共有类public被所有的其他类访问和引用一个java源文件只能有一个public类(2)非共有类只能被同一个包中的类访问和使用本文档共75页;当前第65页;编辑于星期一\11点34分例:接口举例.interfaceCalArea{doublepi=3.14;doublecal(doubler);}classCaimplementsCalArea{publicdoublecal(doubler){returnpi*r*r;}}publicclassTest{publicstaticvoidmain(String[]args){Caa1=newCa();System.out.println(a1.cal(5.0));System.out.println(a1instanceofCalArea);}}instanceof运算符可判断一个对象是否为实现了某个接口的类对象。接口本文档共75页;当前第66页;编辑于星期一\11点34分五、类库java.lang(基础类,隐含引用)Object类、数据类型包裹类(TheDataTypeWrapper)、字符串类(String和StringBuffer)、数学类(Math)、系统和运行时类(System和Runtime)、类操作类(Class和ClassLoader)。java.util(实用程序)

向量、栈、日期…java.io

(用于输入输出)java.text(文本及格式化处理)java.math(数学包)本文档共75页;当前第67页;编辑于星期一\11点34分六、异常处理Error类定义的错误是致命性错误,一般会导致程序停止执行。Exception类定义的是较轻的错误,你可以编写代码来处理这类错误,并继续程序的执行。系统预定义异常类及含义系统预定义的异常类异常对应的运行错误说明ClassNotFoundException类型转换异常:如找不到要装载的类。Illegal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论