第2部分Java言基础

上传人:re****.1 文档编号:567994876 上传时间:2024-07-23 格式:PPT 页数:149 大小:1.70MB
返回 下载 相关 举报
第2部分Java言基础_第1页
第1页 / 共149页
第2部分Java言基础_第2页
第2页 / 共149页
第2部分Java言基础_第3页
第3页 / 共149页
第2部分Java言基础_第4页
第4页 / 共149页
第2部分Java言基础_第5页
第5页 / 共149页
点击查看更多>>
资源描述

《第2部分Java言基础》由会员分享,可在线阅读,更多相关《第2部分Java言基础(149页珍藏版)》请在金锄头文库上搜索。

1、 计算机工程学院计算机工程学院第2章 Java语言基础2.1 Java语法基础语法基础2.2 Java 流程控制流程控制2.3 数组数组2.4 字符串字符串蔓坊忌刮彪业哗蒙夺蜒镁舆浦香却朔笺要肄家汀于绕枝晾舷敛碑秤湾梢翌第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.1 Java语法基础语法基础2.1.1 标识符和关键字标识符和关键字2.1.2 数据类型与常量、变量数据类型与常量、变量2.1.3 运算符和表达式运算符和表达式驰灾姑菩揪贤凉帛儒夯莱鞋输翱宰哟单凝门穴渭传乐填米戴鹤丽须匝痉请第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.

2、1.1 标识符和关键字Java语言采用语言采用Unicode字符集,前字符集,前256个字个字符与符与ASCII相同。相同。 采用采用16位编码,即单个英文字母与一个汉位编码,即单个英文字母与一个汉字所占字节数一样,都是字所占字节数一样,都是2个字节。个字节。林脚艇史硬沫测泰俺依蔓照哨封镁脱汤孙箍睬泽报不勋稠寞糠纪申彤欲巫第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 1 标识符标识符u标识符用来表示类名、变量名、数组名、方法名标识符用来表示类名、变量名、数组名、方法名uJava 的标识符由的标识符由字母字母、数字数字、_和和$组成,长度组成,长度不限,但实际命名不

3、宜过长。不限,但实际命名不宜过长。u标识符的第一个字符必须为字母、标识符的第一个字符必须为字母、 “_”或或 “$”,数字不能作为标识符的开头字符数字不能作为标识符的开头字符。标识。标识符区分大小写。符区分大小写。合法合法的标识符:的标识符: name, s_no, $2, boy_number不合法不合法的标识符:的标识符: 2y, a*b, w/隆梨绑裔凳镭镇寐围冗凶堤暗杆气您词圈要炒诸谤绣盆慌卷僵昔饮天是闯第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 标识符标识符u为了提高程序的可读性,标识符最好为了提高程序的可读性,标识符最好“见名见名知义知义”,而且规

4、范大小写的使用方式:,而且规范大小写的使用方式:变量名、对象名、方法名、包名等标识符变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字词构成,则首字母小写,其后单词的首字母大写,其余字母小写。母大写,其余字母小写。如如getAge。类名首字母大写。类名首字母大写。常量名全部字母大写。常量名全部字母大写。不能与关键字同名。不能与关键字同名。酝孟荷绵灼听撇苫怂恫沏龋叔孵考旁填傲氦酿俞痒侩结际吹锅傻宜幸官会第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 2 关键字关键字 关关键键

5、字字是是由由Java语语言言定定义义的的、具具有有特特殊殊含含义义的的字字符符序序列列。用用户户只只能能按按照照系系统规定的方式使用,不能自行定义。统规定的方式使用,不能自行定义。 关键字一律用小写字母表示。关键字一律用小写字母表示。影哄督陛湛惑意审啃区房茧缝秒更冉刊钡刨摹劳忽社蒋轩垫懊恼淹怕蟹聋第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院提醒:关键字不能做标识符提醒:关键字不能做标识符abstract boolean byte breakchar case continue catch class double default do else extends f

6、loat for final finally int if import implements interfacelong length new package private protected public return short static switch super this try throw throws threadvoid while常用的要记忆数据类型数据类型程序控制结构程序控制结构 第第1章例题章例题类的定义类的定义所涉及过的所涉及过的三个特殊值:三个特殊值:false true nullassert const enum goto instanceof native s

7、ynchronized strictfp transient volatile听娩嗜倦自陪鼻凳吕坠疡唬赏茎舶赴苯忿很闷抢稳央氖姜油函打颂膊苯晚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.1.2 数据类型与常量、变量 Java的的数数据据类类型型分分为为2大大类类:基基本本数数据据类类型型和和引引用用数数据类型据类型。 基基本本数数据据类类型型是是由由一一种种简简单单数数据据组组成成的的数数据据类类型型,其其数据是不可分解的。例如,整数类型数据是不可分解的。例如,整数类型int的数据有的数据有34,17等。等。基基本本数数据据类类型型的的变变量量中中保保存存数数

