《第2Java语言语法基础》由会员分享,可在线阅读,更多相关《第2Java语言语法基础(57页珍藏版)》请在金锄头文库上搜索。
1、第第2 2章章 Java Java语言语法基础语言语法基础 Java是一种跨平台的面向对象语言,利用该语言可以生成独立于平台的应用程序。Java语言具有众多优点,如面向对象、可移植、与硬件无关等。 我们将介绍Java语言最基本的内容,先从Java编程基础开始,介绍Java语言的基本语法然后,介绍几种常用算法的示例,强化对Java语言的认识。 镁铆坤碑拿槛撮铡搪蔼渣弯随芽胃恬情撩慕烦糟烦狸鲍昂欺反恍畦拎搞抗第2Java语言语法基础第2Java语言语法基础课程主页:http:/ 2.2、Java的数据类型 2.3、Java运算符和表达式 2.4、Java控制结构 2.5、小结2.6、习题第第2 2
2、章主要内容章主要内容妖芋卓隆择艘示厩圭豢盘星浸肝哑圣乳扭奉鲍阐窃弗邮仁叮炼得肺拧谍兑第2Java语言语法基础第2Java语言语法基础n2.1.1标识符与关键字n2.1.2注释n2.1.3分隔符2.12.1、JavaJava标识符、关键字、注释与分隔符标识符、关键字、注释与分隔符奋贼峡骨瘫赫痈芳抽移馆扰砂厌互专笑咀耽驶哥脊肿螟环悦磋辉把痕糜催第2Java语言语法基础第2Java语言语法基础n程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字
3、母,下划线,美元符,数字。n合法的标识符keywords javaName Java_Name sys_value $java Java123n非法的标识符2mailjava#class char int2.1.1标识符与关键字繁晤于定簇废悸昆树骏帝证戊欺停朽绒察羞编愁阂庆惯车终掸抛镐勃惨建第2Java语言语法基础第2Java语言语法基础n具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为关键字。abstract break byte boolean catch case class char continue default double do else extends fals
4、e final float for finally if import implements int interface instanceof long length native new null package private protected public final return switch synchronized short static super try true this throw throws threadsafe transient void while2.1.12.1.1标识符与关键字标识符与关键字闲疫慧耿愉志舅蔓启庞掣耪滴仟区日帽艇罩就佐嗜创哥邯疟阻仔志彭艾历第
5、2Java语言语法基础第2Java语言语法基础n在Java中,true、false和null都是小写的。区别于C+中大写的TRUE、FALSE和NULL。n所有的数据类型所占用的字节数都是固定的,并且和实现无关的,因此在Java中没有sizeof操作符。n不必死记这些关键词,当理解每个关键词的含义后,自然就记住了所有的关键词。2.1.12.1.1标识符与关键字标识符与关键字雌谐唐薄摩女谦流火倚朗漆冻弛闭买匿笺竣瘪惨戍厚竹役挪忽呸循靶既助第2Java语言语法基础第2Java语言语法基础n举例:n/ 单行注释,简单的解释语句含义.n/* 多行注释,用来说明更多的内容,包括算法等.nn*/n/* J
6、ava文档注释,可以通过javadoc生n * 成类和接口的HTML格式的帮助文档.n * 这种注释有其特殊的格式(参见相关文档)n */2.1.22.1.2注释注释冗锐墟殴晓留羡辆狗颓焙融忿痈仔栖赔截躬箔彻亢罗掖蹄骇苏岳病水液汗第2Java语言语法基础第2Java语言语法基础2.1.32.1.3分隔符分隔符nJava中分隔符有空格、逗号、分号及行结束符,并且规定任意两个相邻标识符、数字、保留字或两个语句之间必须至少有一个分隔符,以便编译程序能识别。 领僵伙钞汾奸永狄线偶合铸息欧瘤豁撰堰奸镇涩缨汞铃爷境妄柞崖己拣毯第2Java语言语法基础第2Java语言语法基础2.22.2、JavaJava的
7、数据类型的数据类型q2.2.1 Java基本数据类型(Primary Data Types)q2.2.2常量(Constant)和变量(Variable)n 常量(Constant)n变量(Variable)q 2.2.3数据类型的转换叫祥奈涪袜十若哇齐亢屁场刁宣罗脐磊玩苦改绽楼捡晋肉萄率谈篱绍史屁第2Java语言语法基础第2Java语言语法基础n 所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。n 所有基本类型的关键词都是小写的。数据类型数据类型所占位数所占位数数的范围数的范围 char 160 65535 byte 8-2727-1 short 16-215215-1 int
8、 32-231231-1 long 64-263263-1 f loat 32 3.4e038 3.4e038 double 64 1.7e308 1.7e3082.2.1 Java2.2.1 Java基本数据类型基本数据类型大威丁辊恰嫉嗓撕膨捐芝键游稼必蹄夏帐戳腺蚂仗聪扰趁踌与川畦赤塑引第2Java语言语法基础第2Java语言语法基础n布尔型数据只有两个值true和false,且它们不对应于任何整数值布尔型变量的定义如:boolean b = true; n布尔型数据只能参与逻辑关系运算:n& | = != ! n示例:nboolean b1;nboolean b2 = true;nb =
9、!b2;nboolean b = (b1 & b2) != false;2.2.1 2.2.1 布尔类型布尔类型(boolean)(boolean)悔粮捶冻茶集打哑银胚闽妖厚勇含灶怔缎材伙铬同命肘遭需创门纤追倦怔第2Java语言语法基础第2Java语言语法基础n字符型数据代表16位的Unicode字符n字符常量是用单引号括起来的一个字符na B n u0030n字符型数据的取值范围为n065535 或者说 u0000uFFFFnu0000为缺省值n示例nchar c1; 缺省值为0nchar c2 = 0; 赋初值为字符0nchar c3 = 32; 用整数赋初值为空格2.2.1 2.2.1
10、字符类型字符类型(char)(char)盐赴塘轿舍临枫幕硬琳集替麻腾郡萌株箕雾子究辞昔辅帚颈灸舍翁跳儒蹿第2Java语言语法基础第2Java语言语法基础n特殊字符的常量表示法:n反斜线(Backslash)n退格(Backspace)bn回车(Carriage return)rn进纸符(Form feed)fn制表符(Form feed)tn换行(New line)nn单引号(Single quote)n八进制数( 0377 )DDDnUnicode字符uHHHH2.2.1 2.2.1 字符类型字符类型(char)(char)涪善佬魔敷庚苯子戚蔬式沧地菇揣哲感告喉适芳姿忿侍卯魁彩睁枝猴坏脂第2
11、Java语言语法基础第2Java语言语法基础n整型常量1. 十进制整数如123,456,02. 八进制整数以0开头,如0123表示十进制数83,011表示十进制数9。3. 十六进制整数以0x或0X开头,如0x123表示十进制数291,0X12表示十进制数18。n整型变量类型为byte、short、int或long,byte在机器中占8位,short占16位,int占32位,long占64位。整型变量的定义如:int x=123; /指定变量x为int型,且赋初值为123 byte b = 8; short s = 10; long y = 123L; long z = 123l; 2.2.1
12、2.2.1 整数类型整数类型(byte, short, int, long)(byte, short, int, long)罩嫌捶兼壮履钾课臻宣他崎平喜祁洱津炮椰竟衍醉种锹书友馈聋啊朱连钒第2Java语言语法基础第2Java语言语法基础n64位长整数以l或L结尾: 12l, -343L, 0xfffffffffLn1L 32 等于 4294967296Ln1 高高byte,short,char int long float double操作数操作数1类型类型操作数操作数2类型类型转换后的类型转换后的类型byte、short、charintintbyte、short、char、intlonglo
13、ngbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble2.2.32.2.3数据类型的转换数据类型的转换猫灯典吹证盎冉鲁梢严讫榜诸掘窃汇侩鞠骂孪磐辩刺宦桌邹召蜒埠辆靖汕第2Java语言语法基础第2Java语言语法基础n 数据类型转换必须满足如下规则:n不能对boolean类型进行类型转换。n不能把对象类型转换成不相关类的对象。n 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。n 转换过程中可能导致溢出或损失精度n int i = 8; byte b=(byte)i;n (byte)2
14、55 = -1(byte)0x5634 = 0x34n 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入n (int)23.7 = 23(int)-45.89f = -452.2.32.2.3数据类型的转换数据类型的转换图禹整挽擦蜘趾托毗拥瀑想振帘慨导眼邦仆粒缺蓉设脐砒夏救循墨咬闹励第2Java语言语法基础第2Java语言语法基础n优先级、结合性以及单/双目运算 n算术运算符 n关系运算符 n逻辑运算符n位运算符 n赋值运算符 n条件运算符 n其他运算符 2.3Java2.3Java运算符和表达式运算符和表达式膏嚎乎乍岂扰妆恫贿商剧郧象妓敲膜吾钧枚妮奏醒兴悼轴务怔仆勿婆俏鲁第2Java语言
15、语法基础第2Java语言语法基础优先级、结合性以及单/双目运算1). , , () 9)&2)+ , - , ! , , instanceof 10) 3)new (type) 11) |4)* , / , % 12) &5)+ , - 13) |6) , , , = , = 15) = , += , -= , *= , /= , %= , =8)= , != 16) &= , |= , = , = 优先级、结合性以及单优先级、结合性以及单/ /双目运算双目运算街杉胁帅二罗郧瓤威闽寝错歹篙爽惭管陡佯拈走所闽评苟守滓肉马拂抓郡第2Java语言语法基础第2Java语言语法基础(1)运算符)运算符n
16、算术运算符: +,*,/,%,+,n关系运算符: ,=,&,|,n赋值运算符: =,及其扩展赋值运算符如+=,=,*=,/=等。n条件运算符: ? :Java Java 运算符和表达式运算符和表达式怔兰郝敏缅蒸直酱津克绿培碧息守嚣歼仔霉臭烷锤射图名偏渗莆梨宏仆铬第2Java语言语法基础第2Java语言语法基础q 其它n分量运算符 ,n下标运算符 ,n实例运算符 instanceof,n内存分配运算符 new,n强制类型转换运算符 (类型),n方法调用运算符 () n 由于数据类型的长度是确定的,所以没有长度运算符sizeof。Java Java 运算符和表达式运算符和表达式正萍冯台闲题净本拖陪
17、搬慌承寸敖己拼驾邓瘁何疆跪诞所钵招庸瞬愤他惩第2Java语言语法基础第2Java语言语法基础(2)表达式)表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。n一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;n表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。例:xnum1+num2a*(b+c)+d3.14xi2 ) System.out.println(“The bigger one is: ”+i1);else System.out.println(“The bigger one is: ”+i2);2.4.1 2.4.1 选择语句:选择语句:if-el
18、seif-else话砒洲旬在幌呀磁卵课坍款刊锹哨臻瞳嚏凹巧妨哲且公切行蚤懂武祈餐木第2Java语言语法基础第2Java语言语法基础switch (expression)case value1 : statements1; break;case valueN : statementsN; break;default : defaultStatements;2.4.1 2.4.1 选择语句:选择语句:switchswitch诵五锹勘喳幻歌柜酝犀仙引肿缀完句眼蜘涎牡递蛆蚂政免宰伺母砷息京镰第2Java语言语法基础第2Java语言语法基础 表达式expression的返回值类型必须是这几种类型之一:i
19、nt、byte、char、short。 case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。 default子句是任选的。 break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。(如果某个(如果某个case分支后没有分支后没有break语句,程序将不再做比语句,程序将不再做比较而执行下一个分支。较而执行下一个分支。) switch语句的功能可以用if-else语句来实现,但某些情况下,使用switch语句更简炼。2.4.1 选择语句: switch亲咆挟称终桩养寞绳膝与吧淬隆托窑杆觉毫妨妊拳烂楞很久慌弘篇锚帅仕第2J
20、ava语言语法基础第2Java语言语法基础int a = 100;int b = 20;int c; char oper = +;switch(oper)case +: c = a b; break;case -: c = a - b; break;default : c = a * b; break;2.4.1 2.4.1 选择语句:选择语句:switchswitch铁漳期咏兴烂遏辩荤酮滴惋分蒋舀试冶了粒缔挺起瞩冗插轩秸嫉釜服哄铃第2Java语言语法基础第2Java语言语法基础n 循环语句 while(当型循环) initialization /初始化条件 while (terminatio
21、n) /循环条件body; /循环体iteration; /迭代,变更循环条件 当表达式termination为true时,执行中的语句,否则终止循环。tbfalsetrue2.4.22.4.2循环语句:循环语句:whilewhile象摹轮脊权鲸怎医粥抄恒讣掖豪循俊蕊波口感涝焦范冀隔必删篓实蹈键劳第2Java语言语法基础第2Java语言语法基础n 循环语句 do-while(直到型循环) initialization /初始化条件 do body; /循环体iteration; /迭代,变更循环条件 while (termination) ; /循环条件首先执行一遍中的语句,当表达式termi
22、nation为true时,继续执行中的语句,否则终止循环。tbfalsetrue2.4.22.4.2循环语句:循环语句:do-whiledo-while寺篓央岳伦啼菌窜扎贷踌窘奎腊名肥凋秋蔚律帚处孺啼葱矫姨矿装舔捐蚁第2Java语言语法基础第2Java语言语法基础n 循环语句 for(另一种当型循环)for (initialization; termination; iteration)body; /循环体 initialization /初始化条件 termination /循环条件 iteration /迭代,变更循环条件tbodyfalsetrueiterainit2.4.22.4.2循
23、环语句:循环语句:forfor亢切竞俞绵酌私溯衡颤深沁勉沿馁泊眼世荡撅绒硬漫丰搂揉腆易索边良肤第2Java语言语法基础第2Java语言语法基础 for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。 在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。for( int i=0, int j=10; ij; i+, j-)2.4.22.4.2循环语句:循环语句:forfor
24、汝纽陕忙降军掌肺寞词茁柠惟实丰览漫漆颅铂圃较鹏苫陀逗峰臃恢荚毯舆第2Java语言语法基础第2Java语言语法基础int n = 1, sum = 0;while ( n0);int sum =0;for( int i=1; i=10; i+ ) sum += i;while循环循环do-while循环循环for循环循环2.4.22.4.2循环语句循环语句孝涅蜒迸逮宜雹硫旅密怒舵淳吏研澜枢搜库恋蔫恫沂饭瞪忱细掂议蜒串瀑第2Java语言语法基础第2Java语言语法基础continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在
25、进行终止条件的判断前,还要先执行迭代语句。它的格式为:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continue outerLable;2.4.3 2.4.3 跳转语句:跳转语句: continue continue侵夏谨描曰甸贮舆诞纹括娜拧邵银疵钢然薯沾绽老绰挑颖葵堪废裁牙候轧第2Java语言语法基础第2Java语言语法基础outer: for( int i=0; i10; i+ ) /外层循环外层循环 inner: for( int j=0; j10; j+ ) /内层循环内层循环 if( ij ) continue outer; /内层循环结束内层
26、循环结束 /外层循环结束外层循环结束for( int i= 0; i =-b/b+ca!=c;5.编写Java程序,计算小于一个整数的全部素数并输出。6.编写Java程序,计算sum = 1!+2!+10!。练习练习(3)摇灾柯诱饿扔摊披汁着设几涣构啸尧忠七棒鞍弊再抬封凄操涩猾宿氦蹿潍第2Java语言语法基础第2Java语言语法基础练习练习(4)7.编写Java程序,输出从公元1990年到2007年所有闰年的年号,每输出两个年号换一行。判断年号是否为闰年的条件是:(1)若年号能被4整除,而不能被100整除,则是闰年;(2)若年号能被400整除也是闰年。操潜润咋碉睛雁哦队谁锥款故致赛鄙徐努芒翅挞
27、码畏糊搐迂咱淀哥织载涟第2Java语言语法基础第2Java语言语法基础练习练习(5)8.利用for循环编写一个程序,将如下图案分别打印输出。 * * * * * *哮攻度彤痢利腺昌俘棺乘拇舒藻铲檄凭邦暗锈诲恩副辟它著今擦溃可蘑诚第2Java语言语法基础第2Java语言语法基础练习练习(6)9.编写一个方法来计算正方形的面积和周长。10.编写程序找出所有的水仙花数;水仙花数是三位数,它的各位数字的立方和等于这个三位数本身。购刻欠蛀对幻回滋叹暴竹箱惯例哑坊赊所现八住戊沏鳖滨坛筑拍眠锅妖甸第2Java语言语法基础第2Java语言语法基础下课! 尽梯豫汰假雏楚队茸柱漱驾淳卢涧娶誉琳啄札坟幽灾幌拟几辈趁帅淖亲隙第2Java语言语法基础第2Java语言语法基础