第二讲java语法基础

上传人:M****1 文档编号:567589992 上传时间:2024-07-21 格式:PPT 页数:129 大小:892.50KB
返回 下载 相关 举报
第二讲java语法基础_第1页
第1页 / 共129页
第二讲java语法基础_第2页
第2页 / 共129页
第二讲java语法基础_第3页
第3页 / 共129页
第二讲java语法基础_第4页
第4页 / 共129页
第二讲java语法基础_第5页
第5页 / 共129页
点击查看更多>>
资源描述

《第二讲java语法基础》由会员分享,可在线阅读,更多相关《第二讲java语法基础(129页珍藏版)》请在金锄头文库上搜索。

1、JVMn nJAVA的几种模式uuApplicationuuAppletuuServlet回顾露锯丽斯役阔掺幌署吉蓟腿矛细厌粱瞳袍酷柯侥炬奠像柜沏卜北鸣富慈啦第二讲java语法基础第二讲java语法基础Java 运行时环境 (JRE) 包含一方面与硬件交互、另一方面又与程序交互的 JVM。Java是完全面向对象的语言,所有的实现必须放在类中。main函数是Java应用程序执行的入口。JDK可用于开发 Java 程序。回顾冬葵巨待满矽浴会靳剥垫赶陈凳茅滚直啤另米巫宫陋瓜裳毡廊采贼誉倪哪第二讲java语法基础第二讲java语法基础Lesson 2: Programming Basic (Java语

2、法基础)刘明铭2012舔昼良阂潦乖抹褒摧消锭脑喘吃招博瞅蕾聪猜浩望费疹阴芋矣杠旧山蜂蛆第二讲java语法基础第二讲java语法基础Java语法基础【学习目标】【学习目标】本讲主要讲述java编程语言的基本语法知识,如java 中的简单数据类型,运算符和表达式,控制语句,数组及字符串的处理。通过本讲的学习,同学们可以编写简单的java程序。【学习指南】【学习指南】同任何一种编程语言一样,应深刻理解各知识点的概念,牢记一些java的语法,从而达到学习的目的。【参考书】Java编程思想,4th,第3,4章疯狂Java讲义,第3,4章井螺是亿鞘惕接举负摔瘸乖孰光诣队须扦不端焙蝗兴伙菠厨闭急憎最动物第二

3、讲java语法基础第二讲java语法基础课前思考课前思考Java中的标识符是由哪些字符组成的?Java中有哪些保留字?简单数据类型包含哪几种?各种数据类型变量的定义方法和常量的表示方法及取值范围。Java 中各简单数据类型间的优先次序和自动转换规则是什么?各数据类型间在什么情况下,进行自动转换,在什么情况下使用强制转换?Java中有哪些运算符?这些运算符的优先关系是怎样的?Java 中有哪些控制语句?你了解每一种控制语句的语法规则吗?槐钟湛砒吹卓造檀们深识梅律喘患霍乃递描渔冒蓄驱含冯胯镊顶虽残盖身第二讲java语法基础第二讲java语法基础5第二讲 Java语法基础1.词法规则2.数据类型3.

4、常量与变量4.运算符和表达式5.控制语句6.数组和字符串摘兴狮替孽叫类氏丁障砸举哗珠伺浓摹游俄芦齿痕沁伞仓匠庐忧投吨爹爆第二讲java语法基础第二讲java语法基础词法规则Java程序的运行体系1.Source code (.java file)2.javac: Lexical Analysis & Parsing + Type-checking Byte code (.class file) Java编译器对源代码进行词法分析和类型校验,生成字节码文件3.JVM: Verification (essentially repeating static checks) + (Interpreta

5、tion OR Compilation + Loading + Executing)Java解释器执行字节码文件中的类,Java解释器在加载和执行类时验证类的完整性、正确操作和安全性,并与所在的操作系统、窗口环境和网络设备进行交互以产生所期望的程序行为竟啄喜铰棚阑绘佰满态崩饶赐硒甚篆黔壕朔蛤哈瘦腾谍冈幢各玻寿痪燎梯第二讲java语法基础第二讲java语法基础关键字abstract double int strictfp * boolean else interface super break extends long switch byte final native synchronized

6、case finally new this catch float package throw char for private throws class goto * protected transient const * if public try continue implements return void default import short volatile do instanceof static while 注: *当前未被使用 * *使用于Java2鸦水免沾宛鹰墅市借泰响脏卜狮瞩令虎仙正男撒撩保踞贞诌僳窑劲掣瘪诡第二讲java语法基础第二讲java语法基础标识符标识常量、

7、变量、数据类型、类和方法public class HelloWorld1 public static void main(String args) String message = “Hello World!”; myPrint(message);private static void myPrint(String s) System.out.println(s);捆芜范坡旱皿驹嗓狱当臻缔电谗庸妈授贮贯匿岗捞叠祟睛晶苔虞垣纳掇隆第二讲java语法基础第二讲java语法基础标识符组成规则1.字母(AZ、az)、特殊符号($、_)和数字(09)2.第1个符号不能为数字3.不能为关键词、true、f

8、alse、null4.区分大小写 武哥沁喜氯挚距寞卜硼悠操途箔订普镀倘哮广罕然痴桓敲诀蹿绰授盎绒澳第二讲java语法基础第二讲java语法基础标识符例:point4、 5w、 A%、 thisPicture、$currentValue、OK、_23b、Y_123、length、ab、ifn5w、 A%、length、ab、if仪符蜘经帮其祥陌膘彭蛙掠幻伪扎驰抖泪烤恍状院逼契瘩红创煞州速匠弗第二讲java语法基础第二讲java语法基础标识符一般约定1.表示常量的标识符全部大写,如RED2.表示类名的标识符用大写字母开始,如MyCar3.表示公有方法和实例变量的标识符用小写字母开始,后面的描述性词

9、以大写开始,如getCurrentValue4.表示私有或局部变量的标识符全部用小写字母,如next_value旺普绢香模行滩敏旭拨碳您潜玩舍峨绑农选呕吃花慨砰惦衔疮绞邻植长诧第二讲java语法基础第二讲java语法基础分隔符空白符空格、换行符、制表符分号表示语句结束,或用于for循环语句中逗号变量之间的分隔冒号? : /switch循环中的case语句花括号类体、方法体、复合语句(for/while/switch/if)遥妙汕膘茧庄叭扑甥丘余损农啥甭伐率嘎摄存威房凡溃币奴炼粘捷徽雾晰第二讲java语法基础第二讲java语法基础第二讲 Java语法基础1.词法规则2.数据类型3.常量与变量4.

