编程语言基础知识

上传人:s9****2 文档编号:568806230 上传时间:2024-07-26 格式:PPT 页数:60 大小:263.51KB
返回 下载 相关 举报
编程语言基础知识_第1页
第1页 / 共60页
编程语言基础知识_第2页
第2页 / 共60页
编程语言基础知识_第3页
第3页 / 共60页
编程语言基础知识_第4页
第4页 / 共60页
编程语言基础知识_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《编程语言基础知识》由会员分享,可在线阅读,更多相关《编程语言基础知识(60页珍藏版)》请在金锄头文库上搜索。

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

2、 of identifiers are legal? A.$personsB. TwoUsersC. *pointD. thisE. _endline 保留字n具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word),也称为关键字:n都是小写,比如true,false,null等,不像c中都是大写的。n注意在java中没有sizeof运算符,因为数据类型的长度与平台无关。保留字abstract break byte boolean catch case class char continue default double do else extends

3、 false 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 while 等练习题Which of the following are Java keywords?1) NUL

4、L 2) new 3) instanceOf 4) wend数据类型n数据类型的分类q简单数据类型,复杂数据类型qbyte,short,int,long,float,doubleqchar,booleanqclass,interface,数组n数的范围,位长n不支持c/C+中的指针类型,结构类型(struct)、联合类型(union),枚举类型(enum)常量,变量n常量用文字串表示,比如 3,a等n通过final定义常量,final typeSpecifier varName=value,varName=value;如 final int i0;n变量是java中的基本存储单元,包括变量名,

5、类型,作用域等。 int i0,j1;n局部变量,类变量,方法参数,例外处理参数等。简单数据类型boolean类型n布尔型数据只有两个值true和false,且它们不对应于任何整数值布尔型变量的定义如:boolean b=true; boolean a=false;简单数据类型字符类型charn字符常量字符常量是用单引号括起来的一个字符,如a,A;n字符型变量类型为char,它在机器中占16位,16位无符号型数据,其范围为065535。字符型变量的定义如:char c=a;/*指定变量c为char型,且赋初值为a*/nJava也提供转义字符,以反斜杠()开头,比如表示单引号,uxxxx,1到4

6、位16进制表示的字符。n举例,“中文”的unicode编码是:“u4e2du6587”简单数据类型字符类型char(续)nJava中的字符型数据不能用作整数,因为java不提供无符号整数类型,但是同样可以把他当作整数数据来操作。例如: int three=3; int one=1; char four=(char)(three+one);/four= ?简单数据类型整型数据数据类型所占位数数的范围byte8-2727-1short16-215215-1int32-231231-1long64-263263-1在定义时,long型数据要加后缀l或者L。浮点型(实型)数据n实型常量1. 十进制数形

7、式由数字和小数点组成,且必须有小数点,如0.123, .123, 123.,123.02. 科学计数法形式如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。浮点型(实型)数据n实型变量数据类型 所占位数数的范围float 323.4e038 3.4e038double 641.7e308 1.7e308n注意:定义float时,需加后缀f或F使用举例public class Test byte b=21; short s=256; int i=100000; long l=0xffL; double d=0.7e-3; boolean b=false;练习题W

8、hich 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;类型转换n自动类型转换整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;低-高byte ,short ,char int long float double自动类型转换规则n操作数1类型 操作数2类型 转换后的类型nbyte、short、char intintnbyte、short、char、int long longnbyt

9、e、short、char、int、long float floatnbyte、short、char、int、long、float double double强制类型转换n高级数据要转换成低级数据,需用到强制类型转换,如: int i;byte b=(byte)i; /*把int型变量i强制转换为byte型*/运算符和表达式n与我们学过的C+是相同的。n注意运算符的类型n优先级n参与计算的数的类型n一些运算符的特殊用途。运算符(按照操作数区分)n一元运算符:,n二元运算符:,n三元运算符:?:注:只列出了部分。运算符(按照功能来分)1)算术运算符: +,*,/,%,+, 3+2; a-b; i+

10、; -i;2)关系运算符: ,=,3; i=0; n!=-1;3)布尔逻辑运算符: !,&,| flag=true; !(flag); flag&false; 运算符(按照功能来分)4)位运算符: ,&,|, a=10011101; b=00111001; a3 =11110011 a3=00010011; a&b=00011001; a|b=10111101;a=01100010; ab=10100100; n注意,132, 它们的值等于多少?运算符(按照功能来分)5)赋值运算符 =,及其扩展赋值运算符如+=,=,*=,/=等。i=3; i+=3 等效于i=i+3 6)条件运算符 ? :re