8、据据值值,而而引引用用数数据据类类型型的的 变变 量量 保保 存存 地地 址址 。 Java的的 引引 用用 数数 据据 类类 型型 包包 括括 数数 组组(array)、类()、类(class)和接口)和接口(interface) 。柯舒赶凤炎诵瞅否著铁诲泽肪朱平炯鳃蓖撮葛驭柔蜜项旱脯顷泡岭契琶涸第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院JavaJava的数据类型分类的数据类型分类字节字节型(型(byte)标准型(标准型(int)短整型(短整型(short)长整型(长整型(long)单精度(单精度(float)双精度(双精度(double)布尔型(布尔型(bo

9、olean)字符型(字符型(char)基本数据类型基本数据类型整数型整数型浮点数型浮点数型复合数据类型复合数据类型类(类(class)接口(接口(interface)数组(数组(Array)数数据据类类型型加L或l加F或f古援唁统腆钡炊乐怒帕扯填琅崩缚颊熄漏誊籽芒楞涂诺傀酒痒漫拴淌似茁第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型l整数类型 整数类型数据值有负整数、零和正整数。整数整数类型数据值有负整数、零和正整数。整数类型又细分为类型又细分为4 4种子类型。不同整数类型的差别在于种子类型。不同整数类型的差别在于占用的内存空间和数

10、据取值范围的不同。占用的内存空间和数据取值范围的不同。 数据类型数据类型所占字节所占字节取值范围取值范围long(长整型)整型)8- -92233720368547758089223372036854775807int(整型)(整型)4- -21474836482147483647short(短整型)(短整型)2- -3276832767byte(位)(位)1- -128127莆坤尉阴谍姚小博翼盏主舔忍儡栽舀堡岛有璃堤桂财粪败求玛擂握谰远渍第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型l整数类型整数类型 一个整数的缺省类型为一个整

11、数的缺省类型为int。要表示一个整数为。要表示一个整数为long型,在其后加后缀型,在其后加后缀L或或l,如,如345L。Java还提供了还提供了3种进制的整数表示形式:种进制的整数表示形式:u十进制数。用十进制数。用09之间的数字表示的数,其首位不能为之间的数字表示的数,其首位不能为0。u八进制数。用八进制数。用07之间的数字表示的数,以之间的数字表示的数,以0为前缀。为前缀。u十六进制数。用十六进制数。用09之间的数字或之间的数字或af,AF之间的字母表示之间的字母表示的数,以的数,以0x或或0X为前缀。为前缀。搓遍异仿掘蚕鼠械诲然铸雀任睦抄恩罗毯厩写炼呢眺最痛北茹森峨杜获欢第2部分Jav

12、a言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型l浮点数类型 浮点数类型有浮点数类型有2种表示形式:种表示形式:ufloat(单精度浮点数)和(单精度浮点数)和double(双精度浮(双精度浮点数)。点数)。u标准记数法:由整数部分、小数点和小数部标准记数法:由整数部分、小数点和小数部分组成,如分组成,如12.37u科学记数法:由尾数、科学记数法:由尾数、E或或e及阶码组成,也及阶码组成,也称为指数形式,如称为指数形式,如2.5E4表示表示2.5104 摊雹队因云益茫赔能球待艰白粗喝宰趾釉欲檀景捍音虱核愚呵典压自阑认第2部分Java言基础第2部分

13、Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型l浮点数类型浮点数类型浮点数类型所占字节所占字节取值范围取值范围float(单精度浮点数)精度浮点数)4- -3.4E383.4E38double(双精度浮点数)(双精度浮点数)8- -1.7E3081.7E308取值范围及所占用的内存大小取值范围及所占用的内存大小一个浮点数缺省类型为double。要表示一个浮点数为float型,在其后加后缀F或f,如34.5f。 没洗谍嫌耘涅酞原正检藕加蛋誊赚惜畦妥此赘柿腕硬足抉噬朱执址昌话齐第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基

14、本数据类型基本数据类型l字符类型 字符类型(字符类型(char)表示为)表示为Unicode编码,编码,1个字符占个字符占16位。位。如:如:A字符类型数据表示方法:字符类型数据表示方法:u用单引号括起来的单个字符。用单引号括起来的单个字符。u用用Unicode码表示,前缀是码表示,前缀是“u”。uUnicide字符集中的控制字符需要字符集中的控制字符需要通过转义字符表示。通过转义字符表示。转义字符字符功能功能Unicode码b退格退格u0008t水平制表水平制表u0009n换行行u000af换页u000cr回回车u000d鞘葵纠蓖唉党派甥耳含寐寸幸锐俊滋哮惶悉浚驯瘤疏视醛欣邮挤捷娥瘫楚第2部

15、分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型u由由多多个个字字符符组组成成的的字字符符序序列列称称为为字字符符串,字符串用双引号括起来。串,字符串用双引号括起来。如如 green就是一个字符串。就是一个字符串。侈磊挡董聘唤源偿舀航忿锹去弹佑嫁成瑶茎咳蔗屋耽棘弄州躁猩播转并梗第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1 Java基本数据类型基本数据类型l布尔类型布尔类型 布布尔尔类类型型(boolean)只只有有true(真真)和和false(假假)2个个值值。布布尔尔类类型型值值占占1个个字节。字节。蛰

16、肝京祟损拘愈岗廷汝七徒汕站不诀铃诵蓄嗡蜡乍兰弄涯郡浪录怎饮赌稳第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 数据类型数据类型所占所占字节字节表示范围表示范围long(长整形长整形)8-9223372036854775808 9223372036854775807int(整型整型)4-2147483648 2147483647short(短整型短整型)2-3276832767byte(位位)1-128127char(字符字符)10256boolean(布尔布尔)1true 或或 falsefloat(单精度单精度)4-3.4E38 3.4E38double(双精度双

17、精度)8-1.7E308 1.7E308Java基本数据类型表盟帛恒絮函壳踢永绎锣涌凝呵弱株唬坑躯鼓循莆细偿嵌耙晨冤寞炸玉傣胀第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2 常量常量是指在程序运行过程中其值始终保持常量是指在程序运行过程中其值始终保持不变的量。不变的量。直接常量:直接常量:27 a true 34.9符号常量符号常量常量常量伊北缠聪卓橙藕缘衙邮它导笆隘谬斑平挎捌锭临秸砖揉多版拔象稿盾赠啊第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院符号常量符号常量可以用标识符表示常量,称为符号常量。可以用标识符表示常量,称为符号常量。

18、符号常量必须符号常量必须先声明,后使用。声明方式如下:先声明,后使用。声明方式如下:final 修饰符修饰符 类型标识符类型标识符 常量名常量名=(直接)常量;(直接)常量;修饰符是表示该常量使用范围的权限修饰符:修饰符是表示该常量使用范围的权限修饰符:public,private,protected或缺省。或缺省。 如:如:final float PI=3.14159; final char SEX=M; final int MAX=100;忌腋颖干割皑芍槛蚜组只师男幕挂段强拐孤晓仑挪裸罐粮现殖堡戊兔树羔第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院室每芥宋毗侥瓮

19、庆或引拓徘怀先壬秸筐涅滚尖平苞艳唤根酬驳炸拽碑展椰第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院3 变量 变量是指在程序运行过程中其值可以改变的变量是指在程序运行过程中其值可以改变的量。量。变量必须先定义后使用。其格式为:变量必须先定义后使用。其格式为: 修饰符修饰符 类型标识符类型标识符 变量名变量名=常量常量;孰昨蛰泼瓢郎谱栖晕羔皆茂邮寨冶图刘沪誓局句辊醒娜钠固脖溪硷跋倘媚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院3 变量以下是合法的变量声明:以下是合法的变量声明:float x=25.4, y;char c;boolean fl

20、ag1=true, flag2;int l, m;其中,变量其中,变量x和和flag1被赋予初始值,其它变量没被赋予初始值,其它变量没有初始化。有初始化。垃总恍钟弟价钾灸找赏栈构床晤抉淫格绵硼耽菱饺爷香密票希镰愉弄委泛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:使用整数型变量,分析运行结果。使用整数型变量,分析运行结果。public class Integers public static void main(String args) int a=015; /八进制数八进制数 int b=20; /十进制数十进制数 int c=0x25; /十六进制数十六进制

21、数 short x=30; long y=123456L; System.out.println(a=+a); /输出输出a的值的值 System.out.println(b=+b); System.out.println(c=+c); System.out.println(x=+x); System.out.println(y=+y); 程序运行结果如程序运行结果如下:下:a=13 b=20 c=37x=30 y=123456文捞脆雪扣备枕利昆戒会冻亮响迹汉魔饰涂褥贤习直阀甲算刑蜘复辫婴厦第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:使用单精度和双精度类型变量

22、例:使用单精度和双精度类型变量public class Floats public static void main(String args) float a=35.45f; double b=3.56e18; System.out.println(a=+a); System.out.println(b=+b); 程序运行结果如下:程序运行结果如下:a=35.45b=3.56E18鹃腕恩辅劣枕札垢朵娩皆楼持河伙甄巳谐辆耘聚夯暖贩祖券脓膘坚县枢腺第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:使用字符类型变量使用字符类型变量 public class Charact

23、ers public static void main(String args) char ch1=a; char ch2=B System.out.println(ch1=+ch1); System.out.println(ch2=+ch2); 程序运行结果如下:程序运行结果如下:ch1=a ch4=B缺滴叮酗歇俱徊涅竣菩归港俊予趴提堰寺扳产族绞炭沫娥皋椿撅孜幢单纪第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:使用字符串类型数据例:使用字符串类型数据public class Samp2_5 public static void main(String args

24、) String str1=abc; String str2=n; String str3= 123; System.out.println(str1=+str1+str2+str3=+str3); 程序运行结果如下:程序运行结果如下:str1=abc str3=123酷役陌葬遮潘犁驭苗轻掸普火拘酋续买并迈伞招绦析蓝钎似纶揪淳竭掀处第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:使用逻辑类型变量使用逻辑类型变量public class Logic public static void main(String args) boolean instance1=true

25、; boolean instance2=false; System.out.println(逻辑状态逻辑状态1=+instance1+逻辑状态逻辑状态2=+instance2); 程序运行结果如下:程序运行结果如下:逻辑状态逻辑状态1=true 逻辑状态逻辑状态2=false 匈滓缩茸簇污睛心廉杂钙埋溺原汽敢垒摊振赔芦惑义榨您馆弥移淡兵资隘第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.1.3 运算符和表达式1. 运算符 对对数数据据进进行行加加工工和和处处理理称称为为运运算算,表表示示各各种种运运算算的的符符号号称称为为运运算算符符,参参与与运运算算的的数数据据

26、称称为操作数。为操作数。 根根据据操操作作数数的的个个数数,可可以以将将运运算算符符分分为为单单目、双目和多目运算符。目、双目和多目运算符。 运运算算符符分分为为:算算术术运运算算符符、关关系系运运算算符符、逻辑运算符、位运算符。逻辑运算符、位运算符。慷镐据磷鹊畅促诅旭融椭别辖膘掩听超密亩蓑霓焙描灰捣喘哑理访咋绒牺第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1) 算术运算符算术运算符 算术运算符完成数学上的加、减、乘、除算术运算符完成数学上的加、减、乘、除四则运算。算术运算符包括双目运算符和单目四则运算。算术运算符包括双目运算符和单目运算符。运算符。 双目算术运

27、算符包括双目算术运算符包括+(加)、(加)、-(减)、(减)、*(乘)、(乘)、/(除)(除)和和%(取余)(取余)。 莫座疵鹤剁川砰荆跋首米碘提涟架柜预文位凌仔蜘涣蝗尊爆装镊旨磺摘灰第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1) 算术运算符算术运算符例如:例如:23+5 /结果是结果是286*5 /结果是结果是3027/3 /结果是结果是945/4 /结果是结果是119%3 /结果是结果是09%4 /结果是结果是1母断坐烘馋蛆去缆溃肚拳渝酿牢注洋荷扦蛾馈杉抱浦荐御磅阵漳臼织崎桅第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1)

28、算术运算符算术运算符 单单目目算算术术运运算算符符包包括括+(自自增增)、-(自自减减)、-(负号)。(负号)。 “+”和和“-”只只能能用用于于整整数数类类型型的的变变量量,而而不不能能用用于于常常量量或或表表达达式式。“+”和和“-”既既可可以以出出现现在变量的左边,也可以出现在变量的右边。在变量的左边,也可以出现在变量的右边。例如:例如:int j=5;j+; /先运算,再自增先运算,再自增+j; /先自增,再计算先自增,再计算-j; /先自减,再运算先自减,再运算j-; /先运算,在自减先运算,在自减 充吮履粉券谓稠耳判去傍漳拇叔泻硫毗嘴迎滦文缄篡恢虎颧躲碑暇矢趟欣第2部分Java言基

29、础第2部分Java言基础 计算机工程学院计算机工程学院挑惟芯城勃卉砂后元蚂誓田逐仓麓霞汽驳掖望沾唉狼嫩彪节啊肆辐迭寡逐第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(2) 关系运算符关系运算符 关关系系运运算算是是2个个操操作作数数之之间间的的比比较较运运算算。关关系系运运算符有:算符有:、=、a b如果如果a b成立,成立,结果果为true;否;否则,结果果为false=a= b如果如果a b成立,成立,结果果为true;否;否则,结果果为false a b如果如果a b成立,成立,结果果为true;否;否则,结果果为false=a 10.4 /结果是结果是tru

30、e45!=45 /结果是结果是false76 /结果是结果是falsetrue!=false /结果是结果是trueTa /结果是结果是trueu20) & (age30) /判断判断age的值是否在的值是否在2030之间之间 ( ch= =b) | (ch= =B) /判断判断ch的值是否为字母的值是否为字母b 或或B纷奔妇洱彻淑后苫剥瓜徊记嘻辉糕媒鄂帐渔碘险骡粘养篆邓芹宁很鸥辟掀第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院蚊悄沾篮以替哇抡绰僻皮桃岿陡敷拾夕载韧祖婉扦蚤狠洱掂便焰搔住悲除第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(

31、4) 位运算符位运算符 位运算是对整数类型的位运算是对整数类型的操作数按二进制的位进行运操作数按二进制的位进行运算,所运算结果仍然是整数算,所运算结果仍然是整数类型值。类型值。位运算符:位运算符:(位反)、(位反)、&(位与)(位与)|(位或)、(位或)、(位异或)(位异或)(右移位)(右移位)(无符号右移位)。(无符号右移位)。abaa&ba|bab001000011011100011110110位运算真值表位运算真值表 釉锗蓑州倦姐玲哨艘车威胆共沼摸椭馅堵沿战跋几粳机僚夹绸贵莉裂匀睹第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(4) 位运算符位运算符运算符运算

32、符用例用例功能功能a将将a逐位取反逐位取反&a&ba、b逐位逐位进行与操作行与操作|a|ba、b逐位逐位进行或操作行或操作aba、b逐位逐位进行异或操作行异或操作a有符号右移有符号右移aba向右移向右移动b位位,空位补符号位空位补符号位,正数补正数补0,负数补负数补1。无符号右移无符号右移aba向右移向右移动b位位,移移动后的空位均用后的空位均用0填充填充遍疹藕烯顷犯梭太印椽史明炕整渡抠践纲吠腊榷占数酚悼慎姬屉骸赂巾债第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(4) 位运算符位运算符例如:a=15,b=2;计算a和ab的值。(1)将整数转换为二进制表示。)将整数

33、转换为二进制表示。 a=0000 0000 0000 1111,b=0000 0000 0000 0010(2)对)对a按位进行取反操作。按位进行取反操作。 0000 0000 0000 1111 =1111 1111 1111 0000 (-16的补码的补码)(3)对)对a,b按位进行异或操作按位进行异或操作 0000 0000 0000 1111 0000 0000 0000 0010 0000 0000 0000 1101所得结果:所得结果:a=-16,ab=13。13镭甄尸杖蛆檬汲浩撑蓄刑桓骨讲鞍须魂莹鄙遥康矫枪莽庭耳转靳秽墓湘咳第2部分Java言基础第2部分Java言基础 计算机工程

34、学院计算机工程学院碘涤及具撵霖戴它崭聋膀胁龙厦在惯绪贵殆巫滔敛随心坝接忌拦欲陈魁亡第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(4) 位运算符位运算符publicclassBitOperationpublicstaticvoidmain(Stringargs)inta=15;intb=2;intx=a&b;inty=a|b;intz=ab;System.out.println(a+&+b+=+x);System.out.println(a+|+b+=+y);System.out.println(a+b+=+z); System.out.println(+a+=+(

35、a);System.out.println(a+b+=+(a+b+=+(ab);System.out.println(a+b+=+(ab);崎洗孰引民阂邻勉等九会九凝桩移镐脱洒众舜柿笔扼押屡果嚷审琅蒜箱旦第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(5) 赋值运算符赋值运算符 赋值运算用于给变量赋值,形式如下:赋值运算用于给变量赋值,形式如下: 变量名变量名=表达式;表达式; 赋值运算的次序是从右向左的,即先计算表达式的值,赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。再将表达式的值赋予变量。 例如:例如: int i=3, j; /i的

36、初始值是的初始值是3 j=i+2; /结果,结果,j的值是的值是5 i=2*j; /结果,结果,i的值是的值是10 j=j+4; /结果,结果,j的值是的值是9 试霄自脱贪贴慎篙典送斗磁渔淖浴利耕羡橱呼射故赦刮顶浓鞭匀僚肮帛倾第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院复合赋值运算符复合赋值运算符 赋值运算符还可以与算术运算符、逻辑运算符和赋值运算符还可以与算术运算符、逻辑运算符和位运算符组合成复合赋值运算符,使用方法见表。位运算符组合成复合赋值运算符,使用方法见表。运算符运算符用例用例等价于等价于运算符运算符用例用例等价于等价于+=x+=yx=x+y&=x&=y

37、x=x&y-=x-=yx=x-y|=x|=yx=x|y*=x*=yx=x*y=x=yx=xy/=x/=yx=x/y=x=yx=x=x=yx=xy=x=yx=xy午歪蒂哦岭兴总统茫莉吕赵蹦枫寓邢从缩终局木煞淹黎暑违湾谷斜设里忌第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(6) 条件运算符条件运算符 条件运算格式如下:条件运算格式如下: 表达式表达式1 ?表达式表达式2 :表达式表达式3?:?:称为条件运算符,是三目运算符。称为条件运算符,是三目运算符。例如:例如: int min , x=4, y=20; min=(xy)? x : y; /结果使结果使min取取x

38、和和y中的较小值,中的较小值, 即即min的值是的值是4掷继逐郭曙井提陶稚波洪推缓碴再多撞盒尔响穷况京坍漏悬细烦区垛嗡宝第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院括号运算符括号运算符 圆括号运算符圆括号运算符“()()”用于改变表达式用于改变表达式中运算符的运算次序。先进行括号内的运中运算符的运算次序。先进行括号内的运算,再进行括号外的运算;在有多层括号算,再进行括号外的运算;在有多层括号的情况下,优先进行最内层括号内的运算,的情况下,优先进行最内层括号内的运算,再依次从内向外逐层运算。再依次从内向外逐层运算。 梳缎来俐筛萌款俺气碱谐隅皑缘烯碑峡贯盏凸隧接舞需喳

39、碉荡和星美徊氛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 2 . 表达式表达式用运算符将操作数连接起来的,符合语用运算符将操作数连接起来的,符合语法规则的运算式。法规则的运算式。 例如:例如:int i=5, j=10, k;k=(24+3*i)*j; 咐骚抢豪甫谍伊追函碱粘柏查佑团窒乳绞垫分添骚埠人炼箔颐取讥组洛阮第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 (1) 运算符的优先级运算符的优先级运算符运算符描述描述优先级优先级结合性结合性.()域,数组,括号域,数组,括号1从左至右从左至右+-!一元运算符一元运算符2从右至左从右至

40、左*/%乘,除,取余乘,除,取余3从左至右从左至右+-加,减加,减4从左至右从左至右位运算位运算5从左至右从左至右=逻辑运算逻辑运算6从左至右从左至右=!=逻辑运算逻辑运算7从左至右从左至右&按位与按位与8从左至右从左至右按位异或按位异或9从左至右从左至右|按位或按位或10从左至右从左至右&逻辑与逻辑与11从右至左从右至左侈京坝狄足喘弃撵妒聪硷裙毒川兔待缝灼砸刘从董刮撩挪盛痊母鲍浙昆馅第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1) 运算符的优先级运算符的优先级续前表续前表运算符运算符描述描述优先级优先级结合性结合性|逻辑或逻辑或12从左至右从左至右? :条件运

41、算条件运算13从左至右从左至右 = *= /= %= += = = = &= = |= 赋值运算赋值运算14从左至右从左至右拳砧知攒按筷宋班予普酞鲸煎侩卿忙斡墨凄咳虎叭湾圃掣修枚友务路太奔第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院表达式的数据类型表达式的数据类型 表达式的数据类型由运算结果的数据类型决定。表达式的数据类型由运算结果的数据类型决定。例如:例如: int i=3, j=21, k; boolean f; k=(i+3)*4; /(i+3)*4是算术表达式是算术表达式 f=(i*2)j; /(i*2)j是布尔表达式是布尔表达式屠碑遵荡经衡殆局娥肆宇埔绳

42、解腐瘫奏似倘瞥帝宦殖李聂瞅棱旷涡摸粕壮第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例例 单目运算符实例单目运算符实例publicclassOperatorpublicstaticvoidmain(Stringargs)inti=15,j1,j2,j2,j4;j1=i+;/在操作数的右面在操作数的右面System.out.println(i+=+j1);j2=+i;/在操作数的左面在操作数的左面System.out.println(+i=+j2);j3=-i;System.out.println(-i=+j3);j4=i-;System.out.println(“i

43、-=+j4);System.out.println(i=+i);程序运行结果如下:程序运行结果如下:i+=15+i=17-i=16i-=16i=15扩膛胡益幌富诺扑切房诧渭茧沙灾赦醛镇拢圃袄趋卢居榨捆灌底缴蔡监秀第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 (2) 数据类型的转换数据类型的转换 当将一种数据类型的值赋给另一种数据类型的变量当将一种数据类型的值赋给另一种数据类型的变量时,出现了数据类型的转换。时,出现了数据类型的转换。 在整数类型和浮点数类型中,可以将数据类型按照在整数类型和浮点数类型中,可以将数据类型按照精度从精度从“高高”到到“低低”排列如下级别

44、:排列如下级别:double 高级别高级别floatlongintshortbyte 低级别低级别 乙适烩滓蛰兼吼谐扩后蹲蛮至扭肢沽捏产瞒垢豺促酒轿润捕砾苹层铭碟穷第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 (2) 数据类型转换规则数据类型转换规则l当将低级别的值赋给高级别的变量时,系统自动完成当将低级别的值赋给高级别的变量时,系统自动完成数据类型的转换。数据类型的转换。 float x=200; /将将int类型值类型值200转换成转换成float类型值类型值 / 200.0, 结果结果x获得的值是获得的值是200.0l当将高级别的值赋给低级别的变量时,必须进

45、行强制当将高级别的值赋给低级别的变量时,必须进行强制类型转换。类型转换。 int i; i=(int) 26L; /将将long类型值类型值26转换成转换成int类型值类型值26, /结果结果i获得获得int类型值类型值26 进行强制类型转换时,可能会造成数据精度丢失。进行强制类型转换时,可能会造成数据精度丢失。历该向拖癣屑埋普唉括病罩缄予两倡杭啡符惕嫡壳垂汛跌诈叛吻陛薄坐苍第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院Java举例举例整数相除整数相除 例:整数相除例:整数相除 public class Divide public static void main(

46、String args) int i=15, j=4, k; float f1, f2; k=i/j; f1=i/j; f2=(float)i/j; System.out.println(k=+k); System.out.println(f1=+f1); System.out.println(f2=+f2); 运行结果如下:运行结果如下:k=3f1=3.0f2=3.75糟鞍石骏巨障纫娄粥刃尽晴拈恳糟习娘们惯琵鹏万呛闲俘苯菊扶祷甚勿递第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2 Java 流程控制2.2.1 语句及程序结构语句及程序结构2.2.2 顺序结构顺

47、序结构2.2.3 选择结构选择结构2.2.4 循环结构循环结构 2.2.5 跳转语句跳转语句娱祖堡屑递治恒陡罪进饰喧守畸拜糕桐阻弧炉惰朵氢缮雌泽拇啄芝邓务盒第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2.1 语句及程序结构语句及程序结构语句用来向计算机系统发出操作指令。程序语句用来向计算机系统发出操作指令。程序由一系列语句组成。由一系列语句组成。Java中语句以分号中语句以分号(;)(;)作为结束标记作为结束标记。 如:如:total=math+phys+chem;复合语句复合语句 用用 “ ”将多条语句括起来,将多条语句括起来,在语法上作为一条语句使用。在语

48、法上作为一条语句使用。如:如:z=x+y; t=z/10;粮捅搪贮啦熙缉晋震眼炭酚促逊樱拷棉涣痔惕六驴漏搀吮闽稗溪渤倡腻称第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院import java.applet.*;import java.awt.*;import java.awt.event.*;public class AppletInOut extends Applet implements ActionListener Label prompt;TextField input,output;public void init()prompt= new Label(请

49、输入您的名字请输入您的名字);input=new TextField(6);output=new TextField(20);add(prompt);add(input);add(output);input.addActionListener(this);public void actionPerformed(ActionEvent e)output.setText(input.getText()+,欢迎你!欢迎你!);属性属性方法方法1方法方法2主类类体主类类体加载已定义好的类和包加载已定义好的类和包主类类头主类类头2.2.1 语句及程序结构语句及程序结构纤肋稀滋旦烽因场柠赔耐活硬婚抠广咬毗

50、饲翅发削隆勾揣钦菲铱敦馅偷从第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院结构化程序的三种结构:结构化程序的三种结构:顺序结构(顺序结构(Sequence Structure)选择结构(选择结构(Selection Structure)循环结构(循环结构(Iteration Structure)盐噪僵将羽男嗣倔支示搬乃复雪赏蛀愿除乘遥臀死用呻滚兽脐虐痔黔悍闷第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1) 顺序结构顺序结构 顺序结构中,语句的执行顺序是按照程序语句顺序结构中,语句的执行顺序是按照程序语句书写的顺序,从上到下依次执行。书

51、写的顺序,从上到下依次执行。 流程图画法流程图画法釉撬荒闲港埔氨骑扦忆薪凯眺摆益涡盎吕伪民疮蛮浮峨隅频鹃亲堤湍颈商第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(2) 选择结构选择结构选择结构:程序的执行流程根据判断条件,选择其选择结构:程序的执行流程根据判断条件,选择其中一个分支执行。中一个分支执行。咬腻谭财泞寝宜糟味太氛刀梭方连您宁钞蒙厕睡事而外泞痊乱航占别遍杖第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(3) 循环结构循环结构循环结构是指如果满足一定条件,则反复执行一循环结构是指如果满足一定条件,则反复执行一段程序,直到条件不再满

52、足为止。段程序,直到条件不再满足为止。 妮雕娟估鼎粒雨茶迪紊哪谬碗赋康撒父岩象介匣峙撤喇够淘把原弹抵皮争第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2.2 顺序结构顺序结构 顺序结构是最简单的一种程序结构,顺序结构是最简单的一种程序结构,没有固定的语句格式,程序的执行按照语没有固定的语句格式,程序的执行按照语句的书写次序顺序进行。句的书写次序顺序进行。烈熊沼趾洱啥阔游咖肢魔逾姐枯舞歌舰罩狸糕忌郡逾踏很废差滥森级毒钠第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:计算太阳和地球之间的万有引力public class Force pu

53、blic static void main(String args) double g, mSun, mEarth, f; g=6.66667E-8; mSun = 1.987E33; mEarth = 5.975E27; f = g* mSun* mEarth /(1.495E13*1.495E13); System.out.println(The force is +f); 程序运行结果如下:The force is 3.5413E27误悠犊操液楔损熊卓揩沏诵钦约慢毗札湖芯银曝呻绷天歼轨掌薛纺雄筷凋第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 例例: 华氏温度

54、转换为摄氏温度华氏温度转换为摄氏温度 摄氏温度摄氏温度c和华氏温度和华氏温度f之间的关系为:之间的关系为:c=5(F-32)/9public class Conversion public static void main(String args) float f, c; f=70.0f; c=5*(f-32)/9; System.out.println(Fahrenheit=+f); System.out.println(Centigrade=+c); 程序运行结果如下:程序运行结果如下:Fahrenheit=70.0Centigrade=21.11111晚垛琼燕盟劈蝉酶椰阻捂惭党猩姆烹玛驳

55、贰赶言纪荫缀诱魏锌逮娃颇捌陡第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例例: 求解方程求解方程ax+b=0的根的根xpublic class Root public static void main(String args) float a, b, x; a=Float.parseFloat (args0); b=Float.parseFloat (args1); x=-b/a; System.out.println(a=+a); System.out.println(b=+b); System.out.println(x=+x); 早募押仇酝执镭驶秆批鹿桩师乱

56、嘛檬咖偏锯萝明究觉前赘段业限温汝显咖第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院u 带参数的程序运行方式:带参数的程序运行方式:1、命令行方式:、命令行方式:java Root 2.0 6.0运行程序,运行程序,2.0和和6.0分别作为第分别作为第1和第和第2个参个参数传递给数传递给args0和和args1。2、TextPad环境下:环境下:仔崖霸招蝉抡舆祥镁挪省瓢祸浸尺养募筋驳邓竭利偷为岂嘉按例诌铂给疗第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2.3 选择结构选择结构 Java语句提供了两条基本的分支选择语语句提供了两条基本的

57、分支选择语句句ifif和和switchswitch。ifif语句应用在语句应用在“二选一二选一”的的条件下,而条件下,而switch语句应用在语句应用在“多选一多选一”的的条件下。它们都是条件下。它们都是对条件表达式进行判断,对条件表达式进行判断,针对不同的结果,决定转向要执行的针对不同的结果,决定转向要执行的Java语语句。句。 苍辟近斯定摇琴困陡恋玖跃勇仪盯浩梗哟矾呜顶贱脚柯骸助玫变射厅醇疮第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院选择结构和条件判断在现实生活中,需要进行判断和选择的在现实生活中,需要进行判断和选择的情况是很多的。情况是很多的。如果你在家,我

58、去拜访你如果你在家,我去拜访你如果考试不及格,要补考如果考试不及格,要补考如果遇到红灯,要停车等待如果遇到红灯,要停车等待周末我们去郊游周末我们去郊游70岁以上的老年人,入公园免票岁以上的老年人,入公园免票兴险檀誉蔑部丙中中动布寓装铺领抿寨歹蕊圣贷棉躲肃未百碟匆砰埔扇凄第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 1. if语句语句if (布尔表达式布尔表达式) 语句语句if (布尔表达式布尔表达式) 语句语句1 else 语句语句2布尔表达式语句truefalse布尔表达式语句2falsetrue语句1简单语句简单语句复合语句复合语句境矿学蝇勋报懈壹敏谭萧妄藏斤

59、涵库漓贱柬厌剪韦眨探曰辫炭犹虑蟹苔唁第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:通过命令行输入2个整数,输出较小者public class MinNum public static void main(String args) int x, y, min; x=Integer.parseInt(args0); x=Integer.parseInt(args1); if(x0 ) x=-b/a; System.out.println(x=+x); 厕药咎顺索虽院锁匿瞥夯挡拦归枪歉思淑蹈栗疮壮恩定颖氢奈烽倪双个热第2部分Java言基础第2部分Java言基础 计算机

60、工程学院计算机工程学院练习练习例:例:已知两个数已知两个数x和和y,比较它们的大小,使得,比较它们的大小,使得x大于大于y If (xy) t=x; x=y; y=t; 6106106际败腮懈歼唱圾毕疮仪术痛大顾羌顺胖愉右蔓玖匡卡秘刹唉背稳添逆塘盛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院练习练习已知三个数已知三个数a,b,c,输出其中最大的数。,输出其中最大的数。max=a;if (maxb) max=b;if (maxc) max=c;System.out.println(max);画流程图画流程图尊其本秦琐本孽校寇信悔读刑皑板梗拭倚砰评侨经妒造滋建呕湍痛宰

61、谎屈第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院F两边之和大于第三边?两边之和大于第三边?例例例: : : 已知已知已知三边三边三边a a a、b b b、c c c的长,的长,的长,编程求编程求编程求面积。面积。面积。输入输入a,b,ca,b,c求求ss结束结束输出输出s s求半周长求半周长L LT提示提示数据错数据错开始开始练习练习盛僧簿蜜参向耿访诺承堪门赏慰引抱哑卯虚歪颁唉抿典坝报哩窍鸥淖虐惟第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院u if 语句嵌套语句嵌套if语句中可以包含语句中可以包含if语句,形成语句,形成if语句的嵌

62、套。语句的嵌套。铃别钮脐屡倪渡蚤渐祭蛀设旋日喊碉主辱鸦伏指去气僵芥瓜胰低澈闭痢慕第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院嵌套的一般形式嵌套的一般形式if (expr1) if (expr2) statement1 else statement2else if(expr3) statement3 else statement4内嵌内嵌if内嵌内嵌ifif (expr1) if (expr2) statement1 else statement2内嵌内嵌ifif (expr1) if (expr2) statement1else statement3 内嵌内嵌if

63、if (expr1) statement1else if(expr3) statement3 else statement4内嵌内嵌if有问题有问题从第一个从第一个else开始,总是与它上面最近的未配对的开始,总是与它上面最近的未配对的if配对配对惯谈挟咋依俱咀肤恃敢辙仔袭收观披徒絮俯怀习妊踩囱朝憎晓矩税锣媚懈第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院u多分支的多分支的if语句语句if(布尔表达式(布尔表达式1) 语句语句1else if(布尔表达式(布尔表达式2) 语句语句2 else if(布尔表达式(布尔表达式n) 语句语句nelse 语句语句n+1信爪霞

64、手耿烷碧侣碑茅腾舵盏甫融倘久锑力碗昧岁嘿频双闪藻挪阜嫡弛哲第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院public class Function public static void main(String args) float x, y; x=Float.parseFloat (args0); if ( x0 & x 10 & x = 20 ) y = 10; else y = -0.5 * x + 20; System.out.println(x=+x); System.out.println(y=+y); xyx000x=10x10x=201020x0.5

65、x+20例:编写分段函数程序。例:编写分段函数程序。痪肋戊渣泪让张每漱拘置嫩幸鲁毡挑捆鸣孵迈愤盏幢侯戊冤荷束须逊姐捕第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2 Switch语句语句switch(表达式表达式) case 值值1:语句块语句块1; case 值值2:语句块语句块2; case 值值n:语句块语句块n; default: 语句块语句块n+1;int、byte、char、short常量常量咒煮杂佃奶季良妮痕镰很牲空灯捕盼蠕呵改缘石齐戳醚怀皱瑚掷楚昧犁思第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2. Switch语句语句

66、switch(表达式表达式) case 值值1:语句块语句块1; break; case 值值2:语句块语句块2; break; case 值值n:语句块语句块n; break; default: 语句块语句块n+1;灶虽豹留痰卢拆靴槽打侯羔西嫉又婿潞蛹砷虏唯哎溜悍凳婚娠暴娶肢系赚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院import java.io.*;public class Test public static void main(String args)throws IOException char grade; grade=(char)System.i

67、n.read(); System.out.print(Your score:); switch(grade) case A: System.out.print(85100n);break; case B: System.out.print(7084n);break; case C: System.out.print(6069n);break; case D: System.out.print(60n);break; default: System.out.print(enter data error!n); break;语句用于结束当前;语句用于结束当前switch语句,执行其后的语句。语句,

68、执行其后的语句。乐熟衷考恩床斜锅狮菜互痕闺塑新烙初婶端嘿炳茹甜簧希零翟崖互票诣秒第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 grade=(char)System.in.read(); System.out.print(Your score:);switch(grade) case A: System.out.print(85100n);break; case B: System.out.print(7084n);break; case C: System.out.print(6069n);break; case D: System.out.print(60n);

69、break; default: System.out.print(enter data error!n); 闹傣穆蔚型阑勒优墓谊糟坑奔谦萤突念矾湍陨憾余嫡斟恫素遭禹墩叶芜姐第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2. Switch语句语句例例: 将百分制成绩转化为优秀、良好、中将百分制成绩转化为优秀、良好、中等、及格和不及格的等、及格和不及格的5级制成绩。标准为级制成绩。标准为: 优秀优秀: 90100分分; 良好良好: 8089分分; 中等中等: 7079分分; 及格及格: 6069分分; 不及格不及格: 60分以下。分以下。铜呜炬涩旧泥袖牢抉轴喇款帜妆泥寿

70、硬政欣救普雇冻八睹阴梯回硒绳嗡青第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院public class Level public static void main(String args) short newGrade, grade; grade=Short.parseShort(args0); switch (grade/10) case 10: case 9: newGrade = 1; break; case 8: newGrade = 2; break; case 7: newGrade = 3; break; case 6: newGrade = 4; b

71、reak; default: newGrade = 5; 西羡锨刷挠雕怎淑居悲需痈恿跪寺诗种谈琅淑笋辣氖笋霍傻朗摇币躺俄籍第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 System.out.print(grade); switch (newGrade) case 1: System.out.println(,优秀优秀); break;case 2: System.out.println(,良好良好); break;case 3: System.out.println(,中等中等); break;case 4: System.out.println(,及格及格);

72、break;case 5: System.out.println(,不及格不及格); 遥永非近壹满句退逝庆趟搜蹄隔史球殴嘉怕黍七粳遵删虾伍秆廊侥晌匪架第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2.4 循环结构u循环语句的作用是在一定条件下,反循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的复执行一段程序代码,被反复执行的程序称为循环体。程序称为循环体。uJava提供的循环语句有:提供的循环语句有:while语句、语句、dowhile语句和语句和for语句。语句。 特联拦跃湾害持烹馋称马散洋蛋瘫湿惧琅迷右咎毕郝艰扬兰觉鄂杖河磋窃第2部分Java

73、言基础第2部分Java言基础 计算机工程学院计算机工程学院 1. while语句语句 while(布尔表达式布尔表达式) 循环体循环体当布尔表达式为当布尔表达式为true时,重复执行循环体。时,重复执行循环体。truefalse布尔表布尔表达式达式?循环体循环体伯嗣诞佳白薄委臀婆剪文翁埔力涣蕾椅连竖茹孽洪爷措书租零厢慷雄烁高第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:计算10!publicclassFactorialpublicstaticvoidmain(Stringargs)inti;doubles;i=1;s=1;while(i=10)s=s*i;i=i

74、+1;System.out.println(10!=+s);端导哇匈乌掘袋惹擂恳距栋随淌叠肮速惹憋播帜诛谨侨善袱裔晃畸驱阅玛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2 . dowhile语句语句dodo 循环体循环体whilewhile(布尔表达式布尔表达式); 重复执行循环体,直到布尔表达式为重复执行循环体,直到布尔表达式为false。true循环体循环体布尔表布尔表达式达式?false泉废境恐橇渠炭验督戌嘻傀棘揣恭底圆狗桐采拜烈唇吸淀沿沏拜滩贩尘揭第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:计算1+3+5+99public

75、classSum1publicstaticvoidmain(Stringargs)inti=1,s=0;dos=s+i;i=i+2;while(i100);System.out.println(sum=+s);服惨迟宝号态捏印井丈乖暗纷旁皂戒槛棘狗乙祥奖罪搭疾御决惠醉狙参妒第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例例: 计算计算150之间的奇数和、偶数和之间的奇数和、偶数和publicclassSum2publicstaticvoidmain(Stringargs)inti=1,oddSum=0,evenSum=0;doif(i%2=0)/如果如果i是偶数是偶

76、数evenSum+=i;/求偶数和求偶数和else/如果如果i是奇数是奇数oddSum+=i;/求奇数和求奇数和i+;while(i=50);/判断判断i的值是否在的值是否在150之间之间System.out.println(Oddsum=+oddSum);System.out.println(Evensum=+evenSum); 薄匈畦维呵赏葛菇裸广涨角舌得勇陆弱迭惭赫篱墅喉镰丧裁顾能是煮惹棍第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 3 . for语句语句forfor(表达式表达式1;表达式表达式2;表达式表达式3) 循环体循环体 表达式表达式1 1:循环初

77、值;循环初值;表达式表达式2 2:布尔表达式,判断循环是否继续;布尔表达式,判断循环是否继续;表达式表达式3 3:修改循环变量值。修改循环变量值。true表达式表达式1表达表达式式2表达式表达式3false循环体循环体至医坦郭玲话团殿埂惋吉帛啃嫁破铡喷镑窄滥蝎照读踊涵哨逝锐汇源兆郡第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:计算s=1+2+3+4+100publicclassSum3publicstaticvoidmain(Stringargs)intcount,sum=0;for(count =1;count=100;count +)sum+=count;S

78、ystem.out.println(sum=+sum);用while和do-while语句改写图绳慷营敲背断哎龋廊慰蒋弹筛复练汪旭挑裕河敖救穗蓑趋符蝗滞业擒幽第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院1-100求和的求和的Java实现实现1 使用使用while语句语句int count=1;int sum=0;while(count=100) sum+=count; count+;3 使用使用dowhile语句语句int count=1;int sum=0;do sum+=count; count+; while(count=100);2 使用使用for语句语句

79、int sum=0,count;for(count=1;count=100;count+) sum+=count;比较三种比较三种循环语句循环语句的差异的差异针潞水藉得兜激香吗坡刃茶绕苑班淋奢局智丛膨响效戴税捂秤紊豌驶供趟第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院4. 循环嵌套循环嵌套例如:例如:for( ; ; ) /外循环开始外循环开始 . for( ; ; ) /内循环开始内循环开始 /内循环结束内循环结束 while(condition) /内循环开始内循环开始 . /内循环结束内循环结束 /外循环结束外循环结束找七实桅汀墟谈钟箕岂这偏淫迅皖妓独液乃固泪

80、皑蹋涛彤案硼欧咨襄啃槛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院4 . 循环嵌套循环嵌套 问题:求问题:求1!+2!+3!+10!int i, j;long fact, sum=0;for (i=1; i=10; i+) fact=1; for (j=1;j=i; j+) fact*=j; sum+=fact; 内层循环的作用是什内层循环的作用是什么?内层循环的循环么?内层循环的循环条件和外层循环有何条件和外层循环有何关系?关系?嗣桥酷鳖桐路送筐沽馁效跃熊互恃馋京柯量揣幢檬考判铲氓揍驰凉擎魁抖第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程

81、学院例:求例:求Fibonacci数列中的前数列中的前20项。项。public class Fibonacci public static void main(String args) long f1=1, f2=1; for (int i=1; ik-1i=i+1i=k?k是素数k非素数endtruefalsetruefalse温山抱朝均飞嘎涝贴厌泰嫡彩复吉站历畜需蘸窒功宏匣效缺课掂龚官音压第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 public class Prime public static void main(String args) short i,

82、 k; k=Short.parseShort(args0); for (i=2; i=k-1; i+) if (k % i =0) break; if (i = k) System.out.println(k+ is a prime.); else System.out.println(k+ is not a prime.); 膀肮朴旺罢潭咬换束扛描狰协射睦括庶迸窝突竭额西邪消狰淖喂诈氯英吝第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:求例:求250之间的所有素数。之间的所有素数。public class Primes public static void ma

83、in(String args) final int MAX=50; int i, k; for(k=2; k=MAX; k+) for (i=2; i=k-1; i+)if (k % i =0) break; if (i=k) System.out.print(k); 递启滨寞帆灶仟遏嘉赵老屁鸽逻簿烤瓜谁绝掉陵团戍署罩辞臭恨参朔埋臭第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.2.5 跳转语句跳转语句ubreak语句:语句:1.与与switch语句组合使用,表示从语句组合使用,表示从switch语语句中跳出,转去执行其后的语句;句中跳出,转去执行其后的语句;2.

84、用于循环语句中,表示从循环语句中跳出,用于循环语句中,表示从循环语句中跳出,立即终止循环,转去执行其后的语句。立即终止循环,转去执行其后的语句。特仟溃拍渐驰尾拦第滔更估工豺乎霖损狮街厉卞菠陷郁橙答蒂绥竟遗粥邓第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1)不带标号的)不带标号的break语句。语句。break;(2)带标号的)带标号的break语句。语句。用在多重循环语句中,跳出标号所指定的语句块,并从紧跟该块后的第一条语句处执行。 break 标号语句标号语句; ;2.2.5 跳转语句跳转语句刃征目哉缝峦源咆挡项县漏恩台摔至融阑帖剧恼士荡询毯归咏剩憋呜蕊耶第2

85、部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院a: /标记代码块标记代码块a b:/标记代码块标记代码块b c: /标记代码块标记代码块c breakb; /这段语句将不执行这段语句将不执行 /代码块代码块c结束结束 /这段语句也不执行这段语句也不执行 /代码块代码块b结束结束 /从这段语句开始执行从这段语句开始执行 /代码块代码块a结束结束Java控制语句控制语句熏医瞎硬校级窄柱持救喜陆张贵逢掂诵芒接咎喀烛兹橱翌膜率具手九啊祝第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院ucontinue语句语句无无条条件件使使控控制制转转移移到到循循环环

86、语语句句的的条条件件判判定定部部分分,终终止止本本次次循循环环,直直接接进进入入下下一次循环。一次循环。 2.2.5 跳转语句跳转语句虞湃生仍扶辨缸嘉季懊邯父额介洱僚缠拙赃瑚耕颜蕾俩刽炽佰伍粱侯蕊康第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(1)不带标号的)不带标号的continue语句。语句。 continue;(2)带标号的)带标号的continue语句。语句。用在多重循环语句中,跳转到标号指明的循环中。 continue 标号语句标号语句;2.2.5 跳转语句跳转语句1.用在用在 while 和和 do-while 语句语句中,表示转去执行条件判断,中,表

87、示转去执行条件判断,以决定是否开始新一轮循环。以决定是否开始新一轮循环。2.用在用在 for 循环语句中,表示循环语句中,表示转去执行转去执行 “表达式表达式3” ,再进行,再进行条件判断,以决定是否开始条件判断,以决定是否开始新一轮循环。新一轮循环。螺思渠栖暴毒恨言扛幕渔渴兜榆浪寄擒抽援酶继述滤年龄谅吉芥焊茨躇关第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院outer: for( int i=0; i10; i+ ) for( int j=0; j10; j+ ) if( ij ) continueouter; /内层循环结束内层循环结束 /外层循环结束外层循环结

88、束for( int i= 0; i 10; i+ ) if( i = 5 )continue; System.out.print(i);跳转语句示例:跳转语句示例:祥哇屁煞喂稚餐咒双丰谤参悸泥爆赌恭碘条该炒圈吊孰磺塔陀秋谈即弃港第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:找素数例:找素数public class PrimeNumber public static void main(String args) int i,j,k; boolean flag; for(i=2; i=50; i+) flag=true;k=i/2;for(j=2;j=k;j+) i

89、f(i%j=0) /如果该数可以整除其余数,则不可能是质数如果该数可以整除其余数,则不可能是质数 flag=false; break; if(flag) System.out.print(i+ ); 簇羹胶阻宇褥健厩虽扣涟舍眉姿洽檄坐沼诉垄荔戴贞勉吁鸟曝幅盅磨谎蛤第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(3)return语句语句return语语句句的的功功能能是是从从当当前前方方法法中中退退出出,运运行行结结果由方法名带回到调用方法中。它的语法格式如下:果由方法名带回到调用方法中。它的语法格式如下:return expression; 或或 return (e

90、xpression); 注注意意,如如果果一一个个方方法法的的返返回回值值类类型型定定义义为为void,则方法体中不需要有则方法体中不需要有return语句。语句。将返回的结果将返回的结果蔽新岔蹋耗钢层毋虾轻涅魄小票肚汪史铀篆施肺潜口庸戊孩沼京耘痞乖荫第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:例:continue语句在三种循环语句中的应用。语句在三种循环语句中的应用。publicclassExampleContinuepublicstaticvoidmain(Stringargs)inti=1;doif(i=5)continue;System.out.pri

91、nt(i+);i+;while(i10);inti=1;while(i10)if(i=5)continue;System.out.print(i+);i+;for(inti=1;i10;i+)if(i=5)continue;System.out.print(i+);示灶薪娃认蘑脚背淳缆朵脂译咆琴衍儒摩衰撂操渴绷脱久征狄跳倦郑萎常第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.3 数组数组2.3.1 2.3.1 数组数组的基本概念的基本概念2.3.2 2.3.2 一维数组的创建与使用一维数组的创建与使用2.32.3.3 .3 多多维数组维数组审磊尹莽淫辉叫逞保勾树茅

92、必琐橙跳拿习窄誓因膊汞锐耸皱则惧烤腔回咨第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院113问题问题JAVA考试结束,需要计算全班(考试结束,需要计算全班(30个同个同学)的平均成绩?学)的平均成绩? int stu1=92 ; int stu2=87 ; int stu3=72 ; int stu4=65 ; int stu5=75 ; int stu30=86;3030个变量个变量 太麻烦太麻烦引例引例沽丙跳器筐届医羊纂篙笼鞭皑宪琶郴淤瞩摧甸应睛闹舀落凰坷案寄周跌俊第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院int,long,flo

93、at,charint,long,float,char等等都都是是基基本本数数据据类类型型,一一个变量表示一个数据,称为简单变量。个变量表示一个数据,称为简单变量。对对于于有有些些数数据据,只只用用简简单单的的数数据据类类型型是是不不够够的的。例如:要处理例如:要处理100100个学生的考试成绩。个学生的考试成绩。数数组组是是一一种种最最简简单单的的复复合合数数据据类类型型(引引用用数数据据类类型型)。数数组组是是有有序序数数据据的的集集合合,数数组组中中的的每每个个元元素素具具有有相同的数据类型。相同的数据类型。2.3.1 数组的基本概念数组的基本概念围院靳屠耸闻甥凳糕额草釉倾晴搜腮柿继韶脱蛀

94、矽期攘寡浪握斋睹溯尽杀第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院数组概念的定义数组概念的定义115 数组:数组:相同数据类型的变量按一定顺序排列的集合相同数据类型的变量按一定顺序排列的集合 。 这些相同数据类型的变量,称为数组这些相同数据类型的变量,称为数组元素元素元素元素。 通过通过数组名数组名数组名数组名和和下标下标下标下标来使用数组中的元素。来使用数组中的元素。 数组名数组名下标下标data data0 data1 data2 data3 data4 3 30 08 812127 7蓄袒枢宪洲耀愈坐撤谋幢帆啦换冤尔截存永酥烷锚填勾库片奶草少彝啃万第2部分J

95、ava言基础第2部分Java言基础 计算机工程学院计算机工程学院数组的分类数组的分类数组分为一维数组、二维数组和多维数组数组分为一维数组、二维数组和多维数组,如:如: arr13 arr234 arr3343数组要先声明和并分配空间后才能使用。数组要先声明和并分配空间后才能使用。敏霞逊崇气驴栓镭吱拥牛买耐臣麓返壁阮冰刊软浦版种泛慕妊教厉温店涣第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.3.2 一维数组的创建与使用一维数组的创建与使用数组的声明数组的声明作用:作用:声明声明数组的名称数组的名称 和和 元素的元素的数据类型数据类型。数据类型可以是简单数据类型,也可

96、以是某一对象类型。数据类型可以是简单数据类型,也可以是某一对象类型。117语法格式语法格式语法格式语法格式1 1: 数组类型数组类型数组类型数组类型 数组名数组名数组名数组名 ; 语法格式语法格式语法格式语法格式2 2: 数组类型数组类型数组类型数组类型 数组名;数组名;数组名;数组名;如:如:如:如: int a ; int a ; Student stu ; Student stu ; 注:注:JavaJava不允许在声明数组时指定元素个数。不允许在声明数组时指定元素个数。 int a 10 ;头户伦脾替清迈谊挠吵唆怯画垃罚邦哦虚卖弛滔囚再把昌奄帅神涉侠渡燕第2部分Java言基础第2部分J

97、ava言基础 计算机工程学院计算机工程学院创建数组创建数组-分配内存空间分配内存空间 定义好的数组必须定义好的数组必须创建数组空间创建数组空间后才可以使用。后才可以使用。创建时须指明数组创建时须指明数组长度长度,以确定所开辟内存空间的大,以确定所开辟内存空间的大小。小。语法格式:语法格式: 数组名数组名= new = new 数组类型数组类型 数组元素个数数组元素个数 例:例: a =new int10; stu= new Student 30 ;118数组声明数组声明 和和 创建数组创建数组 可以用一条语句完成。可以用一条语句完成。如:如: int a int a =new int10;提问

98、:提问: int x=10; double n = new doublex 可以吗?可以吗?注:注:JavaJava中允许使用中允许使用intint型变量的值型变量的值指定数组长度指定数组长度涕范敞架廖贸汇揉掉渤非堤躯典宠粱树动狸笼蚀洞撬气船富拒媒慑色召裴第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院在在Java中声明并创建了数组之后,依数据类型中声明并创建了数组之后,依数据类型的不同,会预设不同的初值的不同,会预设不同的初值 。数数 据据 类类 型型初初 始始 值值数数 据据 类类 型型初初 始始 值值byte 0float0.0fshort 0double0.0

99、dint 0charu0000long 0Lbooleanfalse背拍磐毫搂琵壶噎莱赛虐裕硫泥道宝释杜圆枯荫呀承测已替滓刁恍锗兆脯第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院数组的初始化数组的初始化 如果数组元素类型是基本数据类型,可以在声明数如果数组元素类型是基本数据类型,可以在声明数组的同时给数组元素赋初值。组的同时给数组元素赋初值。如:如:float data=23.2f,25.0f,171.4f,54.5f,81.3f,59.6f;float data=23.2f,25.0f,171.4f,54.5f,81.3f,59.6f;用用 逗号逗号 分隔数组的各

100、个元素,系统自动为数组分配空分隔数组的各个元素,系统自动为数组分配空间。间。12023.223.225.025.0171.4171.454.554.581.381.359.659.6 data data0 data1 data2 data3 data4 data5 对于对象类型为数组元素的数组,则必须利用构对于对象类型为数组元素的数组,则必须利用构对于对象类型为数组元素的数组,则必须利用构对于对象类型为数组元素的数组,则必须利用构造函数来初始化每个数组元素,一般用循环结构来完造函数来初始化每个数组元素,一般用循环结构来完造函数来初始化每个数组元素,一般用循环结构来完造函数来初始化每个数组元素,

101、一般用循环结构来完成。成。成。成。例:例:例:例: for ( int i=0; istu . length;i+) for ( int i=0; istu . length;i+) stui= new Student(201202000+ i , “ stui= new Student(201202000+ i , “计算机专业计算机专业计算机专业计算机专业”);”); 拔奸挝傅喧瘁节征蓄雄删搏浇城逛撕摄悔坊漳嘉榨潦培脾椰呜娩来撂快吱第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院数组的使用数组的使用 声明并创建一个数组后,声明并创建一个数组后, 可以使用数组名和下

102、标可以使用数组名和下标访问数组中的每个元素。访问数组中的每个元素。数组元素的访问方式为数组元素的访问方式为: 数组名数组名 下标下标 下标从下标从0 0开始,一直到数组的长度减开始,一直到数组的长度减1 1。121如如如如: : int a =new int3int a =new int3;它有它有它有它有3 3个元素,分别为:个元素,分别为:个元素,分别为:个元素,分别为: a0 a0, a 1 1, a 2 a 2注意:注意:注意:注意:没有没有没有没有 a3 a3 a3 a3。 aa0 a1 a2 数组使用注意事项:数组使用注意事项:数组使用注意事项:数组使用注意事项:(1 1)数组元素

103、的)数组元素的)数组元素的)数组元素的下标从下标从0开始开始,至数组元素个数,至数组元素个数,至数组元素个数,至数组元素个数-1-1个个个个为止;下标必须是为止;下标必须是为止;下标必须是为止;下标必须是整型数整型数或是可以转化成整型的量。或是可以转化成整型的量。或是可以转化成整型的量。或是可以转化成整型的量。(2 2)所有数组都有一个属性)所有数组都有一个属性)所有数组都有一个属性)所有数组都有一个属性 lengthlength ,存储的是数组,存储的是数组,存储的是数组,存储的是数组元素的个数。元素的个数。元素的个数。元素的个数。 使用方法使用方法使用方法使用方法: : 数组名数组名数组名