10、运算符和表达式5.控制语句6.数组和字符串区酥复绪荫初昧事授沸楔雀模剥琳著苟头民酗疼鹤单恕左盈裙笛绞膊讽眉第二讲java语法基础第二讲java语法基础数据类型基本数据类型数字 (number)整型 (integers)1.字节整数 (byte, 8 bits): -128 127, 02.短整数 (short, 16 bits): -32768 32767, 03.整数 (int, 32 bits): -2147483648 2147483647, 04.长整数 (long, 64 bits): , 0L实型 (real numbers): 浮点型 (有效位数不同)1.单精度(float, 3

11、2 bits): , 0.0F2.双精度(double, 64 bits): , 0.0D字符 (char, 16-bit Unicode字符): u0000 uffff布尔 (boolean): true, false复合数据类型数组(Array), 类(class), 接口(interface)影屎壬翼下喜校刺健跋祟见车驭宪甚迭他救吭钵竟满碳假也晓颧毅菲撵鞍第二讲java语法基础第二讲java语法基础数据类型示例1.int i = 178;2.long l = 8864L; (8864l)3.double d1 = 37.266; 4.double d2 = 37.266D; (37.26

12、6d)5.double d3 = 26.77e3; 6.float f = 87.363F; (87.363f)7.char c = d; 8.boolean b1 = true; 9.boolean b2 = false; 汪诧蒋出商邻楼铆嫩筒鲜喘聚催过惫辈抛域职您评掐褥甫郁诧炕削落比溯第二讲java语法基础第二讲java语法基础将一种类型的数据转换为另一种类型的数据操作数转换为同种类型,然后运算整数型、实数型和字符型表达形式: (类型) 操作数应用场合1.二元运算符的二个操作数类型不同2.表达式值的类型与变量的类型不同两种方法1.隐型类型转换: 自动类型转换(系统完成)2.显型类型转换:

13、强制类型转换类型转换 (casting)帘苹镊馆首暑娱颇熬掳朝复细宵蓝穿瑚耘揽患逊肝墩溃鲸体中苹置霉倒股第二讲java语法基础第二讲java语法基础隐型类型转换:自动类型转换(系统完成)宽化转换(widening conversion)byte j=60; short k=4; int l=31; long m=4l;long result=0l;result +=j-8;result *=k+2;result /=m+1;result -=l;result %=m;类型转换 (casting)伦汽冶肘隘金珍狈谚染排磋拒昆眩蹲诅必兹侗础填躲竟礁烂渗鸳蚂欠析引第二讲java语法基础第二讲java

14、语法基础隐型类型转换:自动类型转换(系统完成)类型转换表源类型 转换后不会丢失数据的目的类型byte short, char, int, long, float, doubleshort char, int, long, float, doublechar int, long, float, doubleint long, float, doublelong float, doublefloat double类型转换 (casting)卒噎怂骨仁费式寝话套入乍愈党痒赖靛亚业启啊纬湍堪给仲泛境殃规激漆第二讲java语法基础第二讲java语法基础显型类型转换: 强制类型转换窄化转换 (narrow

15、ing conversion)double a = 1.5;float b = a;System.out.println(“b= + b);编译: “possible loss of precision”数据精度丢失数据丢失double a = 1.5;float b = (float)a;System.out.println(“b= + b);类型转换 (casting)包均卤笑秋期辨叫泣昨猪彬拒千钻泣哩疯八摔钓奥嚏订洛妨草痛招秋擎抽第二讲java语法基础第二讲java语法基础显型类型转换: 强制类型转换class Test public static void main(String ar

16、gs) int a = 257;byte b = (byte)a;System.out.println(a= + a);System.out.println(b= + b);257 00000000 00000000 00000001 000000011 00000001类型转换 (casting)贺耳浦毛基夕朽囤挛雀实造钧行荫僚逊倡谴朋恭铂疫篮近精碉触嗣荣牺谷第二讲java语法基础第二讲java语法基础显型类型转换: 强制类型转换class Test public static void main(String args) char c1 = A, c2; / A的ASCII值为65int

17、i;i = (int) c1 + 1;c2 = (char) i;System.out.println(c1 + c2);System.out.println(c1 + “ ,” +c2); 类型转换 (casting)闷怪钎昂皱柏峨蔗圃遏美湖丹恋萨捣演商溜始蜘灯幸郁流贝辛寨刀琳软剩第二讲java语法基础第二讲java语法基础第二讲 Java语法基础1.词法规则2.数据类型3.常量与变量4.运算符和表达式5.控制语句6.数组和字符串乳涡锻逛殷涨夫顿翟厢喻劳掏酱揩水连膝闻望司靳姥趾诧捆秉滇净厢担艰第二讲java语法基础第二讲java语法基础常量程序执行过程中,值保持不变的量整型常量实型常量布尔型

18、常量字符型常量字符串常量胳枝铂谚蓄白峭渤忙嫡腾此转涛扦休自挖碰根综勾衷丑肛法予藏艘产缆峨第二讲java语法基础第二讲java语法基础常量整型常量常用十进制、八进制、十六进制表示有正负号起 始最大整数(正)最大长整数(正)举 例十进制0,1921474836479223372036854775807L23, +567,-12,0,1234八进制00177777777770777777777777777777777L034,0175,-0777L十六进制0x0x7FFFFFFF0x7FFFFFFFFFFFFFFFL0xFF, 0x45L奥洽退守掖匹旷盟邦骸焰味寞裕迅妮盟港诈惰召惯贰鸽臂召嘲展敲弥跑

19、唾第二讲java语法基础第二讲java语法基础常量实型常量双精度实数(double, 8个字节, 数字后加字母D或d)浮点实数(float, 4个字节,数字后加字母F或f)若无明确字母标识,则系统默认为双精度实数两种表示方法十进制: 数字和小数点组成,必须有小数点,例 0.12, .12, 12., 12.0科学计数法: 123e3, 123E3, 0.4e8D, -5e9锁气笋镍市卜末毖窄状槛趴鸣弊亲咕臆趾粱巢储肇翠蜗烬绕室魂糠羚痒僵第二讲java语法基础第二讲java语法基础常量布尔型常量truefalse虹矿磋策彪醇柞戈酚冠诛世匠哟伊境损悸襟咀喳抉俐仙拜萍输瓷长砒因锈第二讲java语法基

20、础第二讲java语法基础常量字符型常量用单引号括起来的单个字符例: a, A, , , &例: , , “a”JAVA中的字符为Unicode字符双字节,范围u0000uFFFF转义字符序列b 退格 t 制表符n 换行 (Newline) r 回车 (Carriage return) 单引号 ” 双引号 反斜杠瘤犬沈两多獭渺粤克反桅柠条航绞胎掇佬哭携负怠艾占闯湃速漳哭厘犬咒第二讲java语法基础第二讲java语法基础常量字符串常量用双引号括起来的若干个字符例, “I am a student”, “java语言”, “A”转义字符序列表示“ ” ” “ ”洲绎咳昼剩靶匝召整矾曰驹胎翠恭纽既甭韩

21、葬龟无侨买添陷侦嗅唤蠢挤淖第二讲java语法基础第二讲java语法基础常量转义字符序列class Test public static void main(String args) System.out.println(“javan语b言);System.out.println(javar语言);System.out.println(javat语言);System.out.println(java语言);System.out.println(java语言);System.out.println(“”java语言“”); C:java Testjava言语言java语言java语言java语言“

22、java语言”C:鸣沸秘斤残原匿战歉叭货葱攘阐白魁翰掇跟楷鸣撬余蹲眷挺躬回厌赢琶淹第二讲java语法基础第二讲java语法基础变量程序执行过程中,值可以改变的量整型变量、实型变量、字符型变量、字符串变量、布尔变量等变量定义类型 变量名 =初值, 变量名=初值 类型: 基本数据类型或引用类型int x, y, z;float a, b;char c1, c2, c3;double d1;boolean mycom;带依萍齿音樟歼萨段瘸牙伪幼岩狈谦船靳酗哀酞防耳化阐芝诬申丰咙略擒第二讲java语法基础第二讲java语法基础变量变量赋初值/初始化 在变量声明时赋值1.类型 变量名 =初值, 变量名=

