




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Java
基础2.12.22.3标识符和关键字数据类型与常量、变量运算符和表达式2.1
标识符和关键字Java语言采用Unicode字符集,采用16位编码,前256个字符与ASCII相同。1标识符标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java的标识符由字母、数字、_和$组成,长度不限,但实际命名不宜过长。标识符的第一个字符必须为字母、“_”或“$”。标识符区分大小写。合法的标识符:
不合法的标识符:name,
s_no,
$2,
boy_number2y,a*b,w/为了提高程序的可读性,标识符最好“见名知义”,而且规范大小写的使用方式:①
变量名、对象名、方法名、包名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。如getAge。②
类名首字母大写。③
常量名全部字母大写。2关键字关键字是由Java语言定义的、具有特殊含义的字符序列。用户只能按照系统规定的方式使用,不能自行定义。关键字一律用小写字母表示。2.2
数据类型与常量、变量Java的数据类型分为2大类:基本数据类型和引用数据类型。基本数据类型是由一种简单数据组成的数据类型,其数据是不可分解的。例如,整数类型int的数据有34,17等,可以进行整除运算34/17。基本数据类型已由Java预定义,类型名是关键字,如int,float,char和boolean等。基本数据的变量中保存数据值,而引用数据类型的变量保存地址。Java的引用数据类型包括数组(array)、类(class)和接口(interface)。Java数据类型基本类型整型
浮点型字符型布尔型引用类型数组接口类1
Java基本数据类型整数类型整数类型数据值有负整数、零和正整数。整数类型又细分为4种子类型。不同整数类型的差别在于占用的内存空间和数据取值范围的不同。数据类型所占字节取值范围long(长整型)8-9223372036854775808~9223372036854775807int(整型)4-2147483648~2147483647short(短整型)2-32768~32767byte(位)1-128~127一个整数的缺省类型为int。要表示一个整数为long型,在其后加后缀L或l,如345L。Java还提供了3种进制的整数表示形式:十进制数。用0~9之间的数字表示的数,其首位不能为0。八进制数。用0~7之间的数字表示的数,以0为前缀。十六进制数。用0~9之间的数字或a~f,A~F之间的字母表示的数,以0x或0X为前缀。浮点数类型浮点数类型有2种表示形式:标准记数法:由整数部分、小数点和小数部分组成,如12.37科学记数法:由尾数、E或e及阶码组成,也称为指数形式,如2.5E4表示2.5×104有2种浮点数类型:float(单精度浮点数)和double(双精度浮点数)。浮点数类型所占字节取值范围float(单精度浮点数)4-3.4E38~3.4E38double(双精度浮点数)8-1.7E308~1.7E308取值范围及所占用的内存大小一个浮点数缺省类型为double。要表示一个浮点数为float型,在其后加后缀F或f,如34.5f。字符类型字符类型(char)表示Unicode字符,1个字符占16位。字符类型数据表示方法:用单引号括起来的单个字符用Unicode码表示,前缀是
“\u”Unicide字符集中的控制字符需要通过转义字符表示。转义字符功能Unicode码\b退格\u0008\t水平制表\u0009\n换行\u000a\f换页\u000c\r回车\u000d由多个字符组成的字符序列称为字符串,字符串用双引号括起来。如"green"就是一个字符串。布尔类型布尔类型(boolean)只有true(真)和false(假)2个值。布尔类型值占1个字节。数据类型所占字节表示范围long(长整形)8-9223372036854775808~
9223372036854775807int(整型)4-2147483648~
2147483647short(短整型)2-32768~32767byte(位)1-128~127char(字符)10~256boolean(布尔)1true或falsefloat(单精度)4-3.4E38~
3.4E38double(双精度)8-1.7E308~
1.7E308Java基本类型表2
常量常量是指在程序运行过程中其值始终保持不变的量。Java中的常量有整型、浮点
数型、字符型、布尔型和字符串型。如26,47.3,‘a’,true,“student”分别是整数型、浮点数型、字符型、布尔型和字符
串型常量,常量的这种表示方式称为直接常量。可以用标识符表示常量,称为符号常量。符号常量必须先声明,后使用。符号常量的声明方式如下:final[修饰符]类型标识符常量名=(直接)常量修饰符是表示该常量使用范围的权限修饰符:public,private,protected或缺省。如:final
float
PI=3.14159;final
char
SEX="M";final
int
MAX=100;声明符号常量的优点如下:增加了程序的可读性,从常量名可知常量的含义。增强了程序的可维护性,只要在常量的声明处修改常量的值,就自动修改了程序中所有地方所使用的常量值。3
变量变量是指在程序运行过程中其值可以改变的量。变量必须先定义后使用。其格式为:[修饰符]类型标识符变量名[=常量];类型标识符可以是任意的基本数据类型或引用数据类型。
变量名必须符合标识符的规定,并习惯采用小写字母。如果变量名由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。取名时最好符合“见名知意”的原则。例如:int
age;
如果声明中包含“=常量”部分,系统将此常量的值赋予变量,作为变量的初始值。
可以同时声明同一数据类型的多个变量,各变量之间用逗号分隔。以下是合法的变量声明:
float
x=25.4,y;char
c;boolean
flag1=true,
flag2;int
l,
m;其中,变量x和flag1被赋予初始值,其它变量没有初始化。例:使用整数型变量public
class
Integers{public
static
void
main(String
args[]){//八进制数//十进制数//十六进制数int
a=015;int
b=20;int
c=0x25;short
x=30;long
y=123456L;//输出a的值System.out.println("a="+a);System.out.println("b="+b);System.out.println("c="+c);System.out.println("x="+x);System.out.println("y="+y);}}程序运行结果如下:
a=13b=20c=37x=30y=123456例:使用单精度和双精度类型变量public
class
Floats{public
static
void
main(String
args[]){float
a=35.45f;double
b=3.56e18;System.out.println("a="+a);System.out.println("b="+b);}}程序运行结果如下:
a=35.45b=3.56E18例:使用字符类型变量public
class
Characters{public
static
void
main(String
args[]){char
ch1=’a’;char
ch2=’B’System.out.println("ch1="+ch1);System.out.println("ch2="+ch2);}}程序运行结果如下:ch1=ach4=B例:使用字符串类型数据public
class
Samp2_5{public
static
void
main(String
args[]){String
str1="abc";String
str2="\n";String
str3=
"123";System.out.println("str1="+str1+str2+"str3="+s}}程序运行结果如下:str1=abcstr3=123例:使用逻辑类型变量public
class
Logic{public
static
void
main(String
args[]){boolean
instance1=true;boolean
instance2=false;System.out.println(“逻辑状态1=”+instance1+”“+
”逻辑状态2="+instance2);}}程序运行结果如下:逻辑状态1=true逻辑状态2=false2.3
运算符和表达式1运算符对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。根据操作数的个数,可以将运算符分为单目、双目和多目运算符。单目运算符只对1个操作数运算,双目运算符对2个操作数运算。根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。算术运算符算术运算符完成数学上的加、减、乘、除四则运算。算术运算符包括双目运算符和单目运算符。双目算术运算符包括+(加)、-(减)、*(乘)、/(除)和%(取余)。例如:23+5//结果是286*5//结果是3027/3//结果是945/4//结果是119%3//结果是09%4//结果是1单目算术运算符包括++(自增)、--(自减)、-(负号)。“++”和“--”只能用于整数类型的变量,而不能用于常量或表达式。“++”和“--”既可以出现在变量的左边,也可以出现在变量的右边。例如:int
j=5;j++;++j;--j;j--;//结果,j等于6//结果,j等于7//结果,j等于6//结果,j等于5关系运算符关系运算是2个操作数之间的比较运算。关系运算符有:>、<、>=、<=、==和!=。“==”和“!=”还可用于布尔类型及字符串类型操作数。字符类型操作数的比较依据是其Unicode值,字符串从左向右依此对每个字符比较。关系运算的运算结果是布尔类型值。如果关系成立,结果的值为true;否则,结果的值为false。运算符用例功能>a
>
b如果a>b成立,结果为true;否则,结果为false>=a>=
b如果a≥b成立,结果为true;否则,结果为false<a
<
b如果a<b成立,结果为true;否则,结果为false<=a
<=
b如果a≤b成立,结果为true;否则,结果为false=
=a
=
=
b如果a=b成立,结果为true;否则,结果为false!=a1
!=
b如果a≠b成立,结果为true;否则,结果为false关系运算符例如:
23.5>10.445!=45’7’<’6’true!=false’T’<’a’’u’<’9’//结果是true//结果是false//结果是false//结果是true//结果是true//结果是false逻辑运算符逻辑运算是对布尔类型操作数进行的与、或、非、异或等运算,运算结果仍然是布尔类型值。逻辑运算符有:&(与)、|(或)、!(非)、^(异或)、&&(条件与)、||(条件或)。ab!aa&b,a&&ba|b,
a||ba^bfalsefalsetruefalsefalsefalsefalsetruetruefalsetruetruetruefalsefalsefalsetruetruetruetruefalsetruetruefalse逻辑运算真值表例如:!
truetrue
&
falsetrue
|
false//结果是false//结果是false//结果是true逻辑运算用于判断组合条件是否满足,例如(age>20)&&
(age<30)
//判断age的值是否在20~30之间(ch==’b’)||
(ch==’B’)
//判断ch的值是否为字母’
b’或’B’,位运算符位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值。位运算符有:~(位反)、&(位与)、|(位或)、^(位异或)、<<(左移位)、>>(右移位)、>>>(无符号右移位)。ab~aa&ba|ba^b001000011011100011110110位运算真值表运算符用例功能~~a将a逐位取反&a&ba、b逐位进行与操作|a|ba、b逐位进行或操作^a^ba、b逐位进行异或操作<<a<<ba向左移动b位>>a>>ba向右移动b位>>>a>>>ba向右移动b位,移动后的空位用0填充位运算符例如:x=132,y=204;计算~x和x^y的值将整数转换为二进制数。x=10000100,y=11001100对x按位进行取反操作。~
10000100=01111011对x,y按位进行异或操 作10000100^
1100110001001000所得结果:~x=123,x^y=72。赋值运算符赋值运算用于给变量赋值,形式如下:变量名=表达式;赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。例如:int
i=3,
j;j=i+2;i=2*j;j=j+4;//i的初始值是3//结果,j的值是5//结果,i的值是10//结果,j的值是9赋值运算符还可以与算术运算符、逻辑运算符
和位运算符组合成复合赋值运算符,使用方法见表。运算符用例等价于运算符涌例等价于+=x
+=
yx=x+y&=x
&=
yx=x&y-=x-=
yx=x-y|=x
|=
yx=x|y*=x*=
yx=x*y^=x
^=
yx=x^y/=x
/=
yx=x/y<<=x
<<=
yx=x<<y%=x
%=
yx=x%y>>=x
>>=
yx=x>>y>>>=x
>>>=
yx=x>>>y例如:i*=10;等价于i=i*10;条件运算符条件运算格式如下:表达式1?表达式2:表达式3“?:”称为条件运算符,它是三目运算符。如果“表达式1”的值是true,“表达式2”的值是最终表达式的值;如果“表达式1”的值是false,“表达式3的值是最终表达式的值。例如:int
min
,
x=4,
y=20;min=(x<y)?x:y;
//结果使min取x和y中的较小值,即min的值是4括号运算符圆括号运算符“()”用于改变表
达式中运算符的运算次序。先进行括号
内的运算,再进行括号外的运算;在有
多层括号的情况下,优先进行最内层括
号内的运算,再依次从内向外逐层运算。2表达式表达式是用运算符将操作数连接起来的符合语法规则的运算式。例如:int
i=5,
j=10,
k;k=(24+3*i)*j;运算符的优先级运算符描述优先级结合性.
[]
(
)域,数组,括号1从左至右++
--
-
!
~一元运算符2从右至左*
/
%乘,除,取余3从左至右+
-加,减4从左至右<<
>>
>>>位运算5从左至右<
<=
>
>=逻辑运算6从左至右==
!=逻辑运算7从左至右&按位与8从左至右^按位异或9从左至右续前表运算符描述优先级结合性|按位或10从左至右&&逻辑与11从右至左||逻辑或12从左至右?
:条件运算13从左至右=
*=
/=
%=+=
-=
<<=>>=
>>>=&=
^=
|=位运算14从左至右表达式的数据类型表达式的数据类型由运算结果的数据类型决定。例如:int
i=3,
j=21,
k;boolean
f;k=(i+3)*4;f=(i*2)>j;//(i+3)*4是算术表达式//(i*2)>j是布尔表达式例单目操作符实例public
class
OOperator{public
static
void
main(String
args[]){int
i=15,
j1,
j2,
j2,
j4;j1=i++;
//在操作数的右面System.out.println("i++="+j1);j2=++i;
//在操作数的左面System.out.println("++i="+j2);j3=--i;System.out.println("--i="+j3);j4=i--;System.out.println(“i--="+j4);System.out.println("i="+i)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市交通规划与交通信息管理重点基础知识点
- 2025年软考网络管理员逆袭计划试题及答案
- 2024年海南省知识产权局下属事业单位真题
- 2024年海南省民政厅下属事业单位真题
- 2024年山东省淡水渔业研究院招聘笔试真题
- 数据库与网络管理关系试题及答案
- 2024年黄山新区妇产医院招聘笔试真题
- 2024年北海市合浦县司法局招聘笔试真题
- 行政法学策划能力试题及答案
- 未来科技变革下的公司战略与风险预测试题及答案
- TSG 07-2019《特种设备生产和充装单位许可规则》
- 新人教版数学四年级下册全册课本练习题可编辑可打印
- 山东省义务教育必修地方课程小学四年级上册《环境教育》教案-全册
- 艺术概论智慧树知到答案2024年宁波财经学院
- 社会单位灭火和应急疏散预案编制及实施导则知识培训
- 中国高血压防治指南(2024年修订版)解读(总)
- 创业管理-易学实+用的创业真知智慧树知到期末考试答案章节答案2024年天津工业大学
- 低代码开发智慧树知到期末考试答案章节答案2024年南华大学
- 食堂意见反馈制度
- 成都市2022级(2025届)高中毕业班摸底测试(零诊) 语文试卷(含答案)
- 老旧小区改造管道开挖方案
评论
0/150
提交评论