编程语言基础知识_第1页
编程语言基础知识_第2页
编程语言基础知识_第3页
编程语言基础知识_第4页
编程语言基础知识_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、2021/3/10讲解:XX1 第三讲. Java编程语言基础知 识 2021/3/10讲解:XX2 主要内容 n标识符和保留字 n数据类型 n类型转换 n运算符和表达式 n控制语句 2021/3/10讲解:XX3 标识符(课本第40页) n以字母,下划线(_),美元符号($)开始的一个字 母序列;后续字符可以是字母,数字,下划线,美元 符等 n大小写敏感,没有最大长度限制 n不能与保留字重名 n中间不能有空格和连字符 n实际编程序中,甚至标识符完全可以用中文,比如可 以把一个变量的名字命名为 nint 中文=1; 2021/3/10讲解:XX4 标识符举例 n合法的标识符 identifie

2、r userName User_Name _sys_val $change n不合法的标识符 2mailmy+room class 2021/3/10讲解:XX5 练习题 Which declarations of identifiers are legal? $persons TwoUsers *point this _endline 2021/3/10讲解:XX6 保留字 n具有专门的意义和用途,不能当作一般的标识 符使用,这些标识符称为保留字(reserved word),也称为关键字: n都是小写,比如true,false,null等,不像c 中都是大写的。 n注意在java中没有si

3、zeof运算符,因为数据类 型的长度与平台无关。 2021/3/10讲解:XX7 保留字 abstract break byte boolean catch case class char continue default double do else extends false final float for finally if import implements int interface instanceof long length native new null package private protected public final return switch synchron

4、ized short static super try true this throw throws threadsafe transient void while 等 2021/3/10讲解:XX8 练习题 Which of the following are Java keywords? 1) NULL 2) new 3) instanceOf 4) wend 2021/3/10讲解:XX9 数据类型 n数据类型的分类 q简单数据类型,复杂数据类型 qbyte,short,int,long,float,double qchar,boolean qclass,interface,数组 n数的

5、范围,位长 n不支持c/C+中的指针类型,结构类型 (struct)、联合类型(union),枚举类型 (enum) 2021/3/10讲解:XX10 常量,变量 n常量用文字串表示,比如 3,a等 n通过final定义常量, final typeSpecifier varName=value,varName=value; 如 final int i0; n变量是java中的基本存储单元,包括变量名, 类型,作用域等。 int i0,j1; n局部变量,类变量,方法参数,例外处理参数 等。 2021/3/10讲解:XX11 简单数据类型boolean类型 n布尔型数据只有两个值true和fal

6、se,且它 们不对应于任何整数值 布尔型变量的定义如: boolean b=true; boolean a=false; 2021/3/10讲解:XX12 简单数据类型字符类型char n字符常量 字符常量是用单引号括起来的一个字符,如a,A; n字符型变量 类型为char,它在机器中占16位,16位无符号型数据,其范围为 065535。字符型变量的定义如: char c=a;/*指定变量c为char型,且赋初值为a*/ nJava也提供转义字符,以反斜杠()开头,比如表示单 引号,uxxxx,1到4位16进制表示的字符。 n举例,“中文”的unicode编码是:“u4e2du6587” 20

7、21/3/10讲解:XX13 简单数据类型字符类型char(续) nJava中的字符型数据不能用作整数,因为java 不提供无符号整数类型,但是同样可以把他当 作整数数据来操作。例如: int three=3; int one=1; char four=(char)(three+one);/four= ? 2021/3/10讲解:XX14 简单数据类型整型数据 数据类型所占位数数的范围 byte8-2727-1 short16-215215-1 int32-231231-1 long64-263263-1 在定义时,long型数据要加后缀l或者L。 2021/3/10讲解:XX15 浮点型(实

8、型)数据 n实型常量 1. 十进制数形式 由 数 字 和 小 数 点 组 成 , 且 必 须 有 小 数 点 , 如 0.123, .123, 123.,123.0 2. 科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且 e或E后面的指数必须为整数。 2021/3/10讲解:XX16 浮点型(实型)数据 n实型变量 数据类型 所占位数数的范围 float 323.4e038 3.4e038 double 641.7e308 1.7e308 n注意:定义float时,需加后缀f或F 2021/3/10讲解:XX17 使用举例 public class Test byte

9、b=21; short s=256; int i=100000; long l=0 xffL; double d=0.7e-3; boolean b=false; 2021/3/10讲解:XX18 练习题 Which of the following are legal statements? 1) float f=1/3; 2) int i=1/3; 3) float f=1.01; 4) double d=999d; 2021/3/10讲解:XX19 类型转换 n自动类型转换 整型,实型,字符型数据可以混合运算。运算中,不同 类型的数据先转化为同一类型,然后进行运算,转换 从低级到高级;