23、初值 2.int x=1, y=2, z=3;3.float e = 2.718281828f;采用赋值语句1.float pi, y;2.pi = 3.1415926f;3.y = 2.71828f;柬共洁蠢略缅等谤秽漏涸就迷苇骏劝脑绷泰雅衍堑饿社市岁承捐络岁渣涨第二讲java语法基础第二讲java语法基础变量变量的作用域class MyClass 成员变量申明public void aMethod(方法参数) 局部变量申明 成员变量范围方法参数范围局部变量范围站纲窟赋穴管汁甲寓迈绢场坊狱骏抿吮火摔劲晃铡轰侠连阴膜鲍沟阔细徐第二讲java语法基础第二讲java语法基础变量变量的作用域变量的使

24、用范围class Spot final static Spot st = new Spot(1, 2); int a, b;int Count;Spot(int a, int b) this.a = a;this.b = b;成员变量a,b,Count范围方法参数a,b范围让贞淹芋伤若缨屯迷呕纷巨窗忍晒攻谁丽稀名更骇涟腐螟确桃龋盎枢疑古第二讲java语法基础第二讲java语法基础变量作用域(Scope)if ( . ) int i = 17; .System.out.println(The value of i = + i); 刚哥暑送沧泊技耕仗走绳蒋哪韵巾措万洋滞眠函翻缕啼测团猎味甫够圆蹈第

25、二讲java语法基础第二讲java语法基础变量final变量带有关键字final的变量final int aFinalVar = 0;final变量初始化后不能再改变final int blankfinal;. . .blankfinal = 0; blankfinal = 3;鹿盟吕巴志廖写双瞬凛充奖蹿术勾艇傍蚀崭哄谈垃春愧精儒挝剁越斤霜硅第二讲java语法基础第二讲java语法基础第二讲 Java语法基础1.词法规则2.数据类型3.常量与变量4.运算符和表达式5.控制语句6.数组和字符串悄麦仆啡浙疹嫉仇份努取加析慧陨辟稗其杏迈圆啸帕菱肝丧片吨缠摧分南第二讲java语法基础第二讲java语法

26、基础运算符 (operator)一元/单目运算符operator opop operator二元/双目运算符op1 operator op2三元/三目运算符op1 ? op2 : op3注: op表示操作数柿修事策奋啡腹着仑郎晓濒谬沈理搪司砍烹彬咙银甄卷浙焚锭踢鉴夺瘫好第二讲java语法基础第二讲java语法基础1.算术运算符 (Arithmetic Operators)2.关系运算符 (Relational Operators)3.逻辑运算符 (Logical Operators)4.位运算符 (Bitwise Operators)5.移位运算符 (Shift Operators)6.条件运

27、算符 (Conditional Operator)7.运算符的优先级运算符 (operator)诊汪与余朴钻氮宙蕊浙色汾儒淤壤豆绦蔼巴债蜒避掺糯浊豺乖皖涩化院驳第二讲java语法基础第二讲java语法基础算术运算符(Arithmetic Operators)1.加法运算符 + “op1 + op2”2.减法运算符 - “op1 - op2”3.乘法运算符 * “op1 * op2”4.除法运算符 / “op1 / op2”5.求模运算符% “op1 % op2” 计算余数int i = 37int j = 42double x = 27.475double y = 7.22Adding. i

28、+ j = 79 x + y = 34.695Subtracting. i - j = -5 x - y = 20.255Multiplying. i * j = 1554 x * y = 198.37Dividing. i / j = 0 x / y = 3.8054Computing the remainder. i % j = 37 x % y = 5.815运算符 (operator)炬窜绸彤造荧痴配丰刹杭鞍尾卖逢乖马嚎萧船跳质售通侵值沈吱往吟鲤脂第二讲java语法基础第二讲java语法基础关系运算符(Relational Operators)比较运算,计算结果“true”或“fals

29、e”1.大于 “op1 op2” 2.大于等于 = “op1 = op2” 3.小于 “op1 op2” 4.小于等于 = “op1 、=、 (=、!=)关系运算符低于算术运算符运算符 (operator)瓶使即战切昧街卯聊悔癣载冶丘安舔逐恿治夏奢森口桶龄茫帕挥困垃泉慌第二讲java语法基础第二讲java语法基础关系运算符(Relational Operators)class Test public static void main(String args) int w=25, x=3;boolean y = w = w * 2 x * 9;boolean cc = b a;System.ou

30、t.println(“w x = ” + y);System.out.println(“z = ” + z);System.out.println(“cc = ” + cc);运算符 (operator)馅疚睡符趋妆块阜潦澜提价评挣厕我痉介构禄叛鳞精掇野吮她霜荤樟富御第二讲java语法基础第二讲java语法基础逻辑运算符(Logical Operators)操作数的逻辑关系,计算结果“true”或“false”逻辑与 & “op1 & op2”1.操作数都为真“true”,结果为真“true”2.否则结果为假“false”逻辑或 | “op1 | op2”1.有一个操作数为真“true”,结果

31、为真“true”2.否则结果为假“false”逻辑非 ! “! op”1.取反,操作数为真“true”,结果为真“false”,反之例: 0 = index & index (&) (|)(!)算术运算符关系运算符(&) (|)运算符 (operator)短携廊氨肢纬衡菏坊宾重涯品梦棘补晌迈弧故堆缸肝沿孟耳过子缮潜昭茵第二讲java语法基础第二讲java语法基础位运算符(Bitwise Operators)1.按位取反 “op2”2.按位与 & “op1 & op2” 3.按位或 | “op1 | op2”4.按位异或 “op1 op2”通常: 操作数为整数运算符 (operator)残崎孤挡

32、操退扛定吏钻肢拜啮厚昆幂拭配鸳井近愚挂放谎违牛御明豪臣稀第二讲java语法基础第二讲java语法基础补码采用补码表示二进制数最高位是符号位正数的符号位是0,例,十进制42的补码为00101010负数的符号位是1该负数绝对值的补码按位取反,然后加1,为该负数的补码例,十进制-42的补码负数的绝对值42 绝对值的补码00101010 按位取反11010101 加1得11010110运算符 (operator)唱息淌独硼摸嘎例腕囚核窜米哈校拨肤骗桶曙旧尼鹏坍幕却挑娃桩怒赴叛第二讲java语法基础第二讲java语法基础按位取反 “op2”对操作数的每一个二进制位进行“取反”操作int a = 42;i

33、nt aa = a;System.out.println(“aa=” + aa);42 00101010 -43 11010101运算符 (operator)先峡匣怪告棚丈迟舀靡鲤浇鄂地梢沙印蝇称蕉堡作觉讨谗画刷锄诚鄂缔蔗第二讲java语法基础第二讲java语法基础按位与 & “op1 & op2”将操作数的对应位逐位进行位逻辑与运算1 1 1,其余为0用途1.取某一整数中指定的几个二进制位42 & 15 00101010 & 00001111 00001010 取后四位运算符 (operator)蠢狰披奶凸门夷蘸分陪合聂赠必顾衬唇遥株豹理咳陪炽契套刀邻笑百曾够第二讲java语法基础第二讲ja

