版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【本章导读】本章主要介绍数据类型、数组、字符串、运算符与表达式、流程控制语句。这些都是Java语言中最为基础的部分。对于Java初学者,首先要理解这些基本概念,掌握Java的基本语法,为今后的学习打下必要的基础。【本章要点】数据类型数组字符串运算符与表达式流程控制语句2.1Java语言的数据类型类型分类类型名称简单数据类型布尔型字符型整型byteshortintlong浮点型(实型)floatdouble复合数据类型类接口数组
booleancharclassinterafce标识符和关键字用于标识各种对象的名称的有效字符序列称为标识符。构成规则:在Java中,标识符以字母、下划线或$开头,由字母、下划线、$和数字组成。严格区分大小写,没有长度限制。分类:关键字,用户自定义标识符常量在程序的运行期间不能被修改的量。分类:普通常量,标识符常量标识符常量的声明格式:
final数据类型常量名=数值如:finalinta=345
变量变量是Java程序中的基本存储单元声明格式:数据类型变量名[=数值[,变量名[=数值]…]变量的数据类型决定了变量所能容纳的数值类型和它能进行的运算操作类型变量变量名命名规则变量的赋值
(1)在定义同时进行赋值
(2)先定义后赋值在Java程序中,定义的变量若是还没有赋初值,Java会自动给予一个默认值。但不适用于局部变量。不同数据类型的默认值数据类型默认值byte0short0int0long0Lfloat0.0fdouble0.0dchar\u0000booleanfalse变量的作用域变量的作用域是指它的存在范围,只有在这个范围内,程序代码才能访问它。局部变量:定义在方法中或方法内的一个代码块中,其作用域为它所在的代码块。整型整型变量:
byteb;shorts;inti;
longl;变量类型所占内存位数取值范围byte8-27~(27-1)short16-215~(215-1)int32-231~(231-1)long64-263~(263-1)整型整型常量有三种形式:十进制整数:如236,-10,0八进制整数:以0开头,如012十六进制整数:以0x开头,如0x12浮点型浮点型变量:
floatmyFloat;
doublemyDouble;类型所占内存位数取值范围float32-3.4e38~3.4e038double64-1.7e08~1.7e308浮点型浮点型常量有两种表示法:(1)十进制表示法:3.25,76.32f,-5.8f,256.(2)科学表示法:5.24e-8f(=5.24*10-8)-3.1425e+2(=-3.1425*102)字符型Java对字符采用Unicode字符编码。由于计算机的内存只能存储二进制数据,因此必须为各个字符进行编码。所谓字符编码,是指用一串二进制数来表示特定的字符。字符型ASCII编码:是一个7位字符集,能表示128种字符,扩展的8位字符集ISO-Latin-1能表示256种字符。Unicode编码:能表示世界各地官方语言中所必须的可显示字符集,Java采用16位的Unicode编码来表示字符。能表示65536种字符。字符型字符型常量‘h’,’H’转义字符序列
Java还允许使用一种特殊形式的字符常量来表示一些难以用一般字符来表示的字符,这种特殊形式的字符是以一个“\”开头的字符序列,称为转义字符。
Java转义字符转义字符意义\ddd\uxxxx\’\”\\\r\n\f\b\t1到3位八进制数所表示的字符1到4位十六进制数所表示的字符单引号字符双引号字符反斜杠字符回车换行走纸换页退格横向跳格(水平制表符)字符型字符变量
charc=‘a’;char类型的值能够被自动转换成int型,并且能够进行加减运算。字符串常量
Stringstr=“Thisisaboy.”布尔型Java的布尔型变量的取值范围只有两个值:false(假)和true(真)。Java中的布尔型不能转换成其他类型。类型转换自动类型转换整型、实型和字符型数据需要进行混合运算时,首先需要把不同类型的数据转化为同一类型,然后才能进行运算。转换时,系统将按照数据类型的表示范围由小到大的转换原则自动进行。数据类型的表示范围由小到大的顺序依次为:小大byteshortcharintlongfloatdouble类型转换强制类型转换当表示范围大的数据类型要转换成表示范围小的数据类型时,需要用到强制类型转换,强制类型转换的语法形式为:
(目标类型)要转换的变量名或值inti=3;byteb=(byte)i;//int型变量i强制转换为byte型类型转换有时当两个整数相除时,系统会把这种运算归为整数类型的运算,因而会自动截去小数部分,使运算结果保持为整数。这显然不是预期的结果,因此想要得到运算的结果为实型数,就必须将两个整数中的一个(或两个)强制转换为实型,此时下面的三种写法均可行:(float)a/ba/(float)b(float)a/(float)b只要在变量前面加上欲转换的类型,运行时系统就会自动将这一行语句里的变量进行类型转换处理,但不会影响该变量原先定义的类型。2.4运算符与表达式对各中类型的数据处理过程称为运算。表示不同运算的符号成为运算符。参与运算的数据称为操作数。表达式由标识符、常量、变量和运算符组成,是程序的基本组成部分。算术运算类别名称运算符运算规则运算对象表达式实例运行结果一元正+取原值整型(或)浮点型+3+3负-取负值-4-4二元加+加法4+59减-减法8-53乘*乘法
整型(或)浮点型4*936除/除法7.0/23.5模%整除取余
整型浮点型8%32传统算术运算算术运算自增自减运算符如果要进行加1或者减1的运算,可以使用一种快捷运算符,又称为自增自减运算符:“++”和“--”。例如:i=i+1;它等同与下面的语句:
i++;算术运算运算符名称示例说明++自加1a++;a先参加运算再加1++a;a先加1后参与运算--自减1a--;a先参加运算再加1--a;a先参加运算再加1算术运算算术运算的优先规则(从高到低):
(++、--同一级别)—>(*、/、%同一级别)—>(+、-同一级别),同一级别内部,按照出现的先后顺序执行计算。
关系运算
关系运算实际上是“比较运算”,将两个值通过关系运算符进行比较,关系运算符都是二元运算符,由关系运算符组成的关系表达式的计算结果为布尔类型。关系运算名称运算符运算规则运算对象表达式实例运行结果小于<满足则为真不满足则为假整型(或)实型(或)字符型等2<3true小于或等于<=6<=6true大于>‘a’>’b’false大于或等于>=7.8>=5.6true等于==9==9true不等于!=8!=8false逻辑运算逻辑运算符经常用来连接关系表达式,对关系表达式的值进行逻辑运算,因此逻辑运算符的运算对象必须是布尔型数据,其逻辑表达式的运行结果也是布尔型数据。Java的逻辑运算符有三种。逻辑运算表1:逻辑运算符使用说明
类别名称运算符运算规则运算对象一元逻辑非!参看下表布尔型二元逻辑与&&逻辑或||逻辑运算表2:逻辑运算符运算规则
ab!aa&&ba||bfalsefalsetruefalsefalsefalsetrue
falsetruetruefalsefalsefalsetruetruetrue
truetrue逻辑运算在Java中,运算符&&和||的运算规则遵循一种在电工学中称为“短路”的执行方式,即对于逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的结果时,才执行该运算符。逻辑运算
逻辑表达式往往可用于表示比较复杂的条件。例如要判别某一年year是否是闰年,闰年的判别条件是:能被4整除但不能被100整除,或者能被400整除。可以用一个逻辑表达式来表示:(year%4==0&&year%100!=0)||year%400==0当year为某一整数值时,上述表达式值为true,则year年为闰年,否则为非闰年。位运算位运算符用来对以二进制位为单位的数据进行操作和运算,其结果为整型值。运算符说明用法举例&转换为二进制数进行与运算1&1=1,1&0=0,0&1=0,0&0=0|转换为二进制数进行或运算1|1=1,1|0=1,0|1=1,0|0=0^转换为二进制数进行异或运算1^1=0,1^0=1,0^1=1,0^0=0~
进行数值的相反数减1运算~100=-100-1=-101>>向右移位15>>1=7<<向左移位15<<1=30>>>无符号向右移位15>>>1=7赋值运算符当需要为各种不同的变量赋值时,就必须使用赋值运算符“=”,这里的“=”不是“等于”的意思,而是“赋值”的意思。a1=3;a1=a1+1;j=i=3;复合赋值运算符运算符用法举例说明意义+=a+=ba+b的值存放到a中a=a+b-=a-=ba-b的值存放到a中a=a-b*=a*=ba*b的值存放到a中a=a*b/=a/=ba/b的值存放到a中a=a/b%=a%=ba%b的值存放到a中a=a%b条件运算符条件运算符是三元运算符,其使用的语法形式为:<表达式>?e1:e2其中表达式值的类型为逻辑型,若表达式的值为真,则返回e1的值;表达式值为非真,返回e2的值。运算符的优先级Java语言规定了运算符的优先级与结合性。在表达式求值时,先按运算符的优先级别由高到低的次序执行,例如,算术运算符中采用“先乘除后加减”。如果在一个运算对象两侧的优先级别相同,则按规定的“结合方向”处理,称为运算符的“结合性”。Java规定了各种运算符的结合性,如算术运算符的结合方向为“自左至右”,即先左后右。Java中也有一些运算符的结合性是“自右至左”的。运算符的优先级例如:当
a=3,b=4时若
k=a–5+b,则
k=2(先计算a-5,再计算-2+b)若
k=a+=b-=2,则
k=5(先计算b-=2,再计算a+=2)
2.5流程控制语句顺序结构 按照语句出现的先后次序依次执行。选择结构
在多条执行路径中选择一条执行。循环结构
在满足一定的条件下反复执行某段程序。顺序结构顺序结构开始语句1语句2语句n结束选择结构单分支语法if(条件表达式) {语句块}表达式语句块true选择结构双分支结构语法
if(条件表达式) {语句块1} else{语句块2}truefalse表达式语句块2语句块1选择结构嵌套if(多分支结构)语法:
if(…){if(…)语句1;
else语句2;} else {if(…)语句3 else语句4;}选择结构if…elseif(多分支结构)语法:if(条件1) {语句块1}elseif(条件2) {语句块2}……elseif(条件n) {语句块n}else {语句块n+1}truetruetruefalsefalsefalse表达式1表达式2表达式n语句块1语句块2语句块n语句块n+1……选择结构switch语句语法:switch<表达式>{case数值1:{语句块1}break;case数值2:{语句块2}break;……case数值n:{语句块n}break;
default:{语句块n+1}}falsetruetruetruefalsefalse数值1数值2数值n语句块1语句块2语句块ndefault………breakbreakbreakswitch语句说明执行switch语句时,首先计算表达式的值,其类型是整型或字符型。表达式的值与各个case的常量作比较,若相同,则执行该case后面的语句块;default子句为可选。如果表达式的值与任何一个case的常量都不相同,则执行default之后的语句快,若没有default子句,则什么都不执行。switch语句说明break语句的作用是当执行完一个case分支后,从switch结构中退出。如果没有break语句,当程序执行完匹配的case子句块后,还会继续执行下一个语句块,直到遇到break语句或遇到“}”。循环结构当在满足一定条件的前提下需要反复执行一些相同的操作时,使用循环结构语句便是最好的选择。Java语言提供的循环结构语句包括for语句、while语句和do-while语句。作为一个循环结构来说,应该包含如下内容:赋初值部分:用于设置循环控制的一些初始条件。循环体部分:需要反复执行的代码(块),当然也可以是一句单一的语句。循环控制变量增减方式部分:用于更改循环控制变量的状况。判断条件部分:是一个返回逻辑(布尔)值的表达式,用于判断是否满足循环终止条件,以便及时结束循环。while语句语法:
while(判断条件)
{
(循环体)语句块;循环控制变量增(减)值;
}利用while循环语句计算从1累加到100的结果。判断条件循环体truefalse循环控制变量赋初值循环控制变量增(减)值do-while语句语法:
do{
循环体;
}while(循环条件);利用do-while循环语句计算从1累加到100的结果。falsetrue判断条件循环体;循环控制变量增(减)值;赋循环控制变量初值do-while语句在不知道一个循环体会被重复执行多少次的情况下,可以使用while循环结构或者do-while循环语句。编程序计算当n为多大时下列不等式成立。10131211>++++n……for循环语句语法:for(表达式1;表达式2;表达式3){
循环体;
}循环变量赋初值循环条件循环变量增减值判断条件循环体truefalse赋循环控制变量初值循环控制变量增(减)值for循环语句for循环语句的适应于明确知道重复执行次数的情况。利用for循环语句计算从1累加到100的结果。循环的嵌套当循环中循环体又是一个循环结构,这种形式称为循环的嵌套。根据嵌套的层数不同,可分为二重循环、三重循环等。多层循环的执行过程:外层循环每执行一次,内层循环就要从头开始执行一轮。输出九九乘法表publicclassMuiTable{publicstaticvoidmain(Stringargs[]){inti,j;for(i=1;i<=9;i++) //外层循环
{for(j=1;j<=9;j++)//内层循环
{System.out.print(i+"*"+j+"="+(i*j)+"\t");}System.out.println();}}}转向控制语句转向控制语句用在选择结构和循环结构中,使程序员更方便地控制程序执行的方向。三种转向控制语句:break,continue,return语句。break语句用在switch语句和循环语句中。作用:使程序的流程从一个语句内部转移出去。语法:break[标号]标号的定义方法标号:循环块使用带标号的break语句,可以从多重循环内部跳出所有的循环。continue语句用在循环语句中。作用:终止当前这一轮的循环,不再执行它后面的语句,直接进入下一轮的循环。语法:continue[标号]标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年佛山市禅城区石湾第一小学面向社会公开招聘临聘教师备考题库参考答案详解
- 2026年天津蓝巢京能(锡林郭勒)运行维护项目部招聘15人备考题库及1套完整答案详解
- 2026年上海益诺思生物技术股份有限公司招聘备考题库完整参考答案详解
- 2026年广西胸科医院中药煎煮员岗位工作人员招聘备考题库含答案详解
- 2026年南京新翔人才服务有限公司公开招聘社区卫生服务中心药库管理员备考题库及答案详解1套
- 餐饮人员人身安全培训课件
- 六年级语文阅读与文言文专项训练题库解析
- 2025年全球人形机器人教育辅助与个性化教学应用分析报告
- 软件开发项目进度管理范文
- 餐桌礼仪培训课件
- 2025届山西省阳泉市阳泉中学高二生物第一学期期末质量检测试题含解析
- 毒理学中的替代测试方法
- DB3502-Z 5026-2017代建工作规程
- 广东省大湾区2023-2024学年高一上学期期末生物试题【含答案解析】
- 第四单元地理信息技术的应用课件 【高效课堂+精研精讲】高中地理鲁教版(2019)必修第一册
- 鲁科版高中化学必修一教案全册
- 提高隧道初支平整度合格率
- 2023年版测量结果的计量溯源性要求
- GB 29415-2013耐火电缆槽盒
- 中国古代经济试题
- 软件定义汽车:产业生态创新白皮书
评论
0/150
提交评论