104、数组名. . length 吼避娇鸵邮籍竣术稳训易磨刚伏淹淄酿县丽椒焕估宦角庞帖昼膏浸篱甸巳第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例例 :数组的使用:数组的使用122public class ArrayTest1public class ArrayTest1 public static void main(String args) public static void main(String args) int i ; int i ; int a = new int5 ; int a = new int5 ; for( i=0 ; i5 ; i+) for(

105、 i=0 ; i=0 ; i-) for( i=a.length - 1 ; i=0 ; i-) System.out.println(“ a+i+=+ai) ; System.out.println(“ a+i+=+ai) ; 另纫辅民迟找颈悟搁两危砰色骨谜逞伸油晚匪别勇锈及冈泼脚是厚荧穴疽第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:用数组绘制多边形例:用数组绘制多边形123import java.awt.*;import java.awt.*;import java.applet.Applet;import java.applet.Applet;publi

106、c class public class ArrayTest2ArrayTest2 extends Applet extends Applet public void paint(Graphics g) public void paint(Graphics g) g.setColor(new Color(25,40,180); g.setColor(new Color(25,40,180); int x=15, 40,80,90, 80,150,140; int x=15, 40,80,90, 80,150,140; int y=10,140,60,80,160,140,170; int y=

107、10,140,60,80,160,140,170; g.drawPolygon( x, y, 7); g.drawPolygon( x, y, 7); 纳釉唤登屈壶恫著惜幅板陡低阁渊塞寐夷虚喻喇下靛酣欲奸尤拈很理垂醚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:计算例:计算100个学生的平均成绩。个学生的平均成绩。floatsum=0;inti;intscore;score=newint100;for(i=0;i100;i+)scorei=Integer.parseInt(argsi);for(i=0;i100;i+)sum=sum+scorei;sum=sum

108、/100;引用数组元素时下标不要越界引用数组元素时下标不要越界(不要引用不存在的数组元素)(不要引用不存在的数组元素)净蚂钾耽泛篷枕慈斧做勿拨穴幢晶携使梆凰渭鸭擒愚咽狞驱阂窝钙址铭森第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 例:对例:对10个数组元素依次赋值为个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。,要求按逆序输出。解题思路:解题思路:定义一个长度为定义一个长度为10的数组,数组定义为整型的数组,数组定义为整型要赋的值是从要赋的值是从0到到9,可以用循环来赋值,可以用循环来赋值用循环按下标从大到小输出这用循环按下标从大到小输

109、出这10个元素个元素履丰泻甸锯刺荷恫哼势骂迎奈审醚恤仕沸庐煞杨勺兰龟龟阻桓售莽犊珊伙第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院public class ArrayExamplepublic static void main(String args) int i;int a =new int10; for (i=0; i=0; i-) System.out.print (ai+ “); System.out.println;使使a0a9的值为的值为090123456789a0a1a2a3a4a5a6a7a8a9臃蓄恨酮比戚方痛桂赦拧瞧险芭志钦烹税萌抛掺悟刷敛禁踌茸

110、简汕便衫靛第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院public class ArrayExamplepublic static void main(String args) int i;int a =new int10; for (i=0; i=0; i-) System.out.print (ai+ ”); System.out.println;先输出先输出a9,最后,最后输出输出a00123456789a0a1a2a3a4a5a6a7a8a9小称戎填姬奢规涕殿病轨整蔑抹款珍违贬裕情构迷锗肾斯祈滑茫箔蚤陛料第2部分Java言基础第2部分Java言基础 计算机

111、工程学院计算机工程学院练习练习判断下面程序段是否正确判断下面程序段是否正确? ?如有错误如有错误请改正。请改正。 1、 int array10; for (int i=0 ; iarray.length ; i+) arrayi=i+1; 2、 int array =new int10; array10=10;128/ int array =new int10;/ array9=10;跌硬耍血辜吸计表港楷含淋脾呻挫拓玄馈鲜高捞掐揭剔倡迫壕梗酶舍昆笆第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院利用随机数方法产生利用随机数方法产生1010个个8080100100分之间

112、的随机整数,输出在窗口分之间的随机整数,输出在窗口上,并将选手的最后得分也显示出来。上,并将选手的最后得分也显示出来。最后得分最后得分= =思考题:思考题:思考题:思考题: 如果在评委的给分中,去掉一个最高分和一个最低分,然如果在评委的给分中,去掉一个最高分和一个最低分,然后计算最后得分后计算最后得分分析:由随机数方法生成分析:由随机数方法生成8080100100之间的一个数据之间的一个数据 累加求和累加求和 最后求平均值最后求平均值 3. 3. 编写一个大奖赛统计选手得分的程序编写一个大奖赛统计选手得分的程序 票悼祝辫厘剃潘唬键塔菇窖文挠幸好颅帘颗失踌坝人盲众可尽犯衍期奈拄第2部分Java言

113、基础第2部分Java言基础 计算机工程学院计算机工程学院数组的概念数组的概念数组的声明、创建、使用数组的声明、创建、使用130作作 业业JAVAJAVA考试结束,需要计算全班(考试结束,需要计算全班(3030个)个)同学的平均成绩?利用数组编程实现。同学的平均成绩?利用数组编程实现。铝记矮肾价陨混越晕遣殿八毡界笑瀑熏补郸梆资靛宠郑毯挞娱蛙津灭象掣第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.3.2 多维数组多维数组在在Java中,对多维数组的定义是通过对中,对多维数组的定义是通过对一维数组的嵌套式定义来实现,即数组一维数组的嵌套式定义来实现,即数组的数组。的数组

114、。arryName;多维数组的创建方法同一维数组。多维数组的创建方法同一维数组。簿潜娃娥骆膏思景附闭皆帅渴蘸前勃矿书峨户瘩暖僻榨镁赏岩孕纫霞汪航第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.3.2 多维数组多维数组请练习创建一个请练习创建一个2行行3列的二维数组。列的二维数组。int a ;a=new int23;int a =1,2,3,4,5,6;a00 a01 a02a10 a11 a12int a=new int23;诗豁蓉吧包挛坝每聂虾刨桂庄遁啊降歉盟潍丽汲麦睬抹碧橡逮围沂阉撩痢第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院

115、例:分析例题代码片断的功能例:分析例题代码片断的功能 int m1 , m2 ; int a; m1=2 ; m2=3; a=new intm1m2; for (int i=0 ; im1 ; i+) for (int j=0 ; jm2; j+) a ij = i*j ; for (int i=0 ; ia.length ; i+) for (int j=0 ; jai.length ; j+) System.out.print(aij + ”t”); System.out.println( ); a0a00a01a02a1a10a11a12煞隅菠婆买掷得现狮扔赶促们强蝴满咸癸溺炳云糠比障屎

116、下昔檄导很炼聪第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院给出以下程序的运行结果。给出以下程序的运行结果。publicclassTwoDimArray2publicstaticvoidmain(Stringargs)intarr=1,2,3,4,5,6;intfoo=arr0;for(inti=0;ifoo.length;i+)System.out.print(fooi+);System.out.println();foo=arr1;for(inti=0;ifoo.length;i+)System.out.print(fooi+);System.out.print

117、ln();俊凄殆宾臂阮打僻锚伞冬肤诗潭门培霍绚夜惧刽辑蝴昂统读谦交朽啊鬼擂第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院对称二维数组对称二维数组直接为每一维分配空间直接为每一维分配空间如:如:int a=new int23; int a=new int23; 不对称二维数组不对称二维数组从最高维开始,分别为每一维分配空间,从最高维开始,分别为每一维分配空间,如如: int b=new int2;: int b=new int2; b0=new int3; b0=new int3; b1=new int5; b1=new int5; 对称数组和不对称数组对称数组和不对

118、称数组铲哦耙傅枉魏笑肉成没钩朝浦覆姑们罗部漓捍佐冗渐络簿皂江硫遗仕饥置第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.4 Java的字符串的字符串2.4.1 String类类 Java中字符串常量用中字符串常量用String类的对象表示,对所有用双引号类的对象表示,对所有用双引号括起的字符串常量,系统都会创建一个无名的括起的字符串常量,系统都会创建一个无名的String类。类。(1)创建字符串常量)创建字符串常量String对象对象 创建创建String对象时,通常需要向对象时,通常需要向String类的构造函数传递参数类的构造函数传递参数来指定所创建的字符串的内

119、容。来指定所创建的字符串的内容。 String类的构造函数:类的构造函数:1)public String()()创建一个空的字符串常量创建一个空的字符串常量2)public String(String value)利用一个已经存在的字符串利用一个已经存在的字符串常量创建一个新的常量创建一个新的String对象,该对象的内容与给出的字符对象,该对象的内容与给出的字符串常量一致。串常量一致。 撩携谆患泛患巧行程爹拎忱赋陇奠渣址裹壕午避搔循蝗漂攫婴甄惶侦迅赌第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院3)public String(StringBuffer buffer

120、)利用一个已经存在利用一个已经存在的的StringBuffer对象为新建的对象对象为新建的对象String初始化。初始化。4)public String(char value )利用已经存在的字符数组利用已经存在的字符数组的内容初始化新建的的内容初始化新建的String对象。对象。 创建实例:创建实例: String s; /声明一个对象声明一个对象s s=new String(“ABC”); /为为s赋值赋值 String s=new String(“ABC”); /声明的同时赋值声明的同时赋值 String s= “ABC”; /简化的直接赋值方法简化的直接赋值方法揪铰革宏棠皂玻茅豫慢璃厨

