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

下载本文档

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

文档简介

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

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

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

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

例:HEAD_COUNTJava标识符要区分大小写一、基础知识第4页,共75页。Java数据类型基本数据类型引用数据类型实数字符型单精度型整型双精度型字节型短整型类接口数组枚举泛型长整型布尔型整数第5页,共75页。整数类型说明名称字节长度数的范围字节型byte8-27~27-1(-128~127)短整型short16-215~215-1(-32768~32767)整型int32-231~231-1(-2147483648~2147483647)长整型long64-263~263-1一、基础知识第6页,共75页。实数类型名称字节长度数的范围单精度float32-3.4×1038~3.4E38(精度为7位有效数字)双精度double64-1.7E308~1.7E308(精度为17位有效数字)一、基础知识第7页,共75页。Java运算符算术运算符+,-,*,/,%取余,++,--,-取反关系运算符>,<,>=,<=,!=,==逻辑运算符&与,|或,!非,&&简洁与,||简洁或三目条件运算表达式1?表达式2:表达式3赋值运算符=,+=,-=第8页,共75页。数据输入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);第9页,共75页。关系运算符运算符名称例结果<小于1<3true<=小于等于1<=3true>大于1>2false>=大于等于1>=2false==等于1==2false!=不等于1!=2true第10页,共75页。错误分析: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;第11页,共75页。逻辑运算符运算符名称举例描述!逻辑非!x对x进行取反运算。例如,若x为true,结果为false&&逻辑与x&&y若x和y都为true,结果才为true||逻辑或x||y若x和y都为false,结果才为false第12页,共75页。if(条件表达式){语句块1}else{语句块2}if-else语句流程图条件语句块1truefalse语句块2二、流程控制第13页,共75页。练习:分析程序运行结果。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;}}}第14页,共75页。练习:分析程序运行结果。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;}}}第15页,共75页。纠错分析题publicclassMonthSwitch{ publicstaticvoidmain(Stringargs[])throwsIOException { Strings;

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

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

}第16页,共75页。

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天"); }}纠错分析题第17页,共75页。importjava.io.*;publicclassMonthSwitch{ publicstaticvoidmain(Stringargs[])throwsIOException {intx; Strings;

BufferedReaderr=newBufferedReader(newInputStreamReader(System.in)); System.out.println(”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); }纠错分析题第18页,共75页。

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;}}}纠错分析题第19页,共75页。for(循环变量初始化;循环条件;循环变量增量){循环体;}for语句流程图循环体语句循环变量增量循环变量初始化循环条件truefalsefor语句第20页,共75页。求和第21页,共75页。练习:判断用户输入的数是否为素数。用staticbooleanisPrime(intn)实现求解素数。

素数是只能被1和其本身整除的整数。对于一个整数n,如果从2到n-1之间的任何一个整数都不能整除n,则n为素数。事实上,仅需要从2到(含)之间的任何一个整数都不能整除n,则可以判定n是素数。该算法可以显著减少执行循环的次数。素数第22页,共75页。第23页,共75页。while语句while(循环条件表达式){

循环体}while语句流程图表达式语句falsetrue第24页,共75页。分析程序运行结果:publicclassWhileLx{ publicstaticvoidmain(String[]args){inti=2,result=0;while(i<5) { result=result+3; System.out.printf(result+””);i=i++;}}}第25页,共75页。do-while循环do{

循环体}while(表达式);do-while语句流程图表达式语句falsetrue第26页,共75页。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(); } }}第27页,共75页。第28页,共75页。重新输入数据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(); } }}第29页,共75页。循环的嵌套第30页,共75页。break,continue语句第31页,共75页。分析结果: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);}}第32页,共75页。例:打印所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153=13+53+33。数字问题第33页,共75页。方法一:

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); } }}第34页,共75页。方法二:

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); } }}第35页,共75页。三、数组、字符串一维数组int[]a=newint[10];for(inti=0;i<10;i++)a[i]=i;int[]intArray={1,2,3,4};StringstringArray[]={"abc","How","you"};第36页,共75页。多维数组二维数组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]第37页,共75页。例:从键盘上输入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]; }第38页,共75页。

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]+"");}}第39页,共75页。四、面向对象程序设计