34、va语法基础按位与 & “op1 & op2”用途2.将某一整数的最后一位置0 00101011 & 11111110 0010101043 & 1运算符 (operator)藩徽镊计派忌椽敬伊笨拖后曳孵紊吠谦谷酪奋墙扁轧腻添妥吁培亚嘶糖瑟第二讲java语法基础第二讲java语法基础按位或 | “op1 | op2”将操作数的对应位逐位进行位逻辑或运算有1 1,其余为042 | 15 00101010 | 00001111 00101111用途: 将一个整数的某一位或几位置1运算符 (operator)侯隐银峡镀褪抡镇屯跟速轻普啤氧员竖俩笛议吧老丢够骂聘糕肋喊良娟霉第二讲java语法基础第二讲

35、java语法基础按位异或 “op1 op2”将操作数的对应位逐位进行位异或运算对应位不同1,其余为042 15 00101010 00001111 00100101用途: 将一个整数的某一位或几位取反运算符 (operator)谜闲雕痰巧展法奶交牛睫贮砰妖匙婪寨摆藉顿忱赎委冒墅支固燥琼致版耽第二讲java语法基础第二讲java语法基础移位运算符(Shift Operators)1.左移 “op1 “op1 op2”3.无符号右移 “op1 op2”运算符 (operator)搬迹出第爹浴俺改秽浆衫拔贡把戊锹篙围阉虫蚜占碰哑蓉怖馈酷祟硝盂芽第二讲java语法基础第二讲java语法基础左移 “op

36、1 op2”1.将操作数op1的二进制位向左移op2(正整数)位2.低位补零int a = 42;int aa = a 2;System.out.println(“aa=” + aa);42 00101010 2168 10101000 相当于 42*22 = 168运算速度比乘法快注意: 溢出运算符 (operator)秸厦镰棚亲换裤挚桔园凸沾恭竣什掖泌拯赐滞驳晤太稽彝坪锑签茸疵脱放第二讲java语法基础第二讲java语法基础左移 “op1 op2”溢出byte j = 42;byte j1 = (byte) (j 1); /84byte j2 = (byte) (j 2); /168 by

37、te j3 = (byte) (j “op1 op2”1.将操作数op1的二进制位向右移op2(正整数)位2.高位补零(原为正数)、高位补1(原为负数)int a = 42;int aa = a 2;System.out.println(“aa=” + aa); 42 00101010 210 00001010 相当于 42/22 = 10.5运算速度比除法快运算符 (operator)讨铆磅泻犯赠椎果候履芭鼎腮澳尉黑队啤翘卤犊惮差睹剃设翻部咳浓由聂第二讲java语法基础第二讲java语法基础无符号右移 “op1 op2”1.将操作数op1的二进制位向右移op2(正整数)位2.高位补零,零扩展

38、(zero-extension)int a = 42;int aa = a 2;System.out.println(“aa=” + aa); 42 00101010 210 00001010 相当于 42/22 = 10.5运算速度比除法快实现数的拼接运算符 (operator)准问朔宽考羔害祖无庶恃坤露劝张荤懈电插颂李觉张怖伶级斡柑渔咨傻誉第二讲java语法基础第二讲java语法基础条件运算符op1 ? op2 : op3若op1为真,则运算结果为op2,否则为op3例z = a 0 ? a : -a;z = a b ? a : b;运算符 (operator)疤隐苑亭殖起狄川逗筒肠坠编揖

39、投殉置油抹莱肮褐置济甚济冕赠秘指厩绘第二讲java语法基础第二讲java语法基础自增、自减运算符变量赋值,一元运算符自增运算符(+)、自减运算符(-)int i=5; i+; +i; i-; -i; “赋值”和“运算”的先后顺序int i = 10; int n = i+%5; float x =7, y=15, v1, v2;v1 = x+;v2 = +y;int i = 10; int n = +i%5; x=8 y=16v1=7 v2=16i = 11, n = 0i = 11, n = 1灸雨绍屁岩奉锨歼鞠损仗坦蛮左幢奄盅肛糜威蕉柠末掸患芋淌絮受解奢粥第二讲java语法基础第二讲jav

40、a语法基础运算符的优先级后缀运算符 postfix operators . (params) expr+ expr- 一元运算符 unary operators +expr -expr +expr -expr ! 构造或类型转换creation or cast new (type)expr 乘法 multiplicative * / % 加法 additive + - 移位 shift 关系 relational = instanceof 相等 equality = != 按位与 bitwise AND & 按位异或 bitwise exclusive OR 按位或 bitwise inclu

41、sive OR | 逻辑与 logical AND & 逻辑或 logical OR | 条件 conditional ? : 赋值 assignment = += -= *= /= %= &= = |= = = 套鸦镐讽吾你宙温削身机右叹责袱锯吼瑚跪艺川搐摘狰尹渝桩跨炭契辛蠕第二讲java语法基础第二讲java语法基础表达式 (expression)用运算符和括号将操作数连接起来求值的式子操作数(常量、变量和函数)算术表达式关系表达式逻辑表达式赋值表达式复合赋值运算巾莲蔑带波檀扬琴峻锥弟双滦给畸伍缕爽曙沥饮树帘则望澎久沏蠢升炔嫂第二讲java语法基础第二讲java语法基础算术表达式用算术运算

42、符和括号将操作数连接起来,求整数或实数运算符的优先级和结合性例int x=20, y=3, z=5;x+y*z (x+y)*z x*-y说明表达式力求简单明了表达式中的变量必须赋值表达式 (expression)进蜕堤找迄坎株驶锹防龙廓玄翱诽类街切料毯啊喝酌屠拭抗谆誓泡犬鳞僵第二讲java语法基础第二讲java语法基础算术表达式例: 若 i=10,i-%50 = ?等价于 (i-%5)0 public class Test public static void main(String args) int i = 10; if (i- % 5)0) System.out.println(true

43、); else System.out.println(false); 表达式 (expression)配遗矾雪渗忌她瓷贯暑帛摔缘诅幼信拾雍怕笛木搔状擞谋予忠蹦表曼乏弗第二讲java语法基础第二讲java语法基础关系表达式将两个表达式连接起来的式子算术表达式、赋值表达式、字符表达式ab; a+bb-c; (a=3)(b=5); ba;返回结果为一个布尔类型的值例若 int a=3, b=2, c=1; boolean d, f;d=ab;f=(a+b)(b+5);d=abc; ?表达式 (expression)带弦绸吁怒肩嫩测攀轰甩拉笛瑰影教醋芝廉吝弧革负仪伍伶衔骏妮孔劝澳第二讲java语法基础

44、第二讲java语法基础逻辑表达式用逻辑运算符将关系表达式和布尔值连接起来的式子例int x=23, y=98;boolean a = true, b=false, c, d;c=(xy)&a;d=!a&(x=y);表达式 (expression)巷声省号字拎炎则暑肢藤售个澎务鲍纂蹦慎午磨筒层各鸵造孵食盯顽滤森第二讲java语法基础第二讲java语法基础逻辑表达式例: 闰年(leap year) A year in the Gregorian calendar having 366 days, with the extra day, February 29, intercalated to co

45、mpensate for the quarter-day difference between an ordinary year and the astronomical year.条件符合下例两者之一1.能被4整除,但不能被100整除2.能被4整除,又能被400整除(year%4=0 & year%100!=0) | year%400=0(year%4!=0) | (year%100=0 & year%400!=0)表达式 (expression)凭塔庞圭驳冗蚁菩僳捕崭元佛岗服沪蕾涉钡砍话忘箕洁露拆壳方恐锈价僻第二讲java语法基础第二讲java语法基础赋值表达式用赋值运算符将一个变量和一个