11、sult=(sum= =0 ? 1 : num/sum); 运算符(按照功能来分)7)其它:包括分量运算符 ,下标运算符 ,实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。 System.out.println(“hello world”); int array1=new int4;表达式的类型n表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型: 布尔型表达式: x&y|z; 整型表达式: num1+num2练习题Given the following classpublic class ZeroP

12、rintpublic static void main(String argv) int i =0; /Here 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-);运算符的优先次序n表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:n. . () ()n+ -

13、 - ! ! instanceofinstanceofnnew (type)new (type)n* * / / % %n+ + - -n = = =运算符的优先次序n= = !=!=n& &n n| |n&n|n?:?:n= = += -= *= /= %= =+= -= *= /= %= =n&= |= = =&= |= = =运算符的优先次序示例nResutl=sum=0?1:num/sum; 第1步:result=sum=0?1:(num/sum) 第2步:result=(sum=0)?1:(num/sum) 第3步:result=(sum=0)?1:(num/sum) 第4步:res

14、ult=n注:可以用括号()显式的标明运算次序。控制语句n分支语句,if else,switchn循环语句,for ,while,do whilen其他相关语句 break,continue,returnn例外处理语句,try.catch.finally,thrown注释语句/,/*/,/*/分支语句-ifn条件语句 if-elseif(boolean-expression)statement1;else statement2;注意:1.布尔表达式是任何一个返回布尔型数据的表达式。2.每一个语句后面必须有分号;3。If语句可以嵌套使用。练习题n写出输出结果int output=20;boole

15、an b1=false;if(b1=true)&(output+=10)=30)System.out.println(“We are equal :”+output);elseSystem.out.println(“Not equal:”+output);分支语句switchn多分支语句 switchswitch (expression)case value1 : statement1;break;case value2 : statement2;break;switch case valueN : statemendN;break;default : defaultStatement; n表

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

17、e 0:System.out.println(zero);break;case 1:System.out.println(one);case 2:System.out.println(two);循环语句nwhile语句ndo-while语句nfor语句While语句initializationwhile (termination)body;iteration;n先计算终止条件Do-while语句initializationdo body;iteration; while (termination);n先执行循环体,后计算终止条件,若结果为true,则继续执行循环体。n循环体,至少执行一次。Fo

18、r语句for (initialization; termination; iteration)body;nfor语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。For语句n初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。n在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。for( i=0, j=10; ij; i+, j-)与程序转移有关的其它语句nbreak语句ncontinue语句n返回语句returnn注意bre

19、ak语句和continue语句的区别n如果break和continue后面都跟了标号,又有什么区别break语句n在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。n在Java中,可以为每个代码块加一个括号,一个代码块通常是用大括号括起来的一段代码。加标号的格式如下:BlockLabel: codeBlock break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。break BlockLabel;break语句a: /标记代码块a b: /标记代码块b c: /标记代码块c break b; /wil

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

21、ontinue语句outer: for( int i=0; i10; i+ )/外层循环外层循环inner:for( int j=0; j10; j+ )/内层循环内层循环if( ij )continue outer; 返回语句returnnreturn语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:return expression return return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中例外处理语句n包括 try . catch( ExceptionCalss e ) . fina

22、lly . throw语句; 与c/c+相比,是Java特有的语句.注释语句n/ 用于单行注释。注释从/开始,终止于行尾。n/* */ 用于多行注释。注释从/*开始,到*/结束,且这种注释不能互相嵌套。n/* */ 是Java所特有的doc注释。它以/*开始,到*/结束。这种注释主要是为支持JDK工具javadoc而采用的。javadoc能识别注释中用标记标识的一些特殊变量,并把doc注释加入它所生成的HTML文件。试题1nWhat will happen when you attempt to compile and run the following code? public class

23、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); 1)Compile time error variable b was not initialised2) Compile time error the parameter to the if operator must evalu

24、ate to a boolean3) Compile time error, cannot simultaneously create and assign value for boolean value4) Compilation and run with output of false试题2n请写出请写出testing()被调用时的输出结果被调用时的输出结果void testing() two: for (int i = 0; i 3; i+) three: for (int j = 10; j 2) continue one; 试题4n输出结果public class MySwitch

25、public static void main(String argv) MySwitch ms= new MySwitch(); ms.amethod(); public void amethod() char k=10; switch(k) default: 试题4续 System.out.println(This is the default output); break; case 10: System.out.println(ten); case 20: System.out.println(twenty); break; 试题5输出结果n int x = 1,y=2,i=0,j=0;nswitch(x)n case 1: switch(y)n n case 1: i+;n break;n case 2: j+;n break;n n default: i+; n j+;n n break;n case 2: i+;n j+;n break;n default: i+;n j+;n n System.out.println(i=+i);n System.out.println(j=+j);

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

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

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