类的声明方法的声明方法的重载继承多态类的静态属性与方法抽象类与抽象方法最终类与最终方法包及访问权限控制接口第40页,共75页。访问修饰符访问权限存取修饰符类包中所有的类包外子类所有类private√friendly(默认)√√protected√√√public√√√√第41页,共75页。第42页,共75页。第43页,共75页。classPerfectNumber{ staticbooleanisPerfect(intn){ intx=0;//方法的内部变量 for(inti=1;i<=n/2;i++){ if(n%i==0){ x+=i; } } if(x==n) returntrue; else returnfalse; }}静态方法、值传递第44页,共75页。方法的参数列表例:参数名和成员变量名相同的情况。publicclassCylinder{ doublePI=3.1415927; doubleradius; doubleheight; publicCylinder(doubleradius,doubleheight){ this.radius=radius; this.height=height; }}第45页,共75页。方法的参数传递值传递引用类型(对象类型)参数例引用类型参数传递(数组作为参数)第46页,共75页。分析结果: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();}}第47页,共75页。例:方法重载例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);}}注意:方法名全相同方法的重载第48页,共75页。方法重载例第49页,共75页。类的组合与嵌套类的组合(在一个类中将另一个类的对象作为自己的属性)嵌套类第50页,共75页。多态多态性是指同名的不同方法在程序中共存多态实现的两种形式:覆盖实现多态性重载实现多态性静态变量的作用:(1)能被类的所有实例共享,可以作为实例之间进行交流的共享数据(2)如果类的所有实例都包含一个相同的常量属性,把这个属性定义为静态常量,在内存中只保存该变量的一个副本,节省内存空间第51页,共75页。覆盖:子类对父类方法的覆盖(不同类的同名方法)重载:一个类中,同名方法(参数不同)classEmployee{voidupSalary(floatinc){salary=salary+inc;}voidupSalary(){salary=salary*1.1F;}...}classManagerextendsEmployee{voidupSalary(){salary=salary*1.2F;}...}方法覆盖与方法重载重载覆盖第52页,共75页。static-静态修饰符,可以修饰类中的属性与方法静态属性的访问类名.属性名或:对象名.属性名静态变量和静态方法第53页,共75页。抽象类和抽象方法抽象类publicabstractclass抽象类名{

类体;}抽象方法publicabstract返回类型方法名(<形式参数列表>);第54页,共75页。例:抽象方法举例publicabstractclassSuper{publicabstractvoidmethod();}publicclassSubextendsSuper{publicvoidmethod(){System.out.println(”Donothing”);}}抽象类和抽象方法第55页,共75页。最终类和最终方法最终类:访问修饰符finalclass最终类名[extends父类名]{

类体;}第56页,共75页。1.包的创建package包名1[.包名2][.包名3[.……包名n]];注意:放在文件第一行在package语句中用“.”来指明包(目录)的层次包(package)第57页,共75页。四、包(package)第58页,共75页。包(package)第59页,共75页。第60页,共75页。第61页,共75页。第62页,共75页。第63页,共75页。访问控制一般原则本包使用,采用缺省方式;供其他包使用,采用public控制符;为了使对象具有良好的封装性,可将类的实例变量设计成私有,但为了使其它类或对象能够访问私有实例变量,本类必须提供访问私有变量的方法(公共方法)。按照惯例:读私有变量的方法取名为get…

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

第64页,共75页。类的访问控制(1)共有类public被所有的其他类访问和引用一个java源文件只能有一个public类(2)非共有类只能被同一个包中的类访问和使用第65页,共75页。instanceof运算符可判断一个对象是否为实现了某个接口的类对象。接口第66页,共75页。五、类库java.lang(基础类,隐含引用)Object类、数据类型包裹类(TheDataTypeWrapper)、字符串类(String和StringBuffer)、数学类(Math)、系统和运行时类(System和Runtime)、类操作类(Class和ClassLoader)。java.util(实用程序)

向量、栈、日期…java.io

(用于输入输出)java.text(文本及格式化处理)java.math(数学包)第67页,共75页。六、异常处理Error类定义的错误是致命性错误,一般会导致程序停止执行。Exception类定义的是较轻的错误,你可以编写代码来处理这类错误,并继续程序的执行。系统预定义异常类及含义系统预定义的异常类异常对应的运行错误说明ClassNotFoundException类型转换异常:如找不到要装载的类。IllegalArgumentException非法参数异常:可用于检查方法参数的合法性。ArrayIndexOutOfBoundsException下标越界异常:一般指数组下标越界。FileNotFoundException找不到文件异常:未找到指定的文件或目录。IOException输入输出异常:在输入输出操作时产生的异常。NullPointerException空指针异常:访问空的尚未实例化的引用型变量。ArithmeticException数学异常:如数学运算被零除等。SecurityException安全性异常:如Applet小程序要读写文件。第68页,共75页。用户定义异常类classMyExpextendsException//或继承其他异常类{

...//定义新的属性

...//重载构造函数

...//

温馨提示

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

评论

0/150

提交评论