121、嘉穗窥躁赂擞续稿又敌但坦逐雨习战钙变低犁第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(2)字符串常量的操作)字符串常量的操作 求字符串的长度的方法:求字符串的长度的方法: public int length();(); 例:例: String s=“Study”,s1=“学习学习”; System.out.println(s.length( );/显示显示5 System.out.println(s1.length( );/显示显示2 注意注意:在在java中中,每个字符每个字符(不论中文还是西文不论中文还是西文)都是占用都是占用16个比个比特的特的Unicode

122、字符,故都只要一个字符表示。字符,故都只要一个字符表示。(3)判断字符串的前缀和后缀)判断字符串的前缀和后缀 public boolean startsWith(String prefix); public boolean endsWith(String suffix); 这两个方法分别用来判断当前字符串的前缀和后缀是否为指定这两个方法分别用来判断当前字符串的前缀和后缀是否为指定的字符子串。的字符子串。卢届晋积彦丑兆谐仙幸箔敖寄记酉巧杜薄熙裕契榨肠寇秋珍属丝搐名沈蠢第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院例:例:String s=User.getID();()

123、; if (s.startsWith(”320705”) System.out.println(“此人是连云港的此人是连云港的”); (4)字符串中单个字符的查找)字符串中单个字符的查找public int indexOf(int ch); 从前往后查找字符从前往后查找字符ch在当前字符串中第一次出现的位置,并在当前字符串中第一次出现的位置,并返回字符返回字符ch出现的位置,若找不到返回出现的位置,若找不到返回-1。public int indexOf(int ch,int fromIndex); 在当前字符串中自在当前字符串中自fromIndex位字符之后向后查找,并返回该位字符之后向后查找

124、,并返回该字符首次出现的位置。字符首次出现的位置。与上面对应的与上面对应的从后往前找从后往前找的方法:的方法:public int lastindexOf(int ch);public int lastindexOf(int ch,int fromIndex);颠逃澎馏碾职符垢纵啸乞魏啼渔历裤汹尤金措捆否昭蛋蟹助宝匣铀秧遭弥第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(5)字符串中子串的查找)字符串中子串的查找 public int indexOf(String str); public int indexOf(String str,int fromIndex);