46、表达式连接起来的式子 优先级: 赋值运算符 算术、关系和逻辑运算符a=5+6;b=c=d=a+5;a=5+c=5;a=(b=4)+(c=6);表达式 (expression)赵焊翌峦贵臻涅胁挠耳帐省揽剿泪亦冗辩通雄呜刃萌纤诬逢纶迪曳延芒苍第二讲java语法基础第二讲java语法基础复合赋值运算复合赋值运算符+=、 -=、 *=、 /=、%=、&=、=、|= 例a += b+5; 等价于 a=a+(b+5);a *= b; 等价于 a=a*b;a *= b-c; 等价于 a=a*(b-c); = ()表达式 (expression)案恶驭寥陀妨寻毗鹏碎茅庚旁蚁购垫磨玫郭沏烽谗狸抒恬百浇馋辈悸氟匪

47、第二讲java语法基础第二讲java语法基础第二讲 Java语法基础1.词法规则2.数据类型3.常量与变量4.运算符和表达式5.控制语句6.数组和字符串克央司拓烬清奔歧影吓河来自阀炔亩琴劈镇逼辞毫炭益戎拢峨否避溪脆篆第二讲java语法基础第二讲java语法基础语句 (statement)表达式 + 分号“;”表达式语句x = 25;y += a*b+c;a+b;只有分号空语句i = 5; ; ;符合语法规则(程序设计的初始阶段)寐凳呜校蹬火户眠趟隶涛察类站缠荷连衣飞郑嗡雨牧屈惮苦锅笼祭暴氏执第二讲java语法基础第二讲java语法基础条件选择语句if 语句1.if语句是一个条件表达式,若条件表

48、达式为真,则执行下面的代码块,否则跳过该代码块2.单行代码if (布尔表达式) 语句;2.多行代码if (布尔表达式) ;语句;语 句布尔表达式falsetrue流程图答蜡翻没们缓然户锄幅刨沸梭拆矿竟冕兽杖晓色奉莎浚秉奏饥恃述戮耻淤第二讲java语法基础第二讲java语法基础条件选择语句示例import java.io.IOException;class Test public static void main(String args) throws IOException System.out.println(“你喜欢Java吗(Y/N) );char like = (char)System

49、.in.read();if (like = Y | like = y) System.out.println(“Good”);堡削容滇侗簧滥矣茫腥愚胀爱埃仗寓肛腺刻榔丫怒潭椿兵笑型唐辰油色豌第二讲java语法基础第二讲java语法基础条件选择语句if-else 语句1.根据判定条件的真假执行不同的操作2.语法if (布尔表达式) 语句块1; else 语句块2;语句块1布尔表达式falsetrue流程图语句块2夯疙呛叮惹侵挫戊卞注神风遗抹气武丘沂敖髓想寥盈换弄瘤翠睬程沾围箩第二讲java语法基础第二讲java语法基础条件选择语句示例import java.io.IOException;clas

50、s Test public static void main(String args) throws IOException System.out.println(“请输入你的成绩: );char a = (char)System.in.read();char b = (char)System.in.read();int score = (a-0)*10 + b-0;if (score = 60)System.out.println(“你及格了!”);elseSystem.out.println(“你没及格了!”);C:java Test请输入你的成绩:65你及格了!C:神赘湛襄狈桂篱忆扯磐民

51、锐嗡皆就奏芥希叮蕉笺音枚捉鹊从琵逢涵梦址咀第二讲java语法基础第二讲java语法基础条件选择语句if 语句的嵌套1.if 语句中的语句块又出现了if 语句2.若没有配对符,则else与最近的if语句配对3.例 int a=1, b=2, c=3;if (ac) if (cb) System.out.print( c ); else System.out.print(a);4.一定要明确地写上配对符修改配对关系: if (ac) if (cb) System.out.print( c ); else System.out.print(a); 默认Java虚拟机: if (ac) if (cb)

52、 System.out.print( c ); else System.out.print(a); 寡尼钻僻泳峨奏驹拢债咎堵拧危膨恭郊牲探介圣啥衅嫌矽苞欢戈疆谍灿牛第二讲java语法基础第二讲java语法基础条件选择语句条件运算符1.三元运算符(ternary operator): “? : ”2.表达式1 ? 表达式2 : 表达式33.表达式1的结果为布尔型,表达式2和表达式3的类型相同表达式1true表达式2表达式1false表达式3Shortcut if-else statement if (表达式1) 表达式2 else 表达式3勃裸财寻吮媒轩暖付贺呀为豺茸堵态能朵炸侣瘩含枉智三晤葫惰

53、铰纱细拙第二讲java语法基础第二讲java语法基础条件选择语句示例import java.io.IOException;class Test public static void main(String args) throws IOException System.out.println(“请输入三个09之间的数); byte x = (byte)System.in.read(); byte y = (byte)System.in.read(); byte z = (byte)System.in.read(); x -= 48; y -= 48; z -= 48; byte n = xy?

54、 x : y; byte m = n z? n : z; System.out.println(“max= “+m);char 0 (48)char 1 (49) x=x-48;y=y-48;x=z-48; C:java Test请输入三个09之间的数370max= 7C:侣喜晤腑析摸陛警缘植囚抑虑孔梁乞银逝店申污擦卤外拔颊混椭牡兔淋讼第二讲java语法基础第二讲java语法基础条件选择语句示例import java.io.IOException;class Test public static void main(String args) throws IOException System.

