Java语言基础.ppt_第1页
Java语言基础.ppt_第2页
Java语言基础.ppt_第3页
Java语言基础.ppt_第4页
Java语言基础.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 Java语言基础,2.1 语言成分 2.2 语句与结构化程序设计 2.3 数组 2.4 字符串,2.1 语言成分,2.1.1 标识符与关键字 2.1.2 基本数据类型 2.1.3 变量与常量 2.1.4 运算符与表达式,2.1.1 标识符与关键字,关键字 标识符 分隔符 注释 程序书写风格,关键字表,Java 关键字表(50个,有多少是见过的?) abstract boolean breakbyte casecatch charclass constcontinue defaultdo doubleelseextends final finallyfloatforgoto ifimpl

2、ementsimportinstanceof intinterface longnative newnullpackage private protectedpublicreturnshort staticsuperswitchsynchronized thisthrow throwstransient tryvoid volatilewhile truefalse * 其中const、goto 只保留没使用,程序组织描述:package, import 定义类: class, extends, interface, implements 类和成员修饰定义(使用和访问限制): public,

3、private, protected, abstract, static, synchronized, volatile, final, native 简单数据类型: long, int, short, byte, double, float, char, boolean 值和变量: false, true, this, super, null, void 异常情况处理: throw, try, catch, throws 实例(对象)的创建和检验: new, instanceof 流程控制: if, else, switch, case, default, break, for, conti

4、nue, return, do, while.,关键字分类,标识符,什么是标识符 主要用做类名、变量名、方法名、数组名、文件名的有效字符序列称为标识符. 命名标识符的规定 由字母、下划线、美元符号和数字组成 第一个字符不能是数字 区分大小写 标识符不可以是关键字 长度不限 例如: Girl_$、www_12$、$23boy /合法 88A、”号 “,”号 分别是什么的分割符?,Java注释,注释 是程序中的说明文字,用于帮助阅读程序,它不是语句,不会在程序运行程序中显示,也不影响程序执行效率 Java语言的注释有三种形式 行注释 / 块注释 /* */ 文档注释 /*/ (java特有) 注意

5、:/* */注释在Java中不可嵌套使用,Java注释举例,使用双斜杠(/)加注释 int fontsize = 30; / 设置标题字体大小 多行注释 合法的注释嵌套 /* Save this old line of code when we test for the 13 monitors / int fontsize = 30; /set the title fone size */ 不合法的注释嵌套 /* Save this old line of code when we test for the 13 monitors / int fontsize = 30; /* set the

6、 title fone size */ */ 文档注释 /* 程序说明文本 */ 可由实用程序javadoc自动生成HTML文档。举例,package firststep; public class MyApp public static void main(String argv ) System.out.println(Hello!Java!); ,比较好风格的程序,比较好的编程风格是,类名起得有意义: MyFirstClass GoodCar MyComputer等等。 编java程序一定注意大小写。类名一般大写,系统的类名肯定大写。 类名首字母一般大写 不要用$开头的变量名。可能会冲突

7、。,2.1.2 基本数据类型,什么是数据类型 数据类型的分类 基本数据类型:8种(长度固定,与C不同) 引用数据类型:3种数组(array)、类(class)和接口(interface) 整数类型byte,short,int,long 浮点数类型float,double 字符类型char 布尔类型boolean,整数类型,取值范围 int型, 4个字节,32位,取值范围: -231231-1 十进制: -2147483648 至 2147483648 byte型, 1个字节, 8位,取值范围: -2727-1 十进制: -128 至 127 short型, 2个字节,16位,取值范围: -21

8、5215-1 十进制: -32768 至 32767 long型, 8个字节,64位,取值范围: -263263-1 十进制: -9223372036854775808L 至 9223372036854775807L 每种类型都可以处理不同范围的数字,并且都是带符号的、负的和正的值 常量: 1236 (十进制),0777(八进制),0 x3ABC(十六进制) 5432112345L 或 5432112345l(长十进制),浮点类型,取值范围 float型, 占4个字节, 32位, 取值范围: 10-381038和-1038-10-38 十进制值: 3.40282347E+38 double型,

9、 占8个字节, 64位, 取值范围: 10-30810308和-10308-10-308 注意: 与整数数据类型不同,当执行运算时如果出现某种不正常的状态,浮点数据类型不会抛出异常。比如,如果你用0来除某浮点类型,则Java会赋予结果值为无限值 常量: 23.54f、 12389.987F 对应float型 123.5439、 123.5439d、 123.5439D 对应double型(默认类型) 123.24e40 (科学计数法表示, 123.24乘10的40次方),字符类型,Java使用unicode字符集(16位), char类型的取值范围 0-65535,不存在负值. 常量:A,b,