125、 public int lastindexOf(String str); public int lastindexOf(String str,int fromIndex); 获取字符串中某个获取字符串中某个(index表示位置表示位置)字符的方法:字符的方法: public char charAt(int index);(6)连接字符子串)连接字符子串 public String concat(String str); 将参数字符串连接在当前字符串的尾部。将参数字符串连接在当前字符串的尾部。例:例:String s=“早上好,早上好,”; System.out.println(s.concat

126、(”同学们同学们”);婪咀察辕洽上述讲卿瞻浊舒眼朋盎鱼擒箩墩础巾荆阑赛摧钩尉屈芹问氦导第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(7)比较两个字符串)比较两个字符串public int compareTo(String anotherString); 若当前字符串与参数字符串完全相同若当前字符串与参数字符串完全相同/大于大于/小于时,则返回小于时,则返回0/1/-1。public boolean equals(Object anObject); 比较两个字符串,区分大小写,相同时返回真值,否则为假比较两个字符串,区分大小写,相同时返回真值,否则为假。public

127、 boolean equalsIgnoreCase(String anotherString); 比较两个字符串,忽略大小写,相同时返回真值,否则为假。比较两个字符串,忽略大小写,相同时返回真值,否则为假。例:例:String s1=“Hello”, s2=“hello”; boolean b1=s1.equals(s2); /返回假返回假 boolean b1=s1.equalsIgnoreCase (s2); /返回真返回真跌豫螺保萨寻曹荚罢文侧蘸蔽从修图栓酉菊耐瘸丘氯扎淮零鸿固踪作畔国第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.4.2 StringBuf