55、out.println(“中国足球能否进入世界杯?); System.out.println(“是(y) 否(n) 不一定(p); char c = (char) System.in.read(); if (c = y) System.out.println(“Cool”); else if (c = n)System.out.println(“Bad”); else if (c = p)System.out.println(“Sorry”); else System.out.println(“Input Error”);逐条if语句进行判断条件匹配,进入语句体否则对if语句继续匹配节但作艾遣

56、利研春酸躯症铅珐遇惫疆罩榜臂蹋卤砖筷威刺绥插目报阵倡部第二讲java语法基础第二讲java语法基础switch/开关语句根据表达式的结果执行多个操作中的一个语法switch (表达式) case 值1: 语句序列; break; case 值2: 语句序列; break; default: 默认语句; 与任一case值不匹配,则进入default语句流程图表达式语句序列1语句序列2默认语句break;break;break;值1值2default押惫酶甫终秒毕势爵县秦炒贬腰孙樟崔宫挝抿观舷瑰挥酪懦轿凸讽疙栏井第二讲java语法基础第二讲java语法基础switch/开关语句语法switch (

57、表达式) case 值1: 语句序列; break; case 值2: 语句序列; break; default: 默认语句; n几点注意1.switch语句表达式的结果必须是byte, char, short, int 类型2.表达式的结果依次与每个case子句比较3.break语句用于跳出switch语句4.default子句是可选的券伺河沈亏菌胸准考瓢兼佰札争会笼狠莹宾惑舆星奠仑氧拉舜阳掸煤倾倾第二讲java语法基础第二讲java语法基础switch/开关语句示例 1import java.io.IOException;class Test public static void main

58、(String args) throws IOException System.out.println(“中国足球能否进入世界杯?); System.out.println(“是(y) 否(n) 不一定(p); char c = (char) System.in.read(); switch (c ) case y: System.out.println(“Cool”); break;case n: System.out.println(“Bad”); break;case p: System.out.println(“Sorry”); break;default: System.out.pr

59、intln(“Input Error”); break;妹税条何搬卉遮锚穆磁壕互玄拯立槐畅砧醇银渗怠猿盅悄投瘸涟齿句旨猖第二讲java语法基础第二讲java语法基础示例 2public class Test public static void main(String args) int month = 2, year = 2000; int numDays = 0; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: numDays = 31; break;case 4: case 6: case

60、9: case 11: numDays = 30; break; case 2: if (year % 4 = 0) & !(year % 100 = 0) | (year % 400 = 0) ) numDays = 29; else numDays = 28; break; System.out.println(Number of Days = + numDays); switch/开关语句揩骑随胺帽卫坊促鄙昆害企设怂辕卓噎软涩佯狙蜕连诅蔫艘英屠培拂苍祭第二讲java语法基础第二讲java语法基础循环控制语句反复执行同一代码块直到满足结束条件组成1.循环的初始状态2.循环体3.迭代因子(计

61、数器的递增或递减)4.控制表达式3种循环语句1.while循环2.do-while循环3.for循环啡娄式主钦绥籍烈昔寨盟硫炕稽睁项盖梗束吹需湛烬芭罐栋券益重逝褒轴第二讲java语法基础第二讲java语法基础循环控制语句while循环语法 while (布尔表达式) 循环体; false循环体布尔表达式true流程图橡碰郧绎武句努徘乎突乌弗葡钵烘奉戏莆莲蔑暇栗协葛哺船横寨尚角届疲第二讲java语法基础第二讲java语法基础循环控制语句示例class Test public static void main(String args) int i, sum; sum = 0; i = 0; whi

62、le (i java Test输入一句子以.表示结束fdsfs.Output = fdsfs.C:java Test输入一句子以.表示结束fdsf中国.Output = fdsf?.C:涤菠还崩雌挡道帘迂蚂景尧则技谷沈侥谭蹋赁撑披练闸层处扣蔓圣等甄粹第二讲java语法基础第二讲java语法基础循环控制语句for循环: 最有效、最灵活的循环结构语法 for (初始化部分;条件判断部分;迭代因子) 循环体; 初始化部分设置循环变量的初值条件判断部分任意布尔表达式迭代因子控制循环变量的增减初始化部分条件判断true流程图循环体执行迭代因子false魏诣刹埋奠厅弱青占挂甲勉枣七婴塘火矾勘框垢灾晕介滤棉

63、淖坎袭氧入肢第二讲java语法基础第二讲java语法基础循环控制语句for语句求07之间任意数的阶乘import java.io.IOException;class Test public static void main(String args) throws IOException int i, n, sum=1; System.out.println(“Please input(07):”); n = System.in.read(); n -= 48; for (i = 1; i java TestPlease input(07):55!=1201.能否算092.能否算12, 134?

64、趁碎松昏悦户树仙侩甘痞唁垄痉较故混略献尝朵彤痪尿角念茄匹劈会播寥第二讲java语法基础第二讲java语法基础循环控制语句for循环的几点注意初始化部分和迭代因子可以包含多个语句,以“,”分开for (int i=0, j=10; ij; i+, j-) 初始化部分、条件判断部分和迭代因子可以为空语句,但以“;”分开,表示无限循环for ( ; ; ) / infinite loop .答悟粮伸滩猴坚涟眯遇灼谊股绊慌脂焕笆呸扩吴雌逛婉骗吩兑零座龋猴趴第二讲java语法基础第二讲java语法基础循环控制语句如果一个人出生于1970年,那么他这一辈子能有几个闰年(以70岁为寿命长度)int leng

65、th = 70;int firstYear = 1970;int year;for (int i =0; i length; i+) year = firstYear + i; if(year%4=0&year%100!=0)| year%400=0)System.out.println(year);19721976198019841988199219962000200420082012201620202024202820322036巩泣漱瑞畴祷妓叛水寒非骤泳猎迸样蛾丢惰氛牧旅刊坑陋姜颇殿缝沉浓锈第二讲java语法基础第二讲java语法基础循环控制语句循环的嵌套一个循环体内包含另一个完整的循环

66、结构嵌套的层次多,多重嵌套while循环、do-while循环、for循环相互嵌套沾匆皇诀浙神召跨怎橱叉倦世悦损笆盆腊彬耿吻厄魏幼揽凛尊纱丫寅琵躬第二讲java语法基础第二讲java语法基础循环控制语句求 1!+2!+3!+ +9!import java.io.IOException;class Test public static void main(String args) throws IOException int n, sum, total=0; System.out.println(“Please input(09):”); n = System.in.read(); n -= 4

67、8; for (int j = 1; j = n; j+) sum = 1;for (int i = 1; i java TestPlease input(09):4各阶乘之和为: 33输入0的结果!瞬汲返胎狮遁切蹦驴致烂萝创间谆瞄鼎吨轴砍扰遵烃衫幌贸斌丝歪除育甭第二讲java语法基础第二讲java语法基础跳转/转向语句将程序的执行跳转到其他部分的语句break: 跳出(中止)循环continue: 结束本次循环return: 方法返回throw: 抛出异常(Exception)惹卵酵灵甄亭菊袁掐列谢图匡压热架杰痪墨阻蹭夯递职晰栗旁瓶时敌砂堆第二讲java语法基础第二讲java语法基础循环语句

68、中途退出Java没有goto语句break语句:不带标号break 语句从循环体内跳出至后面语句,结束当前循环。跳出当前循环体,不是跳出当前大括号对。循环嵌套时,break 语句只跳出当前循环。带标号的break语句采用 label: 的形式定义标号跳出标号标志的循环体联替嘿忍拜俩疤舵余棉扒畴颤闪窒饿盆绚沾园均吁赐即捌塞恃膜遵驶止眯第二讲java语法基础第二讲java语法基础循环语句中途退出while (e1) while(e2) break; aaa: while (e1) while(e2) break aaa; 乱鸥全朽卫沪某速适贾掖梗弘保袍釜屡霖乍酋曲咐甘澎龚纫征珊恍钻查淡第二讲jav

69、a语法基础第二讲java语法基础循环语句中途退出(续)continue 语句不带标号的continue跳过本轮循环剩余语句,直接进入当前循环体的下一轮。带标号的continue跳过循环剩余语句,直接进入标号所指的循环体的下一轮循环。循环的正常退出途径:符合结束条件党痊惟寿胰左蚌蓄悍咸班队伟簧宠杨效发亚碑愧恃浙号税骑诌邓抱沮隙末第二讲java语法基础第二讲java语法基础outer: for(; true ;) / infinite loop inner: for(; i 10; i+) prt(i = + i); if(i = 2) continue; /continue inner if(i

70、 = 3) i+; / Otherwise i never gets incremented. break; /break inner if(i = 7) i+; / Otherwise i never gets incremented. continue outer; if(i = 8) break outer; for(int k = 0; k 5; k+) if(k = 3)&(i=4) continue inner; if(k = 3)&(i!=4) continue outer; /inner /outer钳带屉醉皋饼拜扦遇枉羹耶真卒比讲淖贞强缩垛染犬缕每腆秘迂见做蟹须第二讲java

71、语法基础第二讲java语法基础import/包含语句引入程序所需要的类import java.io.*;import java.applet.Applet;package/打包语句指明所定义的类属于哪个包通常作为源程序的第一条语句package test;其他语句捡萌添林癸涡坑撵蛔讳烫索死密戒厨宇拌胜诉赢蛇雅歌脸硕知仇墩团巾寡第二讲java语法基础第二讲java语法基础第二讲 Java语法基础1.词法规则2.数据类型3.常量与变量4.运算符和表达式5.控制语句6.数组和字符串皖日盆倒在颜校辰村翻瘪株童仟技涧原浴无羔踩搅河碑律嘿泉悯绎雅钉众第二讲java语法基础第二讲java语法基础概念数组是一

72、组同类型的变量或对象的集合数组的类型可以是基本类型,或类和接口数组中每个元素的类型相同引用数组元素通过数组名下标数组下标(数组的索引)从0开始数组是一种特殊的对象(Object)定义类型 (声明)创建数组 (分配内存空间) : new释放 (Java虚拟机完成)一维数组、多维数组婚舍穿磐南驰袍懦凳审卞另盛调酗模落蚕恿蹦与超榜痉架哄卡窃硷暴舟蛇第二讲java语法基础第二讲java语法基础一维数组一维数组的元素只有一个下标变量例: A1, c3一维数组的声明方法1: 类型 数组名; String args; int a; double amount; char c;方法2: 类型 数组名;Stri

73、ng args; int a; double amount; char c;注意类型是数组中元素的数据类型(基本和构造类型)数组名是一个标识符数组声明后不能被访问,因未为数组元素分配内存空间variable d might not have been initializedSystem.out.println(d0); 1 errordouble d;System.out.println(d0);抓鹅皮缄篮锥煽想甚炔请膳笛鼎践篮瞪迭陶撕酵辑忱浴备力八巢灵圣腋锰第二讲java语法基础第二讲java语法基础一维数组数组的创建用new来创建数组为数组元素分配内存空间,并对数组元素进行初始化格式: 数

74、组名 = new 类型数组长度例: a = new int3;声明和创建的联用: int a = new int3;默认赋初值整型初值为0 int i = new int3;实型初值为0.0 float f = new float3;布尔型初值为false boolean b = new boolean3;字符型初值为u0000(不可见) char c = new char3;彦炒俄敞咐耀孪混劝唉妹衡禁霹榆困嘴幻广讯睹堰屈跳买零谷滋虑掖划坟第二讲java语法基础第二讲java语法基础一维数组class Test public static void main(String args) int

75、i = new int3;float f = new float3;boolean b = new boolean3;char c = new char3;for (int j = 0; j i.length; j+)System.out.println(ij);for (int j = 0; j f.length; j+)System.out.println(fj);for (int j = 0; j b.length; j+)System.out.println(bj);for (int j = 0; j java Test0000.00.00.0falsefalsefalseC:针篡给启

76、疥蝇咆疵冠拢封凶译燥亿郑陡碗药逃辉就酿烛嘉诌拾糠钟腿辨变第二讲java语法基础第二讲java语法基础一维数组一维数组的初始化为数组元素指定初始值方式一: 声明和创建数组后对数组初始化class Test public static void main(String args) int a = new int5;System.out.println(“t输出一维数组a: ”);for (int i = 0; i 5; i+) ai = i +1; System.out.println(“ta”+i+“=”+ai); a.length羊只揖寞峪洼铰玻绚琶始尽蚁欣郊恼霓赊余剥阻捂羚在落渠高灿您撩帽匈

77、第二讲java语法基础第二讲java语法基础一维数组一维数组的初始化方式二: 在声明数组的同时对数组初始化格式: 类型 数组名 = 元素1, 元素2 ;int a = 1, 2, 3, 4, 5;class Test public static void main(String args) int a = 1,2,3,4,5;System.out.println(“t输出一维数组a: ”);for (int i = 0; i 5; i+) System.out.println(“ta”+i+“=”+ai);腊滇糖蛋庇筐嫩篇谴役萄攫谦爹管撵庄己榷缨乔诌坏棒靠虾疾遇谢弛翰掌第二讲java语法基础第

78、二讲java语法基础一维数组数组整体赋值class Test public static void main(String args) int a = 2, 4, 6, 8;int b; int c = 1, 3, 5, 7;b = a; c = a;for (int j = 0; j a.length; j+)System.out.print(aj + “ “);System.out.println();for (int j = 0; j b.length; j+)System.out.print(bj + “ “) ;System.out.println();for (int j = 0;

79、 j java Test2 4 6 82 4 6 82 4 6 8C:int a = 2, 4, 6, 8, 0; int b; int c = 1, 3, 5, 7;int a = 2, 4, 6, 8; int b; int c = 1, 3, 5, 7, 9;弊崖冀妹茧本赔坡撤器叶庙黄吕导掀弥摄哭千亚忠吨精玩模娶澎长馋旬耿第二讲java语法基础第二讲java语法基础一维数组n数组的复用(reuse)public class Test public static void main(String args) int array = 32, 87, 3, 589, 12, 1076, 200

80、0 ; for (int i = 0; i array.length; i+) System.out.print(arrayi + ); array = new int4; for (int i = 0; i array.length; i+) arrayi = i + 1; System.out.println(); for (int i = 0; i array.length; i+) System.out.print(arrayi + ); 踪腰柴浊氏菜蝴输甭扰翔咸鳖壤青广儿乓推彬唯粳诈努柯游篷苟衙崭馆引第二讲java语法基础第二讲java语法基础针对数组的foreach循环(jdk1.

81、5)Foreach循环,针对数组和集合,一般用于数组和集合的遍历。for(type variableName :array|collection) /自动迭代访问每个元素 public class Test public static void main(String args) int array = 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 ; for (int i:array) System.out.println(i + ); public class Test public static void main(String args) in

82、t array = 32, 87, 3, 589, 12, 1076, 2000, 8, 622, 127 ; for (int i:array) if (i=87) i=99; System.out.println(i); break; System.out.println(array1); 328739987郝豢镰踪兼摄哭涅幌值乡肪碳四码色概易写烁糠峨敢巡瑶宙塑费符拳沦兑第二讲java语法基础第二讲java语法基础多维数组数组的数组Arrays of Arrays例: 表格(行和列)以二维数组为例期中考试 期末考试姓 名总 分6870学生A698085学生B847590学生C86匆芒嚣胆锈

83、言桥潮孪磐阳雷妨筐钦嘘草酸表旷殷政宪侦沂墅层说歹兴呕酶第二讲java语法基础第二讲java语法基础多维数组二维数组的声明类型 数组名, 例 int a;数组声明后不能被访问,因未为数组元素分配内存空间二维数组的创建方法一: 直接分配空间(new)例 int a = new int23; a00 a01 a02 a10 a11 a12两个一维数组,每个数组包含3个元素应螟饲递耻塞稚险蕾篆语堂滞钱谤局库虫丁刺迹沂充横垂冰剂睛将侄瑶砂第二讲java语法基础第二讲java语法基础多维数组二维数组的创建方法二: 从最高维开始,为每一维分配空间例 int c = new int2; c0 = new in

84、t4; c1 = new int3; c00 c01 c02 c03 c10 c11 c12 注: 为数组分配空间需指定维数大小,至少最高维(最左边)大小错误: int b = new int;亥枪渐狼靡疡趾环隔辨尤海迹坤斌煽裤伐怠涧衍陵难厂焰傍瞩吼险战擅扣第二讲java语法基础第二讲java语法基础多维数组二维数组的初始化对每个元素单独进行赋值声明数组的同时初始化对数组元素的引用数组名下标1 下标2下标为非负的整型常数0友潞扯创披雍姿捻湛讣意疚晾鹤菠牢侯誉表字身俊剥医爆揪订纬二谚忠敌第二讲java语法基础第二讲java语法基础多维数组二维数组的初始化每个元素单独进行赋值class Test

85、public static void main (String args) int a = new int33;a00=1;a11=1;a22=1;System.out.println(“数组a: ”);for (int i=0; i a.length; i+)for (int j=0; jjavac Test.javaTest.java:3: expected int a = new int; 1 error多维数组耳浇夫袄呆饲迎疫筒绑统琳煞郎川恢拷修猖蹈顽沤谊辆扁幢胶它年竖霖福第二讲java语法基础第二讲java语法基础多维数组例3class Test public static void

86、 main(String args) int a = new int9;System.out.println(a.length);C:javac Test.javaC:java Test9痊必降孺茶谍石恬汐咳知躬蕊岛奖挟叛隋婉钻趁醋典悸察犊冯残峪窒部吏第二讲java语法基础第二讲java语法基础数组的界限起点和终点数组的长度: 数组名.length起点: 数组名0终点: 数组名length-1int i = 4, 56, 78, 9, 34;i.length 5i0 4ilength-1=i434ia 若a4 则?帧镰曼带抵劫综瞩碾赣巴真卤翼游舞侄痊罕营说粉滤牡吱趾雕椅层嘶唇草第二讲java语

87、法基础第二讲java语法基础命令行参数JAVA应用程序的主方法(程序的入口) public static void main (String args) public static void main (String args) 命令行参数在启动JAVA应用程序时一次性地传递多个参数C:java 类名 参数 参数 空格将参数分开若参数包含空格,用双引号引起来兄设别闪元异焕骸受秧奈瑟井仓内酌对絮需帆淋荆哀稿吝上路悼找栗惜鸭第二讲java语法基础第二讲java语法基础命令行参数示例 1class Test public static void main(String args) int len =

88、 args.length;System.out.println(len);for (int i = 0; i java Test0C:C:java Test s1 s22s1s2C:C:java Test “s1 s2”1s1 s2C:赐涉琶肤伶倔促醇樟碉滋狰劳旨净侥熄杂撂乏面变庸咐莲质铡价赔溅栗虐第二讲java语法基础第二讲java语法基础命令行参数示例 2 class Test public static void main(String args) for (int i = 0; i java Test s1 “s2” “s3” args0=s1args1=s2args2=s3C:例偿酥

89、淹胆靖链帛很腋剪码渭租诞守隔减栋神合获搔房杀祥被蜒偶黄仟健第二讲java语法基础第二讲java语法基础命令行参数命令行参数的转换 传递字符串数组向JAVA应用程序传递数值byte、short、int、long、double、floatC:java Test 1 23C:String argsi byte short int long double float篱闭盈砖住钻秦点催滁倔器膘倔臃化都馏佰料丰悉饥曾抵祸懊视脯莫溪哥第二讲java语法基础第二讲java语法基础命令行参数命令行参数的转换java.lang.Byte类publicstaticbyteparseByte(Strings)thro

90、wsNumberFormatExceptionjava.lang.Integer类publicstaticintparseInt(Strings)throwsNumberFormatException填始豆宋关线囱娶由涂彰惦甚属蠢泰茫嘉聚昔翼巳驱菱男噶爵辛蓑使庆旷第二讲java语法基础第二讲java语法基础命令行参数示例import java.lang.NumberFormatException;class Test public static void main(String args) throws NumberFormatException int sum = 0;for (int i

91、= 0; i java Test 1 23C:俞法腑矢署连隋皋蔓矩疵套更形中户陵捧新媚邀艘玲竖漱熊陵涎仲曳讲化第二讲java语法基础第二讲java语法基础字符串创建一个 String 类的实例: String strName1 = “Humpty dumpty”; /字符串字面量字符串字面量 String strName2 = new String(Egg);两个或多个字符串可以用“+”运算符合并起来。例如:strName3 = strName1+ is the name of an + strName2;字符串的长度可以通过 String 类中的函数计算。例如:int numLength =

92、 strName2.length();也可将数字添加到字符串类型中。例如:String strVar = Mark + (1+1);String strVar = Mark + 1+1;颇琐肪耀摸萎顺狄捡悬踢奢注粘霉鞭艘支租卫碘妒陛验铝酝窘卖庭员哭鹊第二讲java语法基础第二讲java语法基础字符串我们可以使用“+”来连接字符串以达到拼接字符串的目的.但“+”会产生一个新的String实例。如果程序对这种需求很多时,对象的生成是需要内存空间和时间,不断的生成String实例便是一个没有效率的行为。方法改进:使用StringBuffer的append方法替换“+”摘炉恭抛澄选某攘矾彤街慌波践胸障

93、厨螟丰牌欣矿滤吭磷锥晕用效朝拓涡第二讲java语法基础第二讲java语法基础字符串池Java 程序可包含许多字符串字面量“字符串池”:用来存放在程序中创建的所有字符串字面量任何时候创建字符串字面量,系统都会搜索字符串池,查看是否存在该字符串字面量。SundayMondayHelloAptechWorld1234NString day= Monday;String weekday = Monday;字符串池字符串池帕罩提断攘浸非咱岁姆倾琴铂船扰啥求浆澎宴老戎刁菲堤曼惨灶慰淖皮拥第二讲java语法基础第二讲java语法基础字符串池比较字符串对象:String s1=new String(“hell

94、o”);String s2=new String(“hello”);String s3=“hello”;String s4 =“hello”;s1=s2?s3=s4?霜谰察臭砧歇场帘珍织锗顶忠境还纺惹窑买搅局苯添顽恿娠叉虎帜居刘沁第二讲java语法基础第二讲java语法基础String 类方法charAt() : 返回字符串中某个特定位置的字符 indexOf() :返回字符串中某个特定字符或子字符串首次出现的索引 toUpperCase() : 将字符串内的所有字符从小写改为大写 toLowerCase() : 将字符串内的所有字符从大写改为小写其它更多方法参见Java编程思想,4th,第1

95、3章鞘冕登抬扣夏绅疆腺贱嚷简瘩敞撵酝置秃溅韧戎滤嘱开贝惋寝倍第苹驾谱第二讲java语法基础第二讲java语法基础总结2-1Java 具有8种基本数据类型:byte、 short、 int、 long、 boolean、char、float 及 doubleJava 中的运算符可划分为四个子集:算术运算符、位运算符、关系运算符、逻辑运算符& 运算符适用于如下子集:逻辑和位。逻辑 & 以条件表达式为操作数,而位 & 则以数字为操作数叹篮揣绣嘴渐玉缘慢苯波泳夹典美洱膀蛙墨作愧彦肌交肆锌歉跑俩舟诈惯第二讲java语法基础第二讲java语法基础总结2-2Java 支持下列控制结构: 选择(选择( if-else、switch)循环(循环(while、do-while、for)跳转(跳转(break、continue)break 语句在循环中用于立即从当前循环终止控制或者终止所标识的循环continue 语句则是从其调用处跳至循环的开始处或者跳至所标识的循环开始处数组可用来将同一类型的数据存储在连续的内存位置肆保椿堂哀预拱捉否隘念块将溉睹本喜秉纸度伤家较抗耻哩波凋指恕布篙第二讲java语法基础第二讲java语法基础

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

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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