版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章
Java程序设计基础
Java程序设计本章主要内容
2.1Java基本语法12.2数据类型22.3常量和变量32.4运算符与表达式42.5常用类和方法52§2.1Java基本语法标识符在Java中,能够标识程序中各种元素惟一性和存在性的名称为标识符。
保留字
Java语言中有一些特殊的字符组合,它们由系统预先定义,用来表示语句的功能或元素的类型等特定的含义,这类字符的组合称为保留字,也叫关键字。2024/12/24李飞——计算中心3/35标识符的命名规则1.Java标识符可由数字、字母、下划线(_)、美元符号($)和人民币符号(¥)组成,可以是单词、词组或缩写等,长度不限。2.在Java中是区分大小写的,而且首位不能是数字。3.Java保留字不能作为用户定义的Java标识符。4.标识符的命名最好能反映出其作用,做到见名知意。4举例合法的标识符myNameMy_namePoints$points_sys_taOK_23b_3_非法的标识符#name25nameClass&timeif5标识符的书写约定变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。例如,zhang,zhang3,myDate等。常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,YEAR、SIZE_NAME、PI等。6标识符的书写约定包名。包名全部小写,连续的单词只是简单地连接起来,不使用下划线。例如,hello、chair、redapple等。源文件名。源文件名必须和公有类名相同,如果文件名和类名不相同则会导致编译错误。尤其要注意的是Java是大小写敏感的。文件名的后缀为.java。7Java的保留字8abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnstrictfpshortstaticsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile语句的书写规则
每个Java语句以“;”结束。Java语句间的组成格式自由,语句可以从一行内任何位置开始
可以一个语句占多行,也可以一行中有多个语句。9语句的分类1.方法调用语句。如:System.out.println("Hello");2.表达式语句。由一个表达式构成一个语句。如:x=23;3.复合语句。用“{}”把若干语句括起来可构成复合语句。复合语句也被称为语句块或代码块。每个复合语句可以看成是一个语句,可以用在允许使用单一语句的任何地方。10语句的分类4.流程控制语句。用来控制程序的执行过程的语句。如空语句、注释语句等。如:5.其他语句。主要包括常量、变量、对象、类和包等的定义语句和一些具有特殊功能的语句。例例11ifa>3b=1;elseb=0;inta,b;;//说明文字空白、注释与分隔符空白换行符及回车键、空格键、水平定位键(tab)都是空白。Java程序的元素之间可插入任意数量的空白,编译器将忽略掉多余的空白程序中除了加入适当的空白外,还应使用缩进格式,使得同一层语句的起始列位置相同12空白、注释与分隔符——注释
单行注释。单行注释内容以双斜线“//”引导,表示此行是注释行,“//”后面的内容为注释。单行注释通常放在被注释的语句的上一行或语句的后部,用于常量、变量和语句的说明。
多行注释。多行注释以“/*”开头以“*/”结束,中间可以插入多行说明文字。多行注释可用于对一段(多行)程序代码进行注释。主要用于对算法和方法的说明。
文档注释。以“/**”开始,以“*/”结束,中间可以插入多行说明文字。用于一段程序代码的注释,主要用在类、方法的定义代码前面,用来说明类或方法的功能和使用方法。格式//注释内容/*多行
注释
内容*//**文档
注释
内容*/13分隔符分号;花括号{}方括号[]圆括号()空格圆点.逗号,冒号:语句结束符。复合语句的边界,用于定义代码块用于定义数组元素的下标方法的参数声明或运算符无功能,仅用于使程序美观表示从属关系,表明类或实例对象的指定成员。用于分隔变量说明的各个变量和方法的各个参数用于分隔标号和语句。14注意:Java语句可以跨越多行书写,但字符串和变量名不能跨越多行。程序结构与编程习惯Java项目的结构Java中常见的文件.Jar:Java包文件.java:源代码文件.class:字节码文件.ser:对象状态序列化文件2024/12/24李飞——计算中心15/35Java源程序的基本结构0个或1个包声明语句(PackageStatement)package包名;//必须放在第一行0个或多个包引入语句(ImportStatement)import包名;//可有多个0个或多个类声明语句(ClassDeclaration)Class类名{}
//可有多个,但只能有一个公有的0个或多个接口声明(InterfaceDeclaration)Interface接口名{}//可以有多个。2024/12/24李飞——计算中心16/35Java的编程习惯注意缩进缩进就是在语句前加一些空格,以突出语句的层次感。注意注释好的程序注释习惯可以通过不同级别的注释,方便程序员了解变量、语句和程序的功能,同时方便程序的在开发和修改。注意使用包把有关联的程序放在同一个包中,可以方便程序的访问和阅读。2024/12/24李飞——计算中心17/35§2.2Java的数据类型18数据类型基本数据类型复合数据类型类类型布尔类型:boolean数组接口类型:interface字符类型:char数值类型浮点数类型:float,double整数类型:byte,short,int,longJava的基本数据类型基本数值类数据类型的表示不同进制的表示方法31——十进制表示037——八进制表示,首位0表示这是一个八进制数。0x001f——十六进制表示,首位0x代表十六进制数长整型表示可以在数值后加“L”或“l”定义。31L,037L或0x001fL。科学记数法表示314.1563.14156E2或3.14156e2。19Java的基本数据类型非数值型数据字符型数据‘a’——英文字符‘张’——中文字符‘\n’——转义字符回车换行。‘\u????’——一个特殊的Unicode字符,????为4位16进制数,转义字符在Java中允许使用一些字符通过’\’转变为另一种含义,这种字符称为转义字符。转义字符一般通过键盘不方便输入如回车和换行等。20Java的基本数据类型21表2.3Java的常用转义字符转义字符描述\ddd八进制数表示的ASCII子符\uxxxx16进制数表示的Unicode字符\’单引号\”双引号\\反斜杠\r回车\n换行\f换页\b后退一格\t横向跳格(Tab)将光标移到下一个制表位基本数据类型的范围程序2-5
变量的说明和赋值222.3常量和变量常量是指在程序运行过程中数值不发生改变的量。final[static]数据类型
常量名=常量值变量是指在程序运行过程中,值可以发生改变的量。23变量的声明与初始化变量的声明类型变量名[=初始值][,变量名[=初始值]……];变量的初始化[作用域][数据类型]变量名=常量|变量|表达式;变量的默认值Boolean的默认值falsechar的默认值‘\u0000’Byte,int,short,long,float,double的默认值024类型转换各类型所占用的位数从短到长依次为: byteshortcharintlongfloatdouble强制转换(目标数据类型)原数据类型的表达式25表2.4数据类型自动转换表原数据类型自动转换的目标数据类型byteshort,char,int,long,float,doubleshortint,long,float,doublecharint,long,float,doubleintlong,float,doubleFloatdouble类型转换当位数多的类型向位数少的类型进行转换时,需要用户明确指明,即进行强制类型转换一般地,高级类型(即位数较多的数据类型)转为低级类型(即位数较少的数据类型)时,截断高位内容,因此会导致精度下降或数据溢出26inti=3;byteb=(byte)i;§2.4运算符和表达式赋值运算符=,+=,-=,*=,/=,%=,<<=,>>=,>>>=,&=,^=,|=算数运算符+,-,*,/,%,++,--关系运算符>,<,>=,<=,==,!=逻辑运算符!,&&,||位运算符~,|,&,^,<<,>>,>>>其他运算符?:,,,.,[],(),new,instanceof27§2.4运算符和表达式运算符的优先级[],.,(参数),后缀++,后缀--。前缀++,前缀--,+,-,~,!New,(类型)*,/,%+,-<<,>>,>>><,>,<=,>=,instanceof==,!=,&,&,^,^|,|&&||?:赋值28运算符结合性自左至右自右至左自右至左自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自左至右自右至左自右至左§2.5常用类和方法如何调用类中的方法和成员变量静态的import包名.类名;类名.方法名(参数表)类名.类变量名[包名.][类名.]方法名(参数表)[包名.][类名.]类变量名非静态的对象名.方法名(参数表)对象名.成员变量名29类和方法的使用例2.21类方法的调用2024/12/24李飞——计算中心30/35importjava.lang.Boolean;publicclasseg2_21{ publicstaticvoidmain(String[]args){ doublea=3.0,b=4.0,c; Stringstr="true"; c=Math.sqrt(a*a+b*b); System.out.println(c); System.out.println(Boolean.valueOf(str)); System.out.println(java.lang.Integer.MAX_VALUE); }}5.0true2147483647数值计算相关方法Java通过算术运算符支持基本的算术运算。对于较复杂的数学运算,Java平台采用类方法的手段来实现。在java.lang包中,Java提供了一个称为Math的类。通过Math类,提供了一系列关于数学运算的方法来实现数学运算中常用的函数运算功能。Math类还提供了一些数学常用的常数如Math.PI表示数学上的圆周率π,Math.E表示自然对数的底e。2024/12/24李飞——计算中心31/35表2.12常用的与数学函数相关方法方法名参数类型返回值类型说明sin(a)doubledouble求a的三角正弦,a为弧度值。cos(a)doubledouble求a的三角余弦,a为弧度值。tan(a)doubledouble求a的三角正切,a为弧度值。asin(a)doubledouble求a的反正弦,返回的角度在-π/2到π/2之间。acos(a)doubledouble求a的反余弦,返回的角度在0.0到π
之间。atan(a)doubledouble求a的反正切,返回的角度在-π/2到π/2之间。sinh(x)doubledouble求x的双曲线正弦。cosh(x)doubledouble求x的双曲线余弦。tanh(x)doubledouble求x的双曲线正切。toRadians(angdeg)doubledouble将角度angdeg转换为弧度值。toDegrees(angrad)doubledouble将弧度angrad转换为角度值。exp(a)doubledouble求ea。log(a)doubledouble求lna的值。log10(a)doubledouble求以10为底a的对数。sqrt(a)doubledouble求a的算数平方根。cbrt(a)doubledouble求a的立方根。pow(a,b)doubledouble求ab。round(a)floatdoubleint求最接近参数a的整数,如round(3.5)的值为4,round(-3.5)的值为-3。random()—double求大于等于0.0且小于1.0的伪随机数。abs(a)求a的绝对值。且返回值和参数a数据类型相同。max(a,b)求a和b中的较大者,且返回值和参数a数据类型相同。min(a,b)求a和b中的较小者,且返回值和参数a数据类型相同。signum(d)返回参数d的符号,且返回值和参数a数据类型相同。32字符串处理相关方法相关的类:java.lang.String类方法:通过String.方法名(参数);调用成员方法通过String对象.方法名(参数);调用2024/12/24李飞——计算中心33/35String类方法表2.14将其他数据类型转换为字符串的方法方法功能valueOf(b)返回参数b的字符串表示形式。valueOf(char[]data,intoffset,intcount)返回char数组中从第offset开始的count个字符所组成的字符串参数的字符串表示形式。valueOf(char[]data)返回char数组参数的字符串表示形式。34通过字符串对象调用的方法
表2.13通过字符串对象调用的方法方法名功能charAt(intindex)求字符串中第index个字符compareTo(Stringstr)按字典顺序比较str和调用方法的字符串对象,如果str等于此字符串,则返回0;如果此字符串小于str,则返回小于0的值;如果此字符串大于str,则返回一个大于0的值。concat(Stringstr)将str连接到此字符串的结尾。toLowerCase()把字符串全部转换为小写字符。toUpperCase()把字符串全部转换为大写字符。trim()去除字符串的前导空白和尾部空白。toCharArray()将字符串转换为一个字符数组。indexOf(Stringstr)求str在字符串中首次出现时的索引值。isEmpty()判断字符串是否为空。空则返回true。length()求字符串的长度。substring(intbeginIndex)求从beginIndex开始,到此字符串末尾的子字符串。substring(intbeginIndex,intendIndex)求从beginIndex开始,直到endIndex-1的子字符串。35类型转换相关方法Java通过一组类来完成各种基本数据类型之间的转换过。这些类以基本数据类型的名称为类名,所不同的只是类名的首字符大写,这种类称为基本数据类型的包装类。2024/12/24李飞——计算中心36/40常用的包装类Java.lang.IntegerJava.lang.ByteJava.lang.ShortJava.lang.LongJava.lang.DoubleJava.lang.FloatJava.lang.BooleanJava.lang.Character37常用的数据转换方法表2.16常用的数据转换方法方法名功能所属类parseInt(Strings)把字符串转换为整数。IntegerparseLong(Strings)将字符串转换为十进制long型数据。LongparseShort(Strings)将字符串转换为十进制short型数据。ShortparseDouble(Strings)将字符串转换为十进制double型数据。DoubleparseFloat(Strings)将字符串转换为十进制float型数据。FloatparseByte(Strings)将字符串转换为十进制byte型数据。ByteparseBoolean(Strings)将字符串转换boolean型数据BooleantoLowerCase(charch)返回参数的小写字符CharactertoUpperCase(charch)返回参数的大写字符Character38这些方法均为类方法,可用“所属类名.方法名(参数)”的形式调用小结标识符和保留字标识符的命名规则Java程序结构常量和变量声明、定义和初始化赋值数据类型运算符和表达式运算符的优先级与功能表达式的书写方法常用的类String,Math,基本数据类型的包装类2024/12/24李飞——计算中心39/402024/12/24李飞——计算中心40/40全国大学生信息安全竞赛参赛指南全国大学生信息安全竞赛参赛指南位运算运算符功能说明~按位取反10,01&按位与1&1=1,1&0=0,0&0=0^按位异或1^1=0^0=0,1^0=1|按位或1|1=1|0=1,0|0=0>>算术右移在移位中符号被复制,8<<2=2<<算数左移在移位中符号被
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年广东省普通高等学校招收中等职业学校毕业生统一模拟考试语文题真题(解析版)
- 寒冷性脂膜炎的临床护理
- 鼻窦压痛的健康宣教
- 2021年工业机器人行业埃斯顿分析报告
- 汗孔角化病的临床护理
- 声音嘶哑的健康宣教
- 糖原贮积病Ⅱ型的临床护理
- 《酒店礼仪知识培训》课件
- 黑色素沉着的临床护理
- JJF(陕) 041-2020 宽带采集回放系统校准规范
- 物业工作未来规划与展望
- 新制定《公平竞争审查条例》全文
- 人体漫游指南(山东联盟)智慧树知到期末考试答案章节答案2024年山东协和学院
- 数字电子技术(广东工业大学)智慧树知到期末考试答案章节答案2024年广东工业大学
- 突发事件的应急管理课件
- 手术室标本丢失的应急预案
- 四年级上册混合运算题大全1000题
- 中外美术评析与欣赏智慧树知到期末考试答案章节答案2024年湖南大学
- 公司驾驶员岗前安全培训
- 2023全国高考四套文言文真题挖空训练(答案)
- 2024年淄博星辰供水有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论