128、fer类类 用来存放字符串变量的对象属于用来存放字符串变量的对象属于StringBuffer类。类。(1)创建字符串变量)创建字符串变量StringBuffer对象对象构造函数:构造函数:public StringBuffer( ); 创建一个空创建一个空StringBuffer对象,需要扩充后才可以使用。对象,需要扩充后才可以使用。public StringBuffer(int length); 创建一个长度为创建一个长度为length的的StringBuffer对象。对象。public StringBuffer(String str); 利用一个已存在的字符串利用一个已存在的字符串Stri

129、ng对象来初始化对象来初始化StringBuffer对对象。象。吩谬惋端布务唱雄前官耿蚌焉逆朴斋周慎狰柑秉数茁爵涯棵很筒闹稻忌有第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院(2)字符串变量的扩充、修改与操作)字符串变量的扩充、修改与操作追加的方法:追加的方法:public StringBuffer append(参数对象类型参数对象类型 参数对象名参数对象名); 将指定的参数对象转化成字符串,附加在原将指定的参数对象转化成字符串,附加在原StringBuffer字符串字符串对象之后。对象之后。插入的方法:插入的方法:public StringBuffer inse

130、rt(int 插入位置,参数对象类型插入位置,参数对象类型 参数对象参数对象名名); 在指定位置插入给出的参数对象所转化而得的字符串。在指定位置插入给出的参数对象所转化而得的字符串。 附加或插入的参数对象可以是各种数据类型的数据。附加或插入的参数对象可以是各种数据类型的数据。 如果希望将如果希望将StringBuffer在屏幕上显示出来,则必须首先调用在屏幕上显示出来,则必须首先调用toString方法把它变成字符串常量。方法把它变成字符串常量。竭犹麦宿珠聘兢酝槽圆抵蚜蕴柯硝蒂朝衫悯聋随牢餐形兽光陪鹃性掐美姚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院 修改的方法