10、低-高 byte ,short ,char int long float double 2021/3/10讲解:XX20 自动类型转换规则 n操作数1类型 操作数2类型 转换后的类型 nbyte、short、char intint nbyte、short、char、int long long nbyte、short、char、int、long float float nbyte、short、char、int、long、float double double 2021/3/10讲解:XX21 强制类型转换 n高级数据要转换成低级数据,需用到强制类型 转换,如: int i; byte b=(by

11、te)i; /*把int型变量i强制转换为 byte型*/ 2021/3/10讲解:XX22 运算符和表达式 n与我们学过的C+是相同的。 n注意运算符的类型 n优先级 n参与计算的数的类型 n一些运算符的特殊用途。 2021/3/10讲解:XX23 运算符(按照操作数区分) n一元运算符:, n二元运算符:, n三元运算符:?: 注:只列出了部分。 2021/3/10讲解:XX24 运算符(按照功能来分) 1)算术运算符: +,*,/,%,+, 3+2; a-b; i+; -i; 2)关系运算符: ,=,3; i=0; n!=-1; 3)布尔逻辑运算符: !, !(flag); flag 2

12、021/3/10讲解:XX25 运算符(按照功能来分) 4)位运算符: , b=00111001; a3 =11110011 a3=00010011; a a|b=10111101; a=01100010; ab=10100100; n注意,132, 它们的值等于多 少? 2021/3/10讲解:XX26 运算符(按照功能来分) 5)赋值运算符 =,及其扩展赋值运算符如+=, =,*=,/=等。 i=3; i+=3 等效于i=i+3 6)条件运算符 ? : result=(sum= =0 ? 1 : num/sum); 2021/3/10讲解:XX27 运算符(按照功能来分) 7)其它:包括分

13、量运算符 ,下标运算符 ,实 例运算符instanceof,内存分配运算符new, 强制类型转换运算符 (类型),方法调用运算符 () 等。 System.out.println(“hello world”); int array1=new int4; 2021/3/10讲解:XX28 表达式的类型 n表达式的类型由运算以及参与运算的操作数的 类型决定,可以是简单类型,也可以是复合类 型: 布尔型表达式: x 整型表达式: num1+num2 2021/3/10讲解:XX29 练习题 Given the following class public class ZeroPrint public

14、 static void main(String argv) int i =0; /Here 2021/3/10讲解:XX30 Which of the following lines if placed after the comment /Here will print out 0. 1) System.out.println(i+); 2) System.out.println(i+0); 3) System.out.println(i); 4) System.out.println(i-); 2021/3/10讲解:XX31 运算符的优先次序 n表达式的运算按照运算符的优先顺序从高到低

15、进行, 同级运算符从左到右进行: n. . () () n+ - - ! ! instanceofinstanceof nnew (type)new (type) n* * / / % % n+ + - - n = = = 2021/3/10讲解:XX32 运算符的优先次序 n= = !=!= n 第1步:result=sum=0?1:(num/sum) 第2步:result=(sum=0)?1:(num/sum) 第3步:result=(sum=0)?1:(num/sum) 第4步:result= n注:可以用括号()显式的标明运算次序。 2021/3/10讲解:XX34 控制语句 n分支语

16、句,if else,switch n循环语句,for ,while,do while n其他相关语句 break,continue,return n例外处理语句,try.catch.finally,throw n注释语句/,/*/,/*/ 2021/3/10讲解:XX35 分支语句-if n条件语句 if-else if(boolean-expression) statement1; else statement2; 注意: 1.布尔表达式是任何一个返回布尔型数据的表达式。 2.每一个语句后面必须有分号; 3。If语句可以嵌套使用。 2021/3/10讲解:XX36 练习题 n写出输出结果 i

17、nt output=20; boolean b1=false; if(b1=true) else System.out.println(“Not equal:”+output); 2021/3/10讲解:XX37 分支语句switch n多分支语句 switch switch (expression) case value1 : statement1; break; case value2 : statement2; break; 2021/3/10讲解:XX38 switch case valueN : statemendN; break; default : defaultStatemen

18、t; n表达式expression的返回值类型必须是这几种类 型之一:int,byte,char,short。 ncase子句中的值valueN必须是常量,而且所有 case子句中的值应是不同的。 2021/3/10讲解:XX39 switch ndefault子句是可选的。 nbreak语句用来在执行完一个case分支后,使 程序跳出switch语句,即终止switch语句的执 行。 ncase语句只是起到一个标号作用,用来查找匹 配的入口并从此处开始执行其后的语句序列, 对后面的case子句不再进行匹配。 2021/3/10讲解:XX40 switch试题 n写出输出结果 int i =

