JAVA基础知识学习(零基础学习).ppt

上传人:hyn****60 文档编号:75120726 上传时间:2023-03-02 格式:PPT 页数:185 大小:2.64MB
返回 下载 相关 举报
JAVA基础知识学习(零基础学习).ppt_第1页
第1页 / 共185页
JAVA基础知识学习(零基础学习).ppt_第2页
第2页 / 共185页
点击查看更多>>
资源描述

《JAVA基础知识学习(零基础学习).ppt》由会员分享,可在线阅读,更多相关《JAVA基础知识学习(零基础学习).ppt(185页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JAVA基础基础教师自我介绍教师姓名:教师姓名:(请进行自我介绍请进行自我介绍 )课程概述vJava开发环境介绍及编程入门v标示符、关键字及数据类型v表达式及流程控制v数组v常用数据结构及算法v面向对象编程OOPv封装、继承、多态v异常处理Exception课程目标v掌握程序设计语言开发的一般步骤v编译并运行Java应用程序v理解并使用Java的在线帮助文档v理解Java语言的语法元素和结构特点v理解面向对象程序设计的一般特性,并且能使用这些特性v理解并使用Java异常处理机制程序语言发展历程程序语言发展历程机器语言二进制机器代码,不便理解,不好记忆,与硬件平台相关,不具有可移植性。汇编语言用

2、助记符号来描述,与机器代码一一对应,能够理解,但同样不可移植。高级语言按自然语言的语法风格书写程序,方便理解,在原代码的层次上可以实现跨平台移植。1000100111100101movdptr,#2000if(ab)max=a;elsemax=b;高级语言开发过程高级语言开发过程编辑原代码编译执行JAVA起源vStanfordUniversityNetworkvJAVA 名称的起源v官网:http:/ 1Java开发环境介绍及编程入门开发环境介绍及编程入门本章目标q了解高级语言开发的一般步骤q正确安装及配置Java开发和运行环境q理解JVM的运行机制q了解java语言的垃圾回收机制q编写并运行

3、第一个java代码下载并安装JDK1.从以下网站可下载JDKhttp:/根据开发机器的不同,请下载相应平台下的JDK2.InstallJDKWindows:runtheexecutableUnix:runtheshellJDK 下载页面下载页面Win32平台JDK下载Linux平台JDK下载配置配置Java环境变量环境变量3.设置如下三个环境变量设置如下三个环境变量:JAVA_HOME,CLASSPATH,PATH Windows 2000/NT/XP系统:系统:开始开始设置设置控制面板控制面板系统系统高级高级环境变量环境变量Windows环境下的安装配置v安装JDK软件包v设置环境变量点击我

4、的电脑右键-属性-高级-环境变量-新建JAVA_HOME=JDK安装目录编辑:path=在原来的path路径前增加JDK安装目录/bin注意windows平台中是以分号分隔v测试运行cmdjavajavacjava-version如果以上三个命令都能运行的话,说明安装成功JDK安装目录介绍vBin编译器和工具vDemo演示vDocsHTML格式的类库文档vInclude用于编译本地方法的文件vJrejava运行环境文件vLib类库文件vSrc类库源文件Java虚拟机虚拟机(JVM)提供字节码(提供字节码(bytecode)的运行环境)的运行环境屏蔽底层平台的差异屏蔽底层平台的差异JVM的作用的

5、作用Java垃圾收集的概念vJava语言使用new运算符来分配内存空间,没有动态内存分配的概念。vJava系统线程自动处理无用内存空间的垃圾收集vJava程序员只能建议,但不能强制JVM去执行垃圾收集程序,使用下面的代码:java.lang.System.gc()java.lang.Runtime.gc()Java程序的运行过程程序的运行过程HelloWorldApp.javaHelloWorldApp.classjavacjava跨平台不跨平台第一个Java程序HelloWorld.javapublicclassHelloWorldpublicstaticvoidmain(Stringarg

6、s)System.out.println(“HelloWorld!”);要点(1)一个源文件中至多只能有一个public的class源文件名必须和它中定义的public的类名相同一个文件中可以同时写多个类,但是只能有一个公开的类Main方法java程序的入口要点(2)v编写源代码,生成.java文件v编译源代码,生成.class文件javacHelloWorld.javav运行该程序javaHelloWorldJvm加载字节码文件v加载代码(类加载器)将class字节码文件读入内存,并放在数据的方法区,在堆区中创建java.lang.Class对象,用于封装类在方法区内的数据结构v连接把已经读

7、入内存的类的二进制数据合并到jvm运行环境中去v验证代码(字节码校验器)保证加载类有正确的内部结构,并与其他类协调一致辞主要有以下几个方面:文件结构检查,语义检查,字节码验证,二进制兼容的验证v准备Jvm为类的静态变量分配内存,并调置默认的初始值v解析Jvm把类的二进制数据中的符号引用替换为直接引用v执行代码(解释器)Jvm执行类初始化语句,为类静态变量赋以初值练习:Information.java1.开发一个Java程序打印出下列信息:姓名性别年龄毕业学校户籍Package包结构Packagea.b.c;publicclassHelloWorldpublicstaticvoidmain(St

8、ringargs)System.out.println(“HelloWorld!”);将生成的字节码文件以包结构形式来存放,用于方便管理类文件Package必须要写在源文件第一行,注释除外Package包结构带有包结构的程序在编译是需要加参数:vJavac-d.HelloWorld.java运行带包结构的程序时,要指定类全名vJavaa.b.c.HelloWorldImport导入机制Packagea.b.c;Importjava.util.*;publicclassHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(“He

9、lloWorld!”);System.out.println(newDate();生成javadoc文档/*此种注释存在于源代码中时,编译时使用javadoc命令可以生成doc文档*/用法:Javadoc-d.HelloWorld.java生成javadoc文档vauthorvversion标注在javadoc中的使用使用以上标记时要增加author-version参数进行注释文档的抽取,默认情况下会忽略压缩成jar文件在java中可以将生成的字节码文件按照生成目录的结构压缩成jar文件方便使用压缩命令:Jar-cvffirst.jara解压命令:Jar-xvffirst.jar运行jar文件

10、中的程序:java-classpathfirst.jara.b.c.HelloWorldJar命令参数x解压u更新d列表v显示压缩过程c创建压缩文件f压缩文件名m按照清单指定的系统进行压缩命令行参数Echo.javapublicclassEchopublicstaticvoidmain(Stringargs)System.out.println(args0);运行命令:JavaEchoxubin要点:v可执行程序必需要main方法v只能public和static调换位置vargs可以是任意的名字vargs0代表第一个命令行参数v注意:运行时一定要有命令行参数输入,否则会有数组下标越界异常出现练

11、习编程打印出所有命令行的参数。从命令参数中接收姓名,在程序打印HelloxxxxxJavaAPI文档Downloaditfromhttp:/本章总结v在这一章里,我们讨论了以下问题:q怎样建立Java开发环境qJava语言的关键特性qJava虚拟机(JVM)的功能qJava的垃圾收集机制q常用Java开发命令和开发工具包q编写并运行一个Java应用程序Module 2标示符、关键字和数据类型标示符、关键字和数据类型本章目标本章目标q程序注释程序注释q标示符标示符q关键字关键字q基本数据类型基本数据类型注释v三种类型的注释q/单行注释q/*这是一段多行注释,它跨越了多个行*/q/*这是一个文档注

12、释,可以使用JDK的javadoc工具从原文件中抽取这种注释形成程序的帮助文档。*/v使用javadoc命令建立HTML格式的程序文档javadocoptionspackagenamessourcefilesfilesJava的标示符的标示符1,什么是标示符?,什么是标示符?在在java语言中用来给一个类、变量或方法命名的符号语言中用来给一个类、变量或方法命名的符号2,标示符的命名规则:,标示符的命名规则:以字母以字母,“_”或或“$”符号开头符号开头 可以包含字母、可以包含字母、“_”、“$”和数字符号和数字符号 大小写敏感大小写敏感 不能与保留关键字冲突不能与保留关键字冲突 没有长度限制没

13、有长度限制例如:例如:identifier _sys_ var1$char userName user_ nameJava的标示符(续)的标示符(续)3,命名,命名约定:类名类名,接口名接口名:每个单词的首字母应该大写:每个单词的首字母应该大写classMyFirstClassinterfaceWeapon字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写booleanisWomanvoidsetName(Stringname)常量:全部用大写字母表示。常量:全部用大写字母表示。publicfinalintGREENpu

14、blicfinalintHEAD_COUNTJava包(包(Package):它们全都字母小写。):它们全都字母小写。packagejava.awt.eventJava中的关键字中的关键字关键字列表:关键字列表:abstract boolean break byte case catch char class continue default do double else extends enum false final finally float for if implements import instanceof int interface long native new null pa

15、ckage private protected public return short static super switch synchronized this throw throws transient true try void volatile while Java 中中 true false 不是关键字不是关键字,而是而是boolean类型的字面量类型的字面量保留字:保留字:const,goto所有的关键字都是小写,所有的关键字都是小写,friendly,sizeof不是不是java的关键字的关键字数据类型v基本数据类型(primitivetype)vbyteshortintlon

16、gvfloatdoublecharbooleanv引用数据类型(referencetype)Java的基本数据类型qboolean布尔值(true或false)qbyte8-bit整形值qshort16-bit整形值qint32-bit整形值qlong64-bit整形值qchar16-bitunicode编码的字符qdouble64-bit浮点数值qfloat32-bit浮点数值布尔类型布尔类型-boolean一个一个boolean类型的变量用来表示一个或真或假的关系类型的变量用来表示一个或真或假的关系一个一个 boolean 类型变量的值必须是类型变量的值必须是true 或或 false二者

17、二者 之一之一 boolean isCorrect=true;文本数据类型char和Stringvcharq其实就是一个无符号的16位整形,其范围为065535,用来存储该字符的Unicode编码值,因为Unicode编码中包含汉字的编码,所以一个char类型的变量也可以存储一个汉字字符。q在代码中直接给出的一个字符值必须用单引号括起来。charzhChar=中;charenChar=a;charucChar=u0060;q对某些不方便直接书写或直接书写有歧义的字符,java语言规定用转义字符给出。q可以把char类型数据当作整数数据来操作。例如:intthree=3;charone=1;in

18、tfour=three+one;转义字符转义字符转义字符转义字符描述描述ddd1到到3位位8进制数所表示的字符进制数所表示的字符(ddd)uxxxx1到到4位位16进制数所表示的字符进制数所表示的字符(xxxx)单引号字符单引号字符双引号字符双引号字符反斜杠字符反斜杠字符r回车回车n换行换行f走纸换页走纸换页t横向跳格横向跳格b退格退格Java语言中转义字符都以语言中转义字符都以给出常用转义字符列表:给出常用转义字符列表:字符串类型-StringvStringq是JDK中定义的一个类,不是基本数据类型q一个String对象可以用来存储多个字符,在程序中直接给出一个String值要用双引号括起来

19、StringmyName=“Blues”;q可以使用+运算符把多个String数据连接起来,并且还可连接其他类型的数据q例如:intcount=7;System.out.println(Counted+count+chars.);整形数据(整形数据(byte,short,int and long)三种形式给一个整形变量直接赋值三种形式给一个整形变量直接赋值:十进制、八进制和十六进制十进制、八进制和十六进制直接给出的值默认是直接给出的值默认是int类型。类型。长整形值应该在数字后面跟上长整形值应该在数字后面跟上 l 或或 L标示标示publicvoidtestIntType()intia=0 x

20、55;/十六进制十六进制intib=011;/八进制八进制bytebb=0 x771;byteba=(byte)0 x771;longla=1234567L;/十进制十进制整形数据在计算机内的存储方式整形数据在计算机内的存储方式计算机能存储的值都是二进制值计算机能存储的值都是二进制值,整形数据在计算机中的存储方式分两种整形数据在计算机中的存储方式分两种情况讨论:情况讨论:shorta=57;00000000001110011111111111000111 1,正整数,存储该数字的二进制原码。,正整数,存储该数字的二进制原码。shorta=-57;2,负整数,存储该数字的二进制补码。,负整数,存

21、储该数字的二进制补码。inta=57;00000000000000000000000000111001inta=-57;11111111111111111111111111000111高字节位高字节位低字节位低字节位浮点数据类型浮点数据类型 float 和和 double直接在程序中书写的浮点数默认为直接在程序中书写的浮点数默认为 dobule类型。类型。float 类型的数据占类型的数据占32位长度(位长度(4 Bytes)double类型的数据占类型的数据占64位长度(位长度(8 Bytes)直接表示一个直接表示一个float 类型的值必须在数字后跟类型的值必须在数字后跟 f 或或F直接表

22、示一个直接表示一个double 类型的值可以在数字后跟类型的值可以在数字后跟d 或或D可以用科学可以用科学计计数法表示,如:数法表示,如:123.456e3或或123.456E3publicvoidtestFloatType()floatfa=123.4f;floatfb=12.5E300F;floatfc=(float)12.5E300;doubleda=123D;doubledb=123.456D;doubledc=123.45e301;基本数据类型的取值范围基本数据类型的取值范围TypeBitsBytesMinimumRangeMaximumRangeboolean81Onlytwova

23、lues:trueorfalsebyte81-2727-1short162-215215-1char1620216-1int324-231231-1long648-263263-1float324NotneededNotneededdouble648NotneededNotneeded变量的声明和赋值变量的声明和赋值package sample;public class Assign public static void main(String args)int x,y;/声明声明int类型变量类型变量x和和y float z=3.414f;/声明声明float类型变量并赋值类型变量并赋值 d

24、ouble w=3.1415;/声明声明double类型变量并赋值类型变量并赋值 boolean truth=true;/声明声明boolean类型变量并赋值类型变量并赋值 char c;/声明声明char类型变量类型变量c String str;/声明声明String类型的引用类型的引用 String str1=“bye”;/声明声明String类型的引用并且实例化类型的引用并且实例化 c=A;/给给c变量赋值变量赋值 str=“Hi out there!”;/给给str实例化实例化 x=6;y=1000;引用数据类型(引用数据类型(reference type)数组数组Array,类,类

25、classe,接口,接口interface属于属于reference 类型。类型。reference 类型的变量是所引用的对象的内存地址类型的变量是所引用的对象的内存地址。例子:例子:classMyDateprivateintday=1;privateintmonth=1;privateintyear=2000;publicMyDate(intday,intmonth,intyear).publicvoidprint().publicclassTestMyDatepublicstaticvoidmain(Stringargs)MyDatemy_birth=newMyDate(22,7,1964

26、);引用数据类型(referencetype)v创建一个类对象:vMyDatemy_birth=newMyDate(22,7,1964);引用数据类型(referencetype)两个引用变量的赋值将会产生如下结果:intx=7;inty=x;MyDates=newMyDate(22,7,1964);MyDatet=s;t=newMyDate(22,12,1964);两个变量指向同一个对象:对象气球对象气球引用对象对象引用对象对象就像一个充满氢气的气球,我们没有办法直接去得到它,要想对它的使用都必须通过一根对象就像一个充满氢气的气球,我们没有办法直接去得到它,要想对它的使用都必须通过一根连着它

27、的绳子来访问,这根绳子就是对象的引用。一根绳子同时只能连着一个气球,就像一个连着它的绳子来访问,这根绳子就是对象的引用。一根绳子同时只能连着一个气球,就像一个引用同时只能指向一个对象;可以用多根绳子同时连接一个气球,也就是可以有多个引用同时引用同时只能指向一个对象;可以用多根绳子同时连接一个气球,也就是可以有多个引用同时指向同一个对象;如果某个气球没有任何绳子连着它,那它就会飞走,同样,某个对象如果没指向同一个对象;如果某个气球没有任何绳子连着它,那它就会飞走,同样,某个对象如果没有引用连接它,它就会成为垃圾,等着被有引用连接它,它就会成为垃圾,等着被java的垃圾收集器回收;如果某根绳子没有

28、连接任何的垃圾收集器回收;如果某根绳子没有连接任何气球,那么它就是一个空引用,对它的访问没有意义。同样,某个引用如果没有指向对象,那气球,那么它就是一个空引用,对它的访问没有意义。同样,某个引用如果没有指向对象,那么对它的访问将会抛出么对它的访问将会抛出NullPointerException引用null本章总结在这一章中,我们讨论了以下问题:不同类型的注释标示符和关键字基本数据类型引用类型对象的概念练练 习习1,写一个程序,要求定义出boolean,int,char,double,float,String类型的变量并赋初值,然后将这些值输出出来。2,程序中定义有如下语句,画出这些整形值在内存

29、空间中的存储状态。inta=74;intb=-132;intc=0 x2B8F;3,下列哪些赋值语句是错误的:(1)byteb=0 x175;(2)inti=0 x27f;(3)charc=123;(4)inta=真;(5)floatf=12.345E2;(6)booleanf=0;练练 习习4,判断下列语句中的a和b的值是否相等:(1)inta=0;intb=0;(2)inta=0;charb=u0000;(3)inta=123;charb=u007B;(4)inta=0 x123;charb=123;(5)inta=3+5;charb=8;(6)inta=3+5;charb=8;(7)ch

30、ara=u0000;charb=0;Module 3表达式及流程控制语句表达式及流程控制语句本章目标vJava的运算符v基本数据类型的赋值v布尔表达式v选择结构(ifelse,switch)v循环结构(while,dowhile,for)v使用continue和break进行循环控制常用运算符列表常用运算符列表序号描述运算符结合性1括号和引用()。左右2单目运算符+-!右左3算术运算符*/%+-左右4关系运算符 =!=左右5逻辑运算符&|&|左右6位运算符&|左右7条件运算符?:/8赋值运算符=+=-=*=/=%=&=|=右左算术运算符v说明:qJava对“+”运算符进行了扩展,使它能够进行字

31、符串的连接,如“abc”+“de”,得到串“abcde”q+i,-i在使用i前,先使i的值改变qi+,i-在使用i后,再改变i的值关系运算符v说明:qJava中,任何数据类型的数据(包括基本类型和引用类型)都可以通过=或!=来比较是否相等(这与C、C+不同)。q关系运算的结果返回true或false,而不是C、C+中的1或0。q布布尔尔逻辑逻辑运算符运算符q逻辑运算符逻辑运算符AND(&)、)、OR(|)以及)以及NOT(!)能生成一)能生成一个布尔值(个布尔值(true或或false)q说明:说明:只可将只可将AND,OR或或NOT应用于布尔值。不可将一个应用于布尔值。不可将一个非布尔值当作

32、布尔值在逻辑表达式中使用非布尔值当作布尔值在逻辑表达式中使用例如:以下是非法的。例如:以下是非法的。int i=1,j=2;i&ji|j!i布布尔尔逻辑逻辑运算符运算符q说明:说明:对浮点数字的比较是非常严格的。对浮点数字的比较是非常严格的。短路运算:短路运算:1、a&b&c2、a|b|c3、x=y=1 a=5,b=3,c=2,d=1 (x=ab)&(y=cop1 op2op1右移op2位op1 op1 op2op1无符号右移op2位位运算符(位运算符(,&,|,)位运算符(,:将一个数的各二进制位全部右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值例如:a=00110111,则a2

33、=00001101b=11010011,则b2=11110100右移一位相当于除2取商例如:1281returns128/2=642564returns256/16=16-2564returns-256/16=-16:一个数的各二进制位无符号右移若干位,与运算符相同,移出的低位被舍弃,但不同的是最高位都补0。如:a=00110111,则a2=00001101b=11010011,则b2=00110100位运算符q说明:用来将一个数的各二进位全部左移若干位。高位左移后溢出舍弃,低位补0。例如:a=00001111,则a2=00111100。在不产生溢出的情况下,左移一位相当于乘21281retu

34、rns128*2=256162returns16*2*2=64类型转换v基本数据类型和引用类型的数据都可以转换类型,但这种转换是有限制的v类型转换分为两种:自动类型转换(隐含转换)和强制类型转换(显式转换)v隐含类型转换发生在把一个子类型赋给一个超类型时v显式类型转换有一定的限制基本数据基本数据类类型型转换转换序列序列charbyteshortintdoublefloatlong说明:说明:1 1,在本图中,顺着箭头方向的类型转换可以自动进行,在本图中,顺着箭头方向的类型转换可以自动进行,逆箭头方向的转换或无箭头类型之间的转换必须强制转换。逆箭头方向的转换或无箭头类型之间的转换必须强制转换。2

35、 2,能将,能将A A类型变量自动转换成类型变量自动转换成B B类型变量的前提条件是这种类型变量的前提条件是这种转换不会造成数据和精度的丢失,即转换不会造成数据和精度的丢失,即A A类型的取值范围是类型的取值范围是B B类类型的取值范围的子集。型的取值范围的子集。类类型型转换转换的例子的例子package sample;public class CastingTest public void implictCasting()byte a=0 x60;int ia=a;char b=a;int c=b;long d=c;long e=1000000000L;float f=e;double g=

36、f;String s=hello;Object o=s;public void explicitCasting()long l=1000000L;int i=l;/(int)l;double d=12345.678;float f=d;/(float)d;Object o=new String(Hello);String str=o;/(String)o;流程控制语句v1分支语句:if-else,switch-casev2循环语句:for,while,do-whilev3循环跳转语句:break,continue,label:选择结选择结构构if elseif(boolean expressi

37、on)code block 1else code block 2if(boolean expression)code blockif(boolean expression 1)code block 1else if(boolean expression 2)code block 2else code block 3if else 的语法结构的语法结构1,基本结构基本结构2,省略省略else分支分支3,多层嵌套多层嵌套选择结选择结构构switch casevswitch case 实现多分支选择结构的语句:实现多分支选择结构的语句:switch(expression)case 整数值整数值1:语

38、句语句;break;case 整数值整数值2:语句语句;break;case 整数值整数值3:语句语句;break;case 整数值整数值4:语句语句;break;case 整数值整数值5:语句语句;break;/.default:语句语句;switchcase说明v说明:1.表达式expression可以是以下四种基本数据类型和枚举 类型(byte,short,int,char)2.case子句中的值必须是常量,而且所有case子句中的值应是不同的。3.case通常与break语句联用,以保证多路分支的正确实现,多个case可以公用一组执行语句。switch case 应应用用例题:根据考试

39、成绩的等级打印出百分制分数段。例题:根据考试成绩的等级打印出百分制分数段。public class GradeLevel public static void main(String args )System.out.println(n*first situation*);char grade=C;/normal use switch(grade)case A:System.out.println(grade+is 85100);break;case B:System.out.println(grade+is 7084);break;case C:System.out.println(grad

40、e+is 6069);break;case D:System.out.println(grade+is 60);break;default:System.out.println(input error);for循循环环v格式格式for(初始表达式初始表达式;布尔表达式布尔表达式;步进步进)循环体语句块循环体语句块v说明:说明:v无论初始表达式,布尔表达式,还是步进,都可以置空。无论初始表达式,布尔表达式,还是步进,都可以置空。v初始表达式在整个循环过程中只执行一次。初始表达式在整个循环过程中只执行一次。for(int i=0,j=1;i 10&j!=11;i+,j+)/*body of for

41、 loop*/;while 循循环环v格式:格式:while(布尔表达式布尔表达式)循环体语句块循环体语句块 例子:例子:public class WhileTest public static void main(String args)double r=0;while(r 0.99d)r=Math.random();System.out.println(r);do while 循循环环v格式:格式:do 循环语句循环语句while(布尔表达式布尔表达式);v例子例子:breakv不带标号的不带标号的break语句,跳出它所在的循环语句或语句,跳出它所在的循环语句或switch 语句,并从紧

42、跟该循环语句或语句,并从紧跟该循环语句或switch 语句后语句后的第一条语句处执行的第一条语句处执行int n=13;boolean flag=true;for(int i=2;i=n/2;i+)if(n%i=0)flag=false;break;System.out.println(n+(flag?”is”:”is not”)+”a prime number”);v带标号的break语句:对Java来说,唯一用到标签的地方是在循环语句之前如:label1:循环语句v跳出标号所指定的块,并从紧跟该块后的第一条语句处执行带标号的带标号的breakcontinuev不带标号的不带标号的conti

43、nue语句,用来结束本次循环,跳过循环语句,用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环是否继续循环 v带标号的带标号的continue语句跳转到标号指明的外层循环中。语句跳转到标号指明的外层循环中。本章总结v在这一章里,我们讨论了以下问题:q实例变量和局部变量q实例变量的初始化qJava语言的运算符q基本数据类型和引用类型q使用if,switch,for,while,do,breakandcontinue来控制程序的流程练习v1.编写程序,判断给定的某个年份是否是闰年。闰年的判断规则如下:(

44、1)若某个年份能被4整除但不能被100整除,则是闰年。(2)若某个年份能被400整除,则也是闰年。v2.给定一个百分制的分数,输出相应的等级。90分以上A级8089B级7079C级6069D级60分以下E级v3.编写程序求1+3+5+7+99的和值。练练 习习练习一:练习一:利用利用for循环打印循环打印 9*9 表表?1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*

45、7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 练习:练习二:求500以内的完备数?(提示:完备数就是所有约数和等于本身的数6=1+2+3)练习三:从命令行接受一个参数年份,计算此年份是否为闰年?练习四:输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于基本身,例如:153=1*1*1+3*3*3+5*5*5练习练

46、习六:求a+aa+aaa+.+aaaaaaaaa=?其中a为1至9之中的一个数,项数也可以指定?练习七:求2/1+3/2+5/3+8/5+13/8.前20项之和?练习练习八:利用程序输出如下图形:*Module 4:数组数组本章目标q声明并建立一个基本类型的数组和引用类型的数组q为什么数组在使用前必须初始化q定义并初始化一个数组q正确使用数组中的元素q创建一个多维数组(存放数组的数组)声明数组相同的数据类型元素类型按一定的顺序排列就构成了数组数组元素可以为:基本数据类型某一类的对象(引用类型)建立java数组需要以下三个步骤:声明数组创建数组空间初始化数组元素创建数组v声明数组的语法格式有两种

47、如下:数组元素类型数组名;数组元素类型数组名;v例如:chars;Pointp;或:chars;Pointp;数组实例化v说明:为数组开辟内存空间,在创建数组空间时必须为它指明数组的长度。一个数组是一个对象,所以用new来创建数组语法格式为:数组名=new数组元素类型数组元素的个数;例如:intMyIntArray;MyIntArray=newint10;数组实例化v说明:也可以在创建数组空间的时候,同时将初值给出来例如:intMyIntArray=1,2,3,4,5,6,7,8,9;存储空间的分配等价于使用new基本数据类型的数组元素系统会自动初始化为默认值(对于数值,默认值就是零;对于ch

48、ar,它是空白字符;而对于boolean,它却是false)。数组名是对数组对象的一个引用。创建一个基本数据类型的数组创建一个基本数据类型元素的数组:publiccharcreateArray()chars;s=newchar26;for(inti=0;is.length;i+)si=(char)(A+i);returns;创创建一个建一个对对象数象数组组创建一个对象数组:创建一个对象数组:public Point createArray()Point p;p=new Point10;for(int i=0;ip.length;i+)pi=new Point(i,i+1);return p;多

49、维数组1.定义方式:type维数arrayName;例如:intintArray;inta2;2.分配内存空间:有两种方法:直接为每一维分配空间,如inta=newint23;inttwoDim=newint4;/error分别为每一维分配空间如:inta=newint2;a0=newint3;a1=newint3;可以为每行设置为空间大小不同的数组。如:a0=newint3;a1=newint5;多维数组说明说明:Java中多维数组被看作数组的数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。3.初始化有两种方式:先定义数组,分配空间,然后直接对每个元素进行赋值在定义数组的

50、同时进行初始化。如:inta=2,3,1,5,3,4;数组的拷贝使用System.arraycopy()方法:/originalarrayintelements=1,2,3,4,5,6;/newlargerarrayinthold=10,9,8,7,6,5,4,3,2,1;/copyalloftheelementsarraytothehold/array,startingwiththe0thindexSystem.arraycopy(elements,0,hold,0,elements.length);本章总结在这一章里,我们讨论了以下问题:如何声明并建立一个基本数据类型的数组和引用类型的数组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