131、:修改的方法: public void setCharAt(int index, char ch); 将指定位置处的字符用给定的另一个字符来替换。将指定位置处的字符用给定的另一个字符来替换。(3)字符串的赋值和加法)字符串的赋值和加法 String MyStr=“Hello,”; MyStr = MyStr +”World”; 相当于:相当于:String MyStr= new StringBuffer(). append(“Hello,”).toString();MyStr= new StringBuffer(). append(MyStr) .append(“World,”).toStri

132、ng();甥洞雷装幅钠睹荷慎坍仕材像砒绞昧勇要稼厂失秘耕仁画菊摄勘雨涝钵谚第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院使用示例使用示例/String类与类与StringBuffer类的使用示例类的使用示例import java.awt.Graphics;import java.applet.Applet;public class TestString extends Appletpublic void paint(Graphics g)String s1=大学生大学生;String s2=淮海工学院淮海工学院;String s3=计算机系计算机系;String s

133、4=Student,s6=student;String s5;StringBuffer s7=new StringBuffer(Hello,boys!),s8=new StringBuffer();int L=s1.length(); /求字符串长度求字符串长度int i=0,j=0,k=2; boolean b1,b2;炉碾陌矗衍秘滞奉龚食橱滩轴秆酚柏告单溜斋翱威胳溉蓉箭擂试量秧众鸭第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院if (s2.startsWith(海海)| s1.endsWith(学生学生) /判断字符串的前缀判断字符串的前缀 、后缀、后缀s5=s

134、2+s1; else s5=s1.concat(s2); /连接字符子串连接字符子串 i=s5.indexOf(int)学学); /查找单个字符查找单个字符 j=s5.indexOf(“学生学生”,2); /查找子串字符查找子串字符 b1=s6.equals(s4); /比较两个字符串比较两个字符串 b2=s6.equalsIgnoreCase(s4); /比较两个字符串比较两个字符串,忽略大小写忽略大小写 s8.append(Hello,girls!); /字符串扩充字符串扩充 s7.insert(6,girls); /字符串插入字符串插入 s8.setCharAt(6,G);g.drawS