19、9; switch (i) default: System.out.println(default); case 0: System.out.println(zero); break; case 1: System.out.println(one); case 2: System.out.println(two); 2021/3/10讲解:XX41 循环语句 nwhile语句 ndo-while语句 nfor语句 2021/3/10讲解:XX42 While语句 initialization while (termination) body; iteration; n先计算终止条件 2021/

20、3/10讲解:XX43 Do-while语句 initialization do body; iteration; while (termination); n先执行循环体,后计算终止条件,若结果为true,则 继续执行循环体。 n循环体,至少执行一次。 2021/3/10讲解:XX44 For语句 for (initialization; termination; iteration) body; nfor语句执行时,首先执行初始化操作,然后判断终止 条件是否满足,如果满足,则执行循环体中的语句, 最后执行迭代部分。完成一次循环后,重新判断终止 条件。 2021/3/10讲解:XX45 Fo

21、r语句 n初始化、终止以及迭代部分都可以为空语句(但分号 不能省),三者均为空的时候,相当于一个无限循环。 n在初始化部分和迭代部分可以使用逗号语句,来进行 多个操作。逗号语句是用逗号分隔的语句序列。 for( i=0, j=10; ij; i+, j-) 2021/3/10讲解:XX46 与程序转移有关的其它语句 nbreak语句 ncontinue语句 n返回语句return n注意break语句和continue语句的区别 n如果break和continue后面都跟了标号,又有 什么区别 2021/3/10讲解:XX47 break语句 n在switch语中,break语句用来终止swi

22、tch语句的执 行。使程序从switch语句后的第一个语句开始执行。 n在Java中,可以为每个代码块加一个括号,一个代 码块通常是用大括号括起来的一段代码。加标号 的格式如下: BlockLabel: codeBlock break语句的第二种使用情况就是跳出它所指定的 块,并从紧跟该块的第一条语句处执行。 break BlockLabel; 2021/3/10讲解:XX48 break语句 a: /标记代码块a b: /标记代码块b c: /标记代码块c break b; /will not be executed /will not be executed /execute from h

23、ere 2021/3/10讲解:XX49 break语句 n如果一个break后所指定的标号不是一个代码 块的标号,而是一个语句,则这时break完全 实现goto的功能。 n因改避免这种方式的使用 2021/3/10讲解:XX50 continue语句 ncontinue语句用来结束本次循环,跳过循环体中下 面尚未执行的语句,接着进行终止条件的判断,以 决定是否继续循环。对于for语句,在进行终止条件 的判断前,还要先执行迭代语句。它的格式为: continue; n也可以用continue跳转到括号指明的外层循环中, 这时的格式为 continue outerLable; 2021/3/1

24、0讲解:XX51 continue语句 outer: for( int i=0; i10; i+ )/外层循环外层循环 inner:for( int j=0; j10; j+ )/内层循环内层循环 if( ij ) continue outer; 2021/3/10讲解:XX52 返回语句return nreturn语句从当前方法中退出,返回到调用该方法 的语句处,并从紧跟该语句的下一条语句继续程序 的执行。返回语句有两种格式: return expression return return语句通常用在一个方法体的最后,否则会产生 编译错误,除非用在if-else语句中 2021/3/10讲解

25、:XX53 例外处理语句 n包括 try . catch( ExceptionCalss e ) . finally . throw语句; 与c/c+相比,是Java特有的语句. 2021/3/10讲解:XX54 注释语句 n/ 用于单行注释。注释从/开始,终止于行尾。 n/* */ 用于多行注释。注释从/*开始,到*/结束,且 这种注释不能互相嵌套。 n/* */ 是Java所特有的doc注释。它以/*开始,到*/ 结束。这种注释主要是为支持JDK工具javadoc而采 用的。javadoc能识别注释中用标记标识的一些特 殊变量,并把doc注释加入它所生成的HTML文件。 2021/3/10

26、讲解:XX55 试题1 nWhat will happen when you attempt to compile and run the following code? public class MyIf boolean b; public static void main(String argv) MyIf mi = new MyIf(); MyIf() if(b) System.out.println(The value of b was true); else System.out.println(The value of b was false); 2021/3/10讲解:XX56 Compile time error variable b was not initialised 2) Compile time error the parameter to the if operator must evaluate to a boolean 3) Compile time error, c

温馨提示

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

评论

0/150

提交评论