第02章 Java程序设计基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章Java程序设计基础主要内容2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句标识符标识符:为程序中的各个元素进行命名.一般地,在Java中标识符是以字母、下划线(_)、美元符号($)开始的一个字符序列,后面可以跟字母、下划线、美元符号、数字等字符。Java语言使用Unicode字符集标识符是大小写敏感的,没有最大长度的限制,不能和关键字相同标识符总体来说定义标识符可以使用的字符包括:大小写字母、数字;凡是用Character.isJavaIdentifierStart(charch)返回true,都可作为首字符,Character.isJavaIdentifierPart()返回true,都可作为标识符的一部分。合法的标识符:Body,_test,$hello非法标识符:5Test,hello*,world#,class注意:在中文环境下,可以使用汉字作为标识符。例如,int中文=5;练习题Whichdeclarationsofidentifiersarelegal?A.$personsB.TwoUsersC.*pointD.thisE._endlinea,b,e关键字所有的关键字都是小写的。如果被大写,就不是关键字了。用于数据类型的关键字byteshortintlongfloatdoublecharboolean用于流程控制语句的关键字ifelseswitchcasedefaultdowhileforbreakcontinue方法、类型、变量的修饰关键字privatepublicprotectedfinalstaticabstractsynchronizedvolatile异常处理关键字trycatchfinallythrowthrows关键字对象相关关键字newextendsimplementsclassinstanceofthissuper字面值常量关键字falsetruenull方法相关关键字returnvoid包相关关键字packageimport练习题WhichofthefollowingareJavakeywords?1)NULL2)new3)instanceOf4)wend2,3注释单行注释单行注释以“//”开头,至该行结尾,其格式如下:多行注释/*注释文本……*/文档注释/**注释文本*注释文本*……*/主要内容2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句变量[修饰符]类型名变量名[=初值][,变量名[=初值]….];inti;intj=5,k=4;作用域分,变量大致可分为:局部变量、类成员变量、方法参数、异常处理参数。变量作用域局部变量是在方法内部或代码块中声明的变量,它的作用域为它所在的代码块,在程序设计中,以“{……}”为界。类成员变量,它的作用域是整个类。又可以细分为静态变量和实例变量方法参数的作用域,是它所在的方法异常处理参数的作用域,是它所在的异常处理部分变量隐藏(按作用域的大小)常量整形常量234,实型常量23.4,字符常量’a’,布尔常量true和false,以及字符串常量“helloworld!”final关键字(后面还会碰到)finalintMAX=100;finalintMAX_LOOP=5;主要内容2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句数据类型分类数据类型基本类型引用类型数值类型字符类型(char)布尔类型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组图2-1Java语言的数据类型数据类型Java的基本数据类型都有固定的数据位,不随运行平台的变化而变化。布尔类型booleanb=false;字符类型一个字符用一个16位的Unicode码表示charc,c1=‘a’;中’的Unicode码是\u4e2d整数和字符型数据在一起运算字符向整数转换转义字符描述\ddd1到3位8进制数所表示的字符(ddd)\uxxxx1到4位16进制数所表示的字符(xxxx)\'单引号字符\双引号字符\\反斜杠\r回车\n换行\f走纸换页\t横向跳格\b退格整数类型Java中的整数有三种进制形式表示:十进制:用0~9的数值表示,首位不能为0,例如:124,-100;八进制:以0(零)开头,后跟多个0~7之间的数字,如0134;十六进制:以0x或者0X开头,后跟多个0~9之间的数字、或A~F之间的的大写字、或者a~f之间的小写字母。a~f或者A-F分别表示10~15,例如,0x23FE,等于十进制数9214。整数类型数据类型所占位数数的范围byte8-27~(27-1)short16-215~(215-1)int32-231~(231-1)long64-263~(263-1)在表示long型常量时,需要在数字后面加上后缀L或者l。例如3L表示一个long型的常量,而不是int型常量。浮点类型数据类型所占位数数的范围float(单精度浮点数)323.4e-038~3.4e+038double(双精度浮点数)641.7e-308~1.7e+308一个浮点数默认为double型。在一个浮点数后加字母F或f,表示float型。常量值3.45的类型是double;3.45F的类型是float。各类型数据间的相互转换自动类型转换从低级到高级发生自动类型转换。从表达范围小的类型向表达范围大的类型发生自动类型转换。不同数据类型的转换如下所示:低----------------------------------------------高byte,short,char---int--long--float--double注意:byte,short和char在一起运算时,首先转换为int类型进行运算。【例2-1】分析下面程序中的错误。byteb1=5;shorts1=6;shorts2;s2=b1+s1;类型转换强制类型转换由高级向低级数据类型转换时,需要强制类型转换。例如:inti=65;charc;c=(char)i;//把int型变量转换成char型,需要强制类型转换。练习题Whichofthefollowingarelegalstatements?1)floatf=1/3;2)inti=1/3;3)floatf=1.01;4)doubled=999d;1,2,4主要内容2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句算数运算符运算符用法含义结合性二元运算符+op1+op2加法左-op1-op2减法左*op1*op2乘法左/op1/op2除法左%op1%op2模运算(求余)左一元运算符++op1正数右--op1负数右++++op1,op1++自增右,左----op1,op1++自减右,左算数运算符的特点对于二元运算符,运算结果的数据类型一般为两个操作数中表达范围较大的类型。例如,一个整数和浮点数运算的结果为浮点数。对于一元运算符,运算结果的类型与操作数的类型相同。自增、自减运算符有前缀和后缀两种形式,当是前缀形式(即++、--符号出现在变量的左侧)时,对变量实施的运算是“先运算后使用”;当是后缀形式(即++、--符号出现在变量的右侧)时,对变量实施的运算是“先使用后运算”。算数运算符的注意事项在Java中,%(求模运算符)的操作数可为浮点数,如52.3%10=2.3;Java对+运算进行了扩展,可作字符串连接运算符,如ab+efd得abefd;做+运算时,如果一个操作数是字符串,其它操作数自动转换成字符串.如:Strings;s=s:+4*5;//结果是s=s:20;byte,short,char等类型进行混合运算时,会先自动转换为int类型再运算。赋值运算符运算符示例含义+=count+=2count=count+2-=count-=2count=count-2*=count*=2count=count*2/=count/=2count=count/2%=count%=2count=count%2条件运算符(boolean_expr)?true_statement:false_statement;result=sum==0?100:2*num;位运算符Java用补码表示二进制数1表示为二进制为00000000000000000000000000000001(4个字节)-1表示为二进制为11111111111111111111111111111111(4个字节)位运算符运算符示例含义&Op1&Op2使Op1和Op2按位相与|Op1|Op2使Op1和Op2按位相或~~Op对Op按位取反^Op1^Op2使Op1和Op2按位异或Op1Op2使Op1左移Op2位,右补0Op1Op2使Op1右移Op2位(带符号,左边补充符号位)Op1Op2使Op1无符号右移Op2位(左边始终补添0)注意事项除~为右结合外,其余为左结合。操作数的类型一般为整型或字符型。&,|,^三个运算符可以用于boolean。若两个数据的长度不同,如a&b,a为byte型,b为int型,系统首先会将a的左侧空位填满,若a为正,则填满0,若a为负,填满1即进行“符号扩充”。举例:按位与运算符&&十进制数二进制数操作数1500000000000000000000000000000101操作数2900000000000000000000000000001001运算结果100000000000000000000000000000001举例532的结果-11的结果关系运算符所谓关系运算是比较运算,将两个值进行比较。关系运算的结果值为true、false(布尔型)。Java语言提供了6种关系运算符,它们是(大于)、(小于)、=(大于或等于)、=(小于或等于)、!=(不等于)和==(等于)。运算符“==”和“!=”的运算优先级低于另外四个关系运算符。逻辑运算符逻辑运算只能处理布尔类型的数据,所得结果也是布尔值逻辑运算符支持短路运算运算符示例含义结合性&&Op1&&Op2逻辑与运算左||Op1||Op2逻辑或运算左!!Op逻辑非运算右主要内容2.1标识符和关键字2.2常量和变量2.3基本数据类型2.4运算符2.5表达式2.6程序控制语句表达式表达式是程序设计语言的基本组成部分,表示一种求值的规则,是由运算符和操作数组成的符号序列。表达式的运算结果的类型,就是表达式的类型在对表达式进行运算时,遵循一定的规则,要按运算符的优先级从高到低进行,同级的运算符则按从左到右的方向进行。表达式高|||||||||||||低1.[]()++--!~instanceof2new(type)3*/%4+-56==7==!=8&9^10|11&&12||13?:14=+=-=*=/=%=∧=15&=!====几个特点赋值运算符的优先级最低,因为赋值运算符要使用表达式的值;关系运算符的优先级比布尔逻辑运算符的优先级高;.,[],()等运算符的优先级最高;一元运算符的优先级也比较高;算术元算符要比关系运算符和二元逻辑运算符的优先级要高。练习题Whichofthefollowingwillcompilewithouterror?1)charc='1';System.out.println(c1);2)Integeri=Integer(1);System.out.println(i1);3)inti=1;System.out.println(i

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功