135、tring(*操作结果操作结果* ,10,20);g.drawString(s1,10,40);g.drawString(s2,10,60);g.drawString(s3,10,80);g.drawString(s4,10,100);g.drawString(s5,10,120);g.drawString(Integer.toString(L),10,140);g.drawString(Integer.toString(i),10,160);g.drawString(Integer.toString(j),10,180); g.drawString(Integer.toString(k),1

136、0,200); g.drawString(s7.toString(),10,220); g.drawString(s8.toString(),10,240); g.drawString(Boolean.toString(b1)+ +Boolean.toString(b2),10,280);弱敬江科翟疯蜂织码再梗吨匙痊艾登蒙究痢餐铬洋脉句距景硕藏天甸殴愧第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院2.4.3 StringTokenizer类类 该类用来对字符串进行分隔,位于该类用来对字符串进行分隔,位于java.util包中,包中,有两个构造函数:有两个构造函数:1

137、)StringTokenizer( String s) 为字符串为字符串s构造一个分析器,使用默认的分隔符构造一个分析器,使用默认的分隔符集合进行划分,包括:集合进行划分,包括:空格符、换行符、回车空格符、换行符、回车符、符、Tab符和进纸符符和进纸符。2) StringTokenizer( String s, String delim) 为字符串为字符串s构造一个分析器,用参数构造一个分析器,用参数delim中的中的字符来分隔,该参数可包含多个符号。字符来分隔,该参数可包含多个符号。块虹杰烫躺靠方嘲隔慰吸毯娟溶医助娘免哨垮瞩凉焰廊帖泡抹谷昌空暴侨第2部分Java言基础第2部分Java言基础

138、计算机工程学院计算机工程学院import java.util.*;public class testStringTokenizerpublic static void main(String args)String str1=我们有幸拥有了这份橄榄绿,就有了希望,我们有幸拥有了这份橄榄绿,就有了希望,有了动力,让我们共同努力,让我们的队伍更加生机勃勃,有了动力,让我们共同努力,让我们的队伍更加生机勃勃,让我们的事业一路阳光让我们的事业一路阳光;StringTokenizer fenxi;int number=0; fenxi=new StringTokenizer(str1,我们我们); /用

139、分隔符用分隔符“我们我们”分隔字符串分隔字符串 number=fenxi.countTokens(); /统计字符串个数统计字符串个数 System.out.println(字符串中共有:字符串中共有:+number+个我们个我们); 檬崖衅内模倔攀淋静睁谓寥铅赊诡蓑迹掀驭墙六低搪盂歧佛多时啄舞向酷第2部分Java言基础第2部分Java言基础 计算机工程学院计算机工程学院本章小结本章小结Java的数据类型的数据类型标识符和关键字标识符和关键字运算符和表达式运算符和表达式顺序结构顺序结构分支结构(分支结构(if-else,switch-case)循环结构循环结构 (while,do-while、for)数组数组字符串字符串叫菩胜途芹马饵潭丁次绅誊举佬伙胖扑党夏盅膀河格阿擞情熙蚕哮鼎鹊辩第2部分Java言基础第2部分Java言基础

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号