10、?,!,9,好,t, u0061 也表示字母a 对于语言中用做保留字的字符,或者不能直接输入的字符,则在使用它们之前必须加上转义符( )反斜线字符。 例如, 单引号 “ 双引号 反斜线 b 退格 f 换页 n 换行 r 回车 t 制表键 注意:字符常量须用一对单引号括住,char类型可参与整数运算,逻辑类型(布尔型)(boolean),常量:true,false 注意: 逻辑变量主要用于程序控制流中作条件判断, 不能对它进行算术计算,不能赋予数字值,2.1.3 变量与常量,变量 变量声明 修饰符 类型 变量 = 表达式 , 变量= 表达式 例如:int i, j; boolean x=true

11、, tom=false, 漂亮=true; 变量参与的运算和操作 作用域 常量 直接常量和符号常量 常量声明 final int MAX=10; C语言如何处理?,作用域的例子,double j; for(int i = 0; i 10; i+) char j; j = A; int i;,2.1.4 运算符与表达式,运算符 算术运算符:+(正)、-(负)、+、-、+(加)、-(减)、*、/(除)、%(取余) 关系运算符:=、!=、=、(右移位)、(无符号右移位) 赋值运算符:= 、+=等 注:红色字体有例子,2.1.4 运算符与表达式,强制类型转换符 (数据类型) 表达式 条件运算符 表达式

12、1 ? 表达式2 : 表达式3 括号运算符:()、 字符串连接运算符:+ System.out.println(max = +max); 点运算符:. 对象运算符:instanceof 逗号运算符:,(确切的说,是分割符),2.1.4 运算符与表达式,运算符的优先级 运算符的结合性(编程时加括号) 单目运算符的结合性 双目运算符的结合性 表达式 表达式的运算规则 表达式的数据类型 书写表达式时的注意事项,2.1.4 运算符与表达式,类型兼容原则 类型相同 类型相容 赋值相容 类型不同也不相容时怎么办? 【例2.2】 求一个三位数的数字和。 【例2.3】 求圆面积。 【例2.4】 判断一个年份是

13、否为闰年。 思考:如何设计算法,表达式中类型转换,自动转换 byte short int long float double char int 强制转换(造型 Cast) 格式: (类型)表达式 规则: 短类型 长类型:默认 长类型 短类型:强制 注意:布尔型与其他类型的转换不能用强制转换,类型转换的例子,例:int a ; long b ; b = a+123 ; /自动转换 a = ( int ) b ; /强制转换 布尔型与其他类型的转换方法 int j ; boolean tj; j = tj ? 0 : 1 ; /布尔型转换成整数型 tj = ( j != 0 ) ; /整数型转换成

14、布尔型,2.2 语句与结构化程序设计,2.2.1 程序的3种基本结构及Java语句分类 2.2.2 顺序结构语句 2.2.3 选择语句 2.2.4 循环语句 2.2.5 转移语句,2.2.1 程序的3种基本结构及Java语句分类,程序的3种基本结构 顺序结构、分支结构、循环结构(do-while结构?),图2.5 while与do-while语句执行流程,图2.2 不执行与死循环,Java语句分类,2.2.2 顺序结构语句,表达式语句 表达式; 空语句 复合语句 变量声明或常量声明; 语句序列; ,2.2.3 选择语句,根据程序中的条件,进行选择后执行 两路分支 条件语句( if else )

