[计算机软件及应用]JAVA编程技术.ppt_第1页
[计算机软件及应用]JAVA编程技术.ppt_第2页
[计算机软件及应用]JAVA编程技术.ppt_第3页
[计算机软件及应用]JAVA编程技术.ppt_第4页
[计算机软件及应用]JAVA编程技术.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

Java程序设计,教材:Java程序设计简明教程 中国水利水电出版社,2019年4月15日星期一8时3分23秒,Java 程序设计,2,第2章 Java语言基础 2.1 Java语言的基本组成 Java语言主要由标识符、关键字、直接量、运符符和分隔符6种元素线成。这6种元素有着不同的语法含义和组成规则,它们互相配合,共同完成Java的语义表达。 2.1.1 标识符 在对程序中的各个元素(如变量、方法、类等)加以命名时使用的命名记号称为标识符。,2019年4月15日星期一8时3分23秒,Java 程序设计,3,Java语言中,标识符是一个字符序列,它分为两类:一类是用户自己定义使用的,其作用是用于标识常量、变量、文件、类和方法等的名字;另一类是关键字,也叫保留字。 在Java中,所有的标识符都必须以字母(AZ、az)、下划线“_”或美元符号“$”开头,后面可以包含字母、数字、下划线和美元符号。Java对标识符的有效字符个数没有限定。,2019年4月15日星期一8时3分23秒,Java 程序设计,4,2.1.2 关键字 关键字是Java语言本身使用的标识符,它有特定的语法含义。所有的Java关键字将不能被用作用户使用的标识符,如for、while、boolean等都是Java语言的关键字。 2.1.3 分隔符 分隔符是用来区分源程序中的基本成分,可使编译器确认代码在何处分隔。分隔符有注释、空白符和普通分隔符三种。,2019年4月15日星期一8时3分23秒,Java 程序设计,5,1注释 (1)单行注释,以“/”开头到本行末的所有字符被系统理解为注释,不予编译。 (2)块注释,以“/*”开始,最后以“*/”结束,中间可写多行。 2空白符 3普通分隔符 普通分隔符和空白符的作用相同,用来区分程序中的各种基本成分,但它在程序中有确定的含义,不能忽略。,2019年4月15日星期一8时3分23秒,Java 程序设计,6,2.2 数据类型 Java是一种强类型语言。每个变量、每个表达式都有一个类型,每个类型都被严格定义。所有的赋值,无论是显式的还是通过参数进行传递,都要进行类型的一致性检查。在其他一些语言中,对不一致的数据类型没有自动进行强制转换的功能。Java编译器检查所有的表达式和参数以确保其类型的一致性。在编译器对类完成编译之前,任何错误的匹配都必须纠正过来。 Java中的数据类型(data types)可分为两大类,一类称为基本数据类型,另一类称为构造数据类型。,2019年4月15日星期一8时3分23秒,Java 程序设计,7,2.2.1 基本数据类型 数据类型决定了程序处理和存储数据的方式。Java有8种基本数据类型。它们被分为4组: 整型:byte,short,int和long; 浮点型:float和double; 字符型:char; 布尔型:boolean。 可以直接使用这些类型本身或用它们构造自己的数组或类类型。,2019年4月15日星期一8时3分23秒,Java 程序设计,8,2.2.2 直接量 在Java中,程序中使用的常量称为一个直接量。所谓常量是在程序运行期间不可改变的量,又称为最终量(final)。Java的每种基本数据类型都有直接量。 2.2.3 变量 变量是内存中的一块空间,提供可以存放信息和数据的地方,具有记忆数据的功能。变量的值在程序运行过程中是可变的。变量是由标识符、类型和可选的初始值组合定义。,2019年4月15日星期一8时3分23秒,Java 程序设计,9,1声明变量 Java是强类型语言,所有变量在使用之前必须声明。变量声明的基本形式如下所示: type identifier=value,identifier=value; 2. 变量的作用域或生命周期 变量在程序中声明的位置隐含地指出了该变量的作用域。按作用域划分,Java中变量可以归纳为以下3种类型: 成员变量; 局部变量; 方法参数。,2019年4月15日星期一8时3分23秒,Java 程序设计,10,成员变量是类或对象的成员,它是在类中,但不是在类的某个方法中声明的变量。成员变量的作用域是整个类,在类的方法中也可以使用它们。另外,类的成员变量有静态变量和实例变量之分。当类的成员变量被static修饰时,它就是静态变量,否则是实例变量。实例变量在定义时是不能够赋初值的,它只能够在该类被实例化为对象时利用构造方法进行赋值。而静态成员变量可以在类定义时进行赋值。,2019年4月15日星期一8时3分23秒,Java 程序设计,11,局部变量是在一个语句块(一对花括号)中声明的,并且不能被该块以外的代码使用。例如,任何在方法中定义的变量就是一个局部变量,它只能在声明它的方法中使用。 方法参数是方法(或构造方法)的变元,用于将相应的数据传递给方法(或构造方法)。方法参数的作用域是它作为参数的整个方法(或构造方法)。,2019年4月15日星期一8时3分23秒,Java 程序设计,12,3. 最终变量 最终变量是指在程序运行过程中其值不变的量,它类似于一些程序设计语言中的“常量”。定义最终变量的方式有两种: (1)在声明变量的类型前面加final关键字,并同时进行初始化,如下所示: final double PI=3.14159; (2)在声明变量的类型前面加final关键字,在必要时再进行初始化,例如: final double PI; PI=3.14159;,2019年4月15日星期一8时3分23秒,Java 程序设计,13,4. 变量类型的转换 (1)自动转换 如果两个类型兼容,Java将自动完成转换。 (2)强制转换不兼容类型 在Java不能进行自动转换的情况下,需要使用直接的强制转换。例如,当把一个int值赋给一个byte变量时,由于byte小于int,因此需要使用强制转换。因为目标类型小于源类型,有时把这种强制类型转换叫做变窄转换。,2019年4月15日星期一8时3分23秒,Java 程序设计,14,2.3 运算符与表达式 对于数据进行的操作称为运算;表示各种不同运算的符号称为运算符;参与运算的数据称为操作数。 2.3.1 赋值运算符 赋值运算符对应了赋值运算,即赋予程序里的变量或对象一定的内容。简单的赋值运算是把一个表达式的值直接赋给一个变量或对象,使用的赋值运算符是“=”,其格式如下: 变量或对象=表达式;,2019年4月15日星期一8时3分23秒,Java 程序设计,15,2.3.2 算术运算符 Java语言的算术运算符有一元算术运算符和二元算术运算符两种。 1. 一元算术运算符 Java的一元算术运算符包括以负运算(-)、增量(+)和减量(-)三种。取负运算是改变某个数的正负符号,如原来是正数,则取负运算后的结果为负数;如原来是负数,则取负运算后的结果为正数。增量是操作数加1(当操作数为浮点数时加1.0),减量是操作数减1(当操作数为浮点数时减1.0),2019年4月15日星期一8时3分23秒,Java 程序设计,16,2. 二元算术运算符 Java的二元算术运算符有加(+)、减(-)、乘(*)、除(/)、求模运算符(%)。前面4个运算符是做一般的加、减、乘、除四则运算,求模运算符(%)也叫取余运算符。 对于两个都是整数类型的操作数,“/”表示整除,即结果舍弃小数部分,只保留整数部分;否则做实数除法运算。,2019年4月15日星期一8时3分23秒,Java 程序设计,17,需要注意的问题: (1)两个二元运算符不能放在一起。例如,5*%6就是一个无效的表达式。 (2)括号可用来改变运算顺序。例如表达式(6+4)/(2+3),首先是计算6+4和2+3,得10/5,最后求得结果为2。 (3)括号中也可以包含括号。当括号中嵌套括号时,首先计算最内层括号中的表达式。从内向外依次进行求值。 (4)乘号*不能省略。例如,表达式(3+2)(3+4)是无效的,正确形式应为(3+2)*(3+4)。,2019年4月15日星期一8时3分23秒,Java 程序设计,18,2.3.3 关系运算符 关系运算实际上就是比较运算,运算结果是布尔值。如果两个运算对象符合关系运算符所要示的比较关系,则关系运算结果为true,否则为false。 2.3.4 逻辑运算符 逻辑运算符用来表示操作数的逻辑关系,其运算结果也是用布尔值表示的。当逻辑关系成立时,其运算结果为true;反之为false。在Java中,逻辑运算符有三种。,2019年4月15日星期一8时3分23秒,Java 程序设计,19,逻辑运算符“&”和“|”有时也被称为捷径运算符或短路运算符。对“|”运算,如果左边的表达式值为true,则不必对运算符右边的表达式再进行运算,整个表达式的结果就为true;对“&”运算,如果左边的表达式的值为false,则不必对运算符右边的表达式再进行运算,整个表达式的结果就为false。 逻辑运算符的优先级比算术运算符低。,2019年4月15日星期一8时3分23秒,Java 程序设计,20,2.3.5 条件运算符 Java语言与C语言一样提供了高效简便的三元条件运算符“?:”。 该运算符的一般形式为: exp1?exp2:exp3; 其中,exp1、exp2、exp3是表达式。要注意冒号的用法和位置。表示在计算exp1后,如果结果为真,则计算exp2并将结果作为整个表达式的值;如果exp1的计算结果为假,则计算exp3并以它的结果作为整个表达式的值。,2019年4月15日星期一8时3分23秒,Java 程序设计,21,2.3.6 位运算符 1. 按位运算 位运算符用来对二进制位进行操作,其操作数只能为整型或字符型。 (1)“”是按位取反运算符 (2)“&”是按位与运算符 (3)“|”是按位或运算符 (4)“”是按位异或运算符,2019年4月15日星期一8时3分23秒,Java 程序设计,22,2. 移位运算 “移位”,就是将操作数以二进制比特位为单位,一起向某个方向移动。位运算的操作数和结果都是整型量。在进行移位操作时,左移位运算符“”,左边的空位一律填0,低位舍弃。,2019年4月15日星期一8时3分23秒,Java 程序设计,23,2.3.7 其他运算符 除上述运算符外,Java语言中还有一些其他的运算符,如“.”、“new”、“( )”、“” 2.3.8 运算符的优先级 当表达式里有很多种运算符号的时候,运算的次序,2019年4月15日星期一8时3分23秒,Java 程序设计,24,2.4 Math类的常用操作 Java的E和圆周率PI表示如下: Math.E=2.718281828459045 Math.PI=3.14159263589793 min、max取最小、最大值操作 System.out.println(“Math.max(4,6)”=”+Math.max(4,6); 结果: Math.max(4,6)=6,2019年4月15日星期一8时3分23秒,Java 程序设计,25,2. 绝对值操作 System.out.println(“Math.abs(6.8)=”+Math.abs(6.8); 3. 四舍五入操作 语法形式 Math.round() Math.rint() Math.ceil() Math.floor() round()方法与rint()都是四舍五入操作;ceil()方法是向上取数;floor()方法是向下取数。,2019年4月15日星期一8时3分23秒,Java 程序设计,26,4. 幂与对数操作 语法形式 Math.exp(val)常数E的val次方,如Eval Math.pow(vall,val2)vall的val2次数,如valval2 Math.log(val)以常数E为底求val的对数,如logEval,2019年4月15日星期一8时3分23秒,Java 程序设计,27,5三角函数操作 Math类提供了正弦、余弦、正切函数以及它们的反函数,它们不能接受角度值,只能输入弧度值。 将弧度转变为角度的方法是toDegrees();将角度转变为弧度的方法toRadians()。 l 语法形式 Math.sin(double) 求正弦值 Math.cos(double) 求余弦值 Math.asin(double) 求反正弦值 Math.acos(double) 求反余弦值 Math.atan(double) 求反正切值,2019年4月15日星期一8时3分23秒,28,2.5 Java的输入输出 2.5.1 标准输入/输出方法 Java系统类System是一个最终类,它的属性和方法都是静态的,在程序中引用直接以System为前缀即可。System类的一个重要功能就是提供标准输入/输出。一般情况下,数据标准输入的来源为键盘,标准输出的目的地为屏幕。,2019年4月15日星期一8时3分23秒,Java 程序设计,29,1. 标准输出方法 System类含有标准打印流PrintStream类的成员变量out,通过调用它的print、println或write方法来输出各种类型的数据。标准输出方法不产生输出异常,这一点与标准输入方法不同。 print和println方法的不同之处仅在于println输出后换行而print不换行。,2019年4月15日星期一8时3分23秒,Java 程序设计,30,class ch0207 public static void main(String args) Object o=”an example”; char c=a,b,c,d,e; byte b=f,g,h,i,j; System.out.println(true); System.out.println(C); System.out.println(100); System.out.println(200000L); System.out.println(13.6F); System.out.println(2346.99D); System.out.println(“a student”); System.out.println(o); System.out.println(c); System.out.println( ); System.out.write(b0); System.out.flush(); ,2019年4月15日星期一8时3分23秒,Java 程序设计,31,2. 标准输入方法 键盘是标准输入设备,用户通常用键盘输入数据。System类含有标准输入流的成员变量in,可以调用它的read方法来读取键盘数据。输入比输出更容易出错。一个错误的输入将会导致程序的崩溃(程序中断或退出)。程序运行时发生的错误称为异常。,2019年4月15日星期一8时3分23秒,Java 程序设计,32,class ch0208 public static void main(String args)throws java.io.IOException char c; System.out.println(“Please input a char:”); c=(char)System.in.read(); /从标准输入读入一个字节的信息并返回给一个字符变量 System.out.println(“Receive char=”+c); ,2019年4月15日星期一8时3分23秒,Java 程序设计,33,2.5.2 流式交互输入输出 import java.io.*; public class ch0211 public static void main(String args)throws IOException InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); /* System.in代表系统缺省的标准输入(即键盘),首先把它转换成InputStreamReader类的对象reader,然后转换成BufferedReader类的对象input,使原来的比特输入变成缓冲字符输入*/ System.out.print(“Enter your name:”); String name=input.readLine(); /*readLine()方法读取用户从键盘输入的一行字符并赋值给字符串对象name*/ System.out.println(“Hello,”+name+”!”); /字符串回显示在屏幕上 ,2019年4月15日星期一8时3分23秒,Java 程序设计,34,从键盘输入直到屏幕输出,涉及System.in、reader、input、name和System.out5个对象,其中System.in和System.out在系统类System中定义。除了name对象,其他对象在系统中负责传递字节的字符,这些对象被称为流对象。就像一条水流,数据在它们当中按照一定的顺序流动。,2019年4月15日星期一8时3分23秒,Java 程序设计,35,2.5.3 GUI图形界面输入方法 import javax.swing.JOptionPane

温馨提示

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

评论

0/150

提交评论