Java第二章Java程序设计.ppt
《Java第二章Java程序设计.ppt》由会员分享,可在线阅读,更多相关《Java第二章Java程序设计.ppt(140页珍藏版)》请在三一办公上搜索。
1、第2章 Java基本语法,2.1 Java程序的构成 2.2 数据类型、变量和常量 2.3 运算符和表达式 2.4 流程控制 2.5 数组 习 题,学习目的与要求:深刻理解并熟记Java 的语法规范。熟练使用各种数据类型的定义、表示和引用。熟练使用各种控制语句。熟练使用一维数组,文件命名规则,总则:文件名必须与类名一致。(1)如果文件只有一个类,那么文件名必须与类名完全一致,包括大小写。(2)一个文件中,只能有一个public类;(3)如果文件中不只一个类,那文件名必须与声明为public的类名保持一致;,(4)如果文件不只一个类,没有声明为public类,则文件名可以与其他类的名字中的一个保
2、持一致;(5)如果类中有main方法,并声明为public类,main方法必须位于public类中;(6)如果类中有main方法,没有声明为public类,文件名保存为与含有main方法的类名一致。,/*检测类名与文件名的一致性*/class StudentTest public static void main(String args)Student aStudent=new Student();aStudent.setName(“张楠”);aStudent.setStudentNum(“2010416001”);System.out.println(“学生的姓名是:”+aStudent.g
3、etName()+”,学号是:”+aStudent.getStudentNum();,class People private String name;public String getName()return name;public void setName(String strName)name=strName;,class Student extends People private String studentNum;public String getStudentNum()return studentNum;public void setStudentNum(String strSt
4、udentNum)studentNum=strStudentNum;,文件名只能保存为StudentTest.java才能运行。思考:在class StudentTest前面加上public后,再保存为People.java或Student.java,编译会出现什么情况。,2.1 Java程序的构成,2.1.1 逻辑构成 Java源程序逻辑构成分为两大部分:程序头包的引用和类的定义。1.程序头包的引用 主要是指引用JDK软件包自带的包,也可以是自己定义的类。引用之后程序体中就可以自由应用包中的类的方法和属性等。,2.类的定义 源程序必须有一个主类;在应用程序中,主类为包含main方法的类;在A
5、pplet中,主类为用户自定义的系统Applet类的扩展类。在Java源程序中,主类的名字同文件名一致。类的定义又包括类头声明和类体定义。类体中包括属性声明和方法描述。,2.1.2 物理构成 Java源程序物理上由三部分构成,分别为语句、块和空白。(1)语句指一行以分号“;”结束的语句。(2)块指用括号对界定的语句序列,块可以嵌套使用。(3)空白指语句之间、块内部或者块之间的空白行。空白不影响Java源程序的编译和运行,适当地运用空白,可以形成良好的代码风格。,2.1.3 注释语句行注释为以/开始的行;块注释以/*开始和*/结束例如,下面的语句就是注释语句用来说明程序文件名称的。/程序文件名称
6、为WelcomeApplet.java上述的语句注释可以更改为:/*程序文件名称为WelcomeApplet.java*/或/*程序文件名称为WelcomeApplet.java*/,2.1.4 标识符、关键字和转义符 在Java语言中,标识符是赋予变量、类和方法等的名称。由编程者自己指定,但需要遵循一定的语法规范:(1)标识符由字母、数字、下划线(_)、美元符号($)组成,但美元符号用得较少。(2)标识符从一个字母、下划线或美元符号开始。(3)Java语言中,标识符大小写敏感,必须区别对待。(4)标识符没有最大长度的限制,但最好表达特定的意思。(5)标识符定义不能是关键字。,例如:_abc,
7、$ABC,2A,A#,For,顺时 Java开发的命名习惯所有的命名要望文生义,这样才具有良好的可读性Total,Sum,ShunshiStudent类名,接口名:每个单词的首字母大写,其他字母小写 如类MyFirstJava,Player,Teacher属性,方法,,局部变量名:第一个单词全小写,从第二个单词开始以后每个单词首字母大写,其他字母小写 如方法 getName()setDoctorBirthday()常量:每个单词所有字母全部大写,单词之间用_来连接 java中使用final修饰 final int MARK_GREED=22;包名:所有字母全部小写 如package com.s
8、hunshi.corejava.day01,_abc,$ABC,2A,A#,For,顺时 关键字又称保留字,是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。,关键字:对Java技术编译器有特殊的含义,可以被编译器识别执行abstract do implements private throw boolean double import protected throws break else instanceof public transient byte extends int return true case false interface
9、 short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this,Java关键字特点java关键字与c+很多相似,只要与c+一样的,它的含义都与c+中的相同有些关键字c+有,而java没有sizeof求出某种类型的变量的占内存的大小为什么c+有sizeof?因为不同机器内存占用空间大小不一样 16,32,64位,取决于操作系统平台。为什么Java
10、不需要?因为有JVM。java中的关键字都是小写的true、false和null为小写,而不是象在C+语言中那样为大写。严格地讲,它们不是关键字。,有些关键字java没有取消保留下来,但它自己也不用它也不给程序员用goto和const不是Java编程语言中使用的关键字,而是保留字。什么是保留字?为什么保留下来但不能用?在java中final替代constgoto在c+代表无条件跳转,功能很好,但不能经常用,要谨慎。很多建议去掉goto关键字,没有理解goto真正含义。为什么c+到现在都没有删除掉goto?它有一个特殊使命Java中使用break代替goto跳出一层循环:break跳出多层循环:
11、break outout是一个标号,可以跳到out标识处break避免滥用goto,把goto功能削弱了,只能跳到外层循环java中加入新的关键字enum assertenum:枚举assert:断言,表2.1 转 义 符,转义符是指一些有特殊含义的、很难用一般方式表达的字符,如回车、换行等。所有的转义符以反斜线()开头,后面跟着一个字符来表示某个特定的转义符,如表2.1所示。,2.2 数据类型、变量和常量,2.2.1 数据类型 Java编程语言定义了八种基本的数据类型(见表2.2),共分为四类:整数类(byte、short、int、long)、文本类(char)、浮点类(double、flo
12、at)和逻辑类(boolean)。,表2.2 Java的数据类型,1.整数类(1)采用三种进制十进制、八进制和十六进制。2 十进制值是2;077 首位的0表示这是一个八进制的数值;0 xBAAC 首位的0 x表示这是一个十六进制的数值。(2)具有缺省int。(3)用字母“L”和“l”定义long。(4)所有Java编程语言中的整数类型都是带符号的数字。,2.文本类(1)代表一个16 bit Unicode字符。(2)必须包含用单引号()引用的文字。(3)使用下列符号:a一个字符。t-一个制表符。u?-一个特殊的Unicode字符,?应严格使用四个十六进制数进行替换。,3.浮点类 默认为doub
13、le类型,如果一个数字包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数字为浮点数。,4.逻辑类boolean数据类型有两种值:true和false。例如:boolean flag=true;上述语句声明变量flag为boolean 类型,它被赋予的值为true。,数据类型转换:分为自动类型转换和强制类型转换自动类型转换:整型、浮点型、字符型数据可以混合运算。在执行运算时,不同类的数据先转化为同一类型,然后进行运算。转换从低级到高级的顺序为:Short或byte int longfloat double char 强制类型转换高级数据要转换成低级数据
14、需用强制类型转换,格式为:(数据类型)数据或(数据类型)(表达式)注:逻辑类数据不能和其它类型的数据转换。,强制类型转换:只要不能自动转换的,则只能是强制转换整型数据之间的强转:改变数据的符号;改变数值int a=0 x2aff;byte b=(byte)a;b为-1强制转换的原理:从最低位开始取到目标类型长度为止整型之间的强转是保留二进制低位,去掉高位,需要考虑在内存中如何存储实型强转整型是保留整数,去掉小数,不考虑实型在内存中的如何存储byte+byte会自动提升为intbyte a1=1,a2=2;byte a3=a1+a2;(精度丢失)+=不进行类型提升byte c=3;c=c+3;c
15、+=3;System.out.println(c);默认整型为int,int,long提升为float有精度丢失float fa=37;System.out.println(fa);int ia=(int)fa;System.out.println(ia);,2.2.2 变量与常量 常量是指整个运行过程中不再发生变化的量 变量是指程序的运行过程中发生变化的量,通常用来存储中间结果,或者输出临时值。变量的声明也指变量的创建。执行变量声明语句时,系统根据变量的数据类型在内存中开辟相应的存储空间并赋予初始值。变量有一个作用范围,超出它声明语句所在的块就无效。,Java的常量Java中的常量分为整数型
16、常量、浮点型常量、布尔型常量、字符型常量和字符串常量 常量的定义格式为:final 常量类型 常量名1=常量值,常量名2=常量值2.final是定义常量的关键字。Java中的常量值区分为不同的类型,类型可以是Java中任何合法的数据类型,Java的变量Java变量定义的格式:类型名 变量名1,变量名2,;或:类型名 变量名1=初值,变量名2=初值,;变量按作用域分类:局部变量:在方法或方法的代码块中声明,作用域从该变量的定义位置起到它所在的代码块结束。方法参数(形式参数):传递给方法的参数,作用域是这个方法。异常处理参数:传递给异常处理代码,作用域是异常处理部分。注意:局部变量必须先赋值再使用
17、局部变量的作用域是从定义它开始到定义它的代码块结束在同一重合范围内不允许有2个同名局部变量出现,类(成员)变量:在类定义中声明,作用域是整个类。在一个确定的域中,变量名应是唯一的。通常,一个域用大括号来划定,下面看一个使用各种类型变量声明并改变的示例。程序中pi为常量,s1、i1、l1、ch1、f1、d1、b1为全局变量,可以在方法change中发生改变,然后在方法main中输出。而s2、i2、l2、ch2、f2、d2、b2是方法main的局部变量,它们的作用范围只局限于方法main中。【例2.2】测试不同数据类型的变量,程序输出如图2.2所示。源程序代码如下:/程序文件名称为SetVaria
18、ble.javapublic class SetVariable/全局变量,static double pi=3.141592654;/数学常量static short s1;static int i1;static long l1;static char ch1;static float f1;static double d1;static boolean b1;public static void main(String args),/局部变量short s2=35;int i2=-32;long l2=34555L;char ch2=A;float f2=897.89F;double d
19、2=34.345;boolean b2=false;/输出常量System.out.println(数学常量pi=+pi);/输出局部变量,System.out.println(*局部变量*);System.out.println(短整型变量s2=+s2);System.out.println(整型变量i2=+i2);System.out.println(长整型变量l2=+l2);System.out.println(字符变量ch2=+ch2);System.out.println(浮点数类型f2=+f2);System.out.println(双精度型变量d2=+d2);System.out
20、.println(布尔型变量b2=+b2);/调用方法修改全局变量的值,change();/输出全局变量的值System.out.println(*全局变量*);System.out.println(短整型变量s1=+s1);System.out.println(整型变量i1=+i1);System.out.println(长整型变量l1=+l1);System.out.println(字符变量ch1=+ch1);System.out.println(浮点数类型f1=+f1);System.out.println(双精度型变量d1=+d1);System.out.println(布尔型变量b1
21、=+b1);,/方法:修改全局变量的值 public static void change()s1=125;i1=88;l1=987654321L;ch1=B;f1=3.2590F;d1=-1.04E-5;b1=true;,图2.2 变量输出结果,2.3 运算符和表达式,Java常用的运算符分为五类:算术运算符、赋值运算符、关系运算符、布尔逻辑运算符、位运算符。表达式是由常量、变量、对象、方法调用和操作符组成的式子。表达式必须符合一定的规范,才可被系统理解、编译和运行。表达式的值就是对表达式自身运算后得到的结果。根据运算符的不同,表达式相应地分为以下几类:算术表达式、关系表达式、逻辑表达式、赋
22、值表达式,这些都属于数值表达式。,2.3.1 算术运算符及算术表达式Java中常用的算术运算符如下:+加运算符-减运算符*乘运算符/除运算符%取模运算(除运算的余数)+增量运算符-减量运算符,【例2.3】测试运算符及表达式,程序输出如图2.3所示。源程序代码如下:/程序文件名称为NumberOper.javapublic class NumberOperpublic static void main(String args)/变量初始化int a=30;int b=20;/定义结果变量int r1,r2,r3,r4,r5,r6,r7,r8,r9;/计算结果r1=a+b;,r2=a-b;r3=a
23、*b;r4=a/b;r5=a%b;r6=a+;r7=b-;r8=+a;r9=-b;/输出结果System.out.println(a=+a+b=+b);/a,b的值System.out.println(a+b=+r1);System.out.println(a-b=+r2);,System.out.println(a*b=+r3);System.out.println(a/b=+r4);System.out.println(a%b=+r5);System.out.println(a+=+r6);System.out.println(b-=+r7);System.out.println(+a=+
24、r8);System.out.println(-b=+r9);,图2.3 程序输出结果,2.3.2 关系运算符 关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔值,即“真”或“假”。Java中的常用关系运算符如下:=等于!=不等于大于=大于等于=小于等于,【例2.4】编写程序,测试关系运算符及其表达式,程序输出如图2.4所示。源程序代码如下:,/程序文件名称为TestRelation.javapublic class TestRelationpublic static void main(String args)/变量初始化int a=30;int b=20;/定义结果变量bo
25、olean r1,r2,r3,r4,r5,r6;/计算结果,r1=a=b;r2=a!=b;r3=a b;r4=a=b;r6=a b=+r3);System.out.println(a=b=+r5);System.out.println(a=b=+r6);,图2.4 程序输出结果,2.3.3 布尔逻辑运算符,表2.3 布尔运算符及规则,例如:Boolean a=false;Boolean b=true;a&b检测到a为假,则无需判断b的值,直接将值置为假;而b|a时检测到b为真,则无需判断a的值,直接将值置为真。,【例2.5】测试布尔表达式,程序输出结果如图2.5所示。源程序代码如下:/程序文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 第二 程序设计
链接地址:https://www.31ppt.com/p-5579823.html