15、 多路分支 开关语句( switch ),表达式,语句,语句,ture,false,语句,语句,语句,表达式,if 选择语句,if语句 if语句的语法格式 if ( 布尔表达式 ) 语句1; else 语句2; (else 项是可选的,与最靠近的 if 配对) 【例2.5】 求三个整数中的最大值与最小值。(画流程图),if语句的复合条件和嵌套,复合条件 if (n=100) else if ( score 80 注意:若判断表达式的两边相等用 =(两个等号),switch语句,switch (表达式) case 常量表达式1: 语句序列1; break; case 常量表达式2: 语句序列2;

16、 break; default: 语句序列; 注意:常量值可以是常量表达式,常量值必须互不相同, 常量类型必须是byte, char, short或int之一 【例2.7】 显示星期几对应的英文字符串。 (画流程图),switch语句的一些用法,例子 switch (letter_grade) case A: case B: case C: status= PASS; break; default: status= FAIL; ,例子2,import java.applet.*; import java.awt.*; public class Example_2 extends Applet

17、public void paint(Graphics g) int x=2, y=2; switch(x+y) case 1 : g.setColor (Color. red) ; g.drawString(i am 1,5,10); break; case 2 : g.setColor (Color. blue) ; g.drawString(i am 2,5,10) ; break; case 3 : g.setColor (Color. green) ; g.drawString(i am 3,5,10) ; break; default : g.drawString(没有匹配的数字,

18、5, 10) ; ,2.2.4 循环语句,while语句 while语句语法 while (布尔表达式) 语句; 【例2.8】 用while语句求1n的累加和。 (画流程图) while语句循环执行次数问题讨论 【例2.9】 计算Fibonacci序列。(算法分析),【例2.9】 计算Fibonacci序列的算法分析,循环的每一步计算两个数值,do-while语句,do-while语句语法 do 语句; while (布尔表达式); 【例2.10】 用do-while语句求累加和。 (画流程图) do-while语句循环执行次数问题讨论 【例2.11】 用辗转相除法求两个整数的最大公因数。 g

19、cd(a,b)=gcd(b,a%b),a=b,b=a%b,for语句,for语句语法 for (表达式1; 表达式2; 表达式3 ) 语句; 【例2.12】 用for语句求累加和并显示计算公式。 (画流程图) for语句循环执行次数问题讨论 使用for语句需要注意的问题 【例2.13】 求一个日期(年月日)对应的是星期几。(算法分析),【例2.13】 求一个日期(年月日)对应的是星期几算法分析,(平年个数*365+闰年个数*366+前几月相差天数+本月相差天数)%7 Year-1980已经包含平年和闰年 (Year-1980+3)/4仅闰年(每个闰年多1天),循环条件的用法,/ 例子 求10的

20、阶乘。 import java.applet.*; import java.awt.*; public class Example_4 extends Applet public void paint(Graphics g) long jiecheng=1; for(int i=10; i=1; i-) jiecheng=jiecheng*i; g.drawString(10的阶乘是 +jiecheng, 10, 20) ; ,循环条件的用法(续),循环的初始化、条件、增量部分均可以是空语句,即可以不放置语句或者表达式而只留下分号 例子 for ( ; found_it = false ; )

21、 语句 省略表达式1和表达式3 特殊例子 for ( ; ; ) 语句 ,多重循环,【例2.14】 输出九九乘法表。 演示for-for的两重循环结构。 【例2.15】 求100以内的素数。 演示while与do-while语句构成的二重循环结构。 主要测试奇数 外层测试范围内的所有奇数。 内层循环判断该奇数是否为素数。,2.2.5 转移语句,return语句 return 返回值; break语句和continue语句 break; 从循环体内跳出至后面语句,结束当前循环 continue; 跳过本轮循环剩余语句,直接进入当前循环下一轮;for语句中的continue跳至表达式3计算修改增量

22、,循环体中的continue举例,int sum=0, i, j; for( i=1;i=10 ;i+) if(i%2=0) continue; /计算 1+3+5+7+9 sum=sum+i ; System.out.println(sum= +sum) ;,循环体中的break举例,for( j=2; j j/2 ) System.out.println( “ ”+j+“是素数” ); ,2.3 数组,2.3.1 一维数组 2.3.2 二维数组,2.3.1 一维数组,声明一维数组变量 数据类型 数组 或 数据类型 数组 int a; 或 int a; 使用new为数组分配空间 数组 = n

23、ew 数据类型长度 a = new int5; int a = new int5; 数组元素的表示 数组下标 a0,a1,a2,a3,a4,2.3.1 一维数组,数组元素的运算 ai = ai-2+ai-1;/数组元素能够参加运算 数组长度length 数组.length 数组声明时赋初值 int a=1,2,3,4,5; 【例2.16】 用一维数组计算Fibonacci序列值。 【例2.17】 “筛选法”求素数。 (算法分析),【例2.17】 “筛选法”求素数算法分析,用已有的素数去测试一个奇数是否为素数。,图2.7 一维数组,2.3.1 一维数组,数组元素的初始化 理解引用数据类型 基本数据类型变量的传值赋值,数组变量的引用赋值,复制数组,public static void arraycopy(Object src, int

温馨提示

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

评论

0/150

提交评论