Java程序设计及移动APP开发第03章.pptx
- 文档编号:17402670
- 上传时间:2023-07-25
- 格式:PPTX
- 页数:58
- 大小:292.99KB
Java程序设计及移动APP开发第03章.pptx
《Java程序设计及移动APP开发第03章.pptx》由会员分享,可在线阅读,更多相关《Java程序设计及移动APP开发第03章.pptx(58页珍藏版)》请在冰点文库上搜索。
Java程序设计及移动APP开发,李高和张艳莉编著,西安石油大学,第3章Java语言基础,3.6字符串,3.2常量和变量,3.7思考和练习,3.3数据类型,3.1Java程序结构,3.5运算符和表达式,3.4基本数据类型转换,Java程序一般包括下列组成部分:
package语句:
Java程序的第一个语句。
最多是有一行。
import语句:
Java可以有0个或者多个import语句,位于类定义前。
类定义:
定义1个或者多个类。
接口声明:
定义0个或者多个接口。
3.1.1Java程序结构,3.1Java程序结构,packagePackage_1;importjava.util.*;publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=欢迎大家学习Java编程!
;System.out.println(str1);,3.1.1Java程序结构,3.1Java程序结构,用/表示单行注视。
表示本行后边的内容是注释。
例如:
sum=sum+1;/这里是累加提示:
光标放在注释行,按住Ctrl+/可以快捷地添加单行注释或者取消单行注释。
多行注释:
用/*/表示一行或者多行注释。
例如:
/*Java课程学习测试程序1*/,3.1.2Java程序注释,3.1Java程序结构,光标选择多行注释,右键选择Source-AddBlockComment快捷地添加多行注释,选Source-RemoveBlockComment取消多行注释。
3.1.2Java程序注释,3.1Java程序结构,文档注释:
用/*/表示文档注释。
例如:
/*authorAdministrator*/提示:
光标放到需要注释的文档中,右键选择Source-GenerateElementComment快捷地添加文档注释。
3.1.2Java程序注释,3.1Java程序结构,3.1.3Java程序关键字,3.1Java程序结构,Java的标识符是由字母、数字和下划线组成,并且第一个字符不能是数字。
标识符一般都是有含义的字符序列,当然这里是英语的字符序列。
这样可以望名知意。
因为编写的程序别人要阅读,或者等较长时间自己阅读,看到标识符就能够知道它原来的含义。
3.1.4Java标识符,3.1Java程序结构,包名称:
包名称一般采取小写字母,中间用点号隔开,例如com.antitheft.entity。
类名称:
类名称一般首字母大写,一般是多个单词的组合。
例如MobileUser。
接口名称:
接口名称的命名规则与类名称相同。
方法名称:
方法名称一般是多个单词的组合,第一个单词的首字母一般小写,其他每个单词的首字母大写。
例如,setNo。
变量名称:
变量名称一般为全小写的单词。
如height、width。
常量名称:
常量名称一般为全大写,单词之间用下划线隔开。
例如,MAX_WIDTH。
一般变量名称和方法名称不以下划线开始,以下划线开始的变量名称对系统来说有特殊含义。
3.1.4Java标识符,3.1Java程序结构,永远不变的量就称为常量。
例如:
finaldoublePI=3.1415926;,3.2.1常量,3.2常量和变量,程序中占绝大部分的量是变量。
无论在什么计算机程序中,都会涉及到变量。
变量分局部变量和全局变量。
(1)局部变量:
顾名思义,局部变量的作用范围在局部。
这个局部就是一个方法内或者一个函数内,甚至是方法内的某一部分。
超过这个范围,变量就失去作用。
例如:
3.2.2变量,3.2常量和变量,intsum=0;intn=100;for(inti=0;in;i+)intm=2;if(i%m=0)sum=sum+i;System.out.println(sum);,3.2.2变量,3.2常量和变量,程序中占绝大部分的量是变量。
无论在什么计算机程序中,都会涉及到变量。
变量分局部变量和全局变量。
(2)全局变量:
对应着局部变量,全局变量的作用范围就是全局,就是整个程序内。
例如:
3.2.2变量,3.2常量和变量,3.2.2变量,3.2常量和变量,publicclassClass_1staticintp=100;publicstaticvoidmain(Stringargs)inta=5;p=(int)(p+SumX(p,a);System.out.println(运行结果是:
+p);publicstaticlongSumX(intn,intm)intsum=0;for(inti=0;in;i+)if(i%m=0)sum=sum+i;returnsum;,Java中的数据类型分为基本数据类型和复合数据类型两大类。
简单数据类型是Java的基础类型,包括整数类型、浮点类型、字符类型和布尔类型。
复合数据类型由简单数据类型组成,是用户根据自己的需要定义并实现其运算的类型,包括类、接口、数组等。
习惯上,将八种基本数据类型分为四大类:
整数类型:
int、byte、short和long实数类型:
double和float字符类型:
char逻辑类型:
boolean,3.3数据类型,整数类型是Java中经常使用的类型,它是32位有符号的整数数据类型,范围是-231231-1。
默认类型是int。
整数常量整数常量的数值可以是:
十进制整数:
例如23,-52,0,127等。
八进制整数:
必须以0开头,例如012,056,0234,-012等。
十六进制整数:
必须以0x或者0X开头,例如0x1234,0x5A3B整型变量整数变量包括四种:
byte:
1个字节长度。
例如,bytea=2;short:
2个字节长度。
例如,shorta=2;int:
4个字节长度。
例如,inta=2;long:
8个字节长度。
例如,longa=2;long型数据数据过大时,数据后边必须要加L。
3.3.1整数类型,3.3数据类型,实数类型包括double和float。
实数默认类型是double型,float型在数值之后加f或者F。
实数常量实数常量通常有两种表现形式:
十进制数:
有数字和小数点组成。
如0.23,12.35,78.652等。
科学计数法:
23e-5,12E7,其中e或者E之前必须要有数字,并且e或者E后面的指数必须是整数。
按照中学数学表示,23e-5=23x10-5,12E7=12x107。
实数变量例如:
floata=26.58;doubleb=21.065;,3.3.2实数类型,3.3数据类型,3.3.3字符类型,3.3数据类型,unicode字符表中的一个字符就是字符常量。
例如A,a,),7。
一个汉字等字符也是一个字符常量。
注意这里一定是单引号。
Java还使用转义字符,也就是将字符的表面含义转变成了其他含义。
如表所示:
3.3.3字符类型,3.3数据类型,字符变量字符变量使用char定义,例如charc=b;char类型变量为unicode字符表中的一个字符。
一个unicode字符也占两个字节。
例如:
charc=98;/等同于charc=b因为b在unicode表中的排序位置是98。
逻辑常量true和false逻辑变量booleanm=false;,3.4逻辑类型,数据类型转换是一种数据类型转换成另外一种数据类型。
Java是一种强类型语言,这点类似于C+,而不是C语言。
数据类型的转换分为显式类型转换和隐式类型转换。
显式类型转换方式下,必须在程序中强制执行转换。
隐式类型转换方式下,编译系统在编译时自动进行类型转换。
inta=101;charm;m=(char)a;/显式转换:
将int变量a强制转换成char变量minta=102;floatm;m=a;/隐式转换:
将int变量a隐式转换成float变量m,3.5基本数据类型转换,一般高精度的变量需要转换成低精度的变量时,必须使用显式类型转换,这时可能还会有数据精度的损失。
例如:
inta=(int)34.23;char与byte或short之间的赋值必须实行强制类型转换。
例如:
bytem=15;shortn=23;charc1=x,c2=h;c1=(char)m;m=(byte)c2;n=(short)c1;,3.5基本数据类型转换,3.6.1算术运算符和表达式,3.6运算符和表达式,一般程序设计语言都会涉及到运算符和表达式。
包括算术运算符和表达式、关系运算符和表达式、逻辑运算符和表达式、赋值运算符和表达式、位运算符和表达式和综合表达式。
算数运算符Java算数运算符包括一元运算符和二元运算符。
一元运算符包括:
+a:
先做a=a+1运算,再取a的值-a:
先做a=a-1运算,再取a的值a+:
先取a的值,再做a=a+1运算a-:
先取a的值,再做a=a-1运算这里有一个记忆的方法:
谁在前,先完成谁的动作。
例如,+a,那么就是先运算a=a+1,再取a的值。
a+,就是先取a的值,再做a=a+1运算。
例如:
3.6运算符和表达式,例如:
d=4;inte=5;intf=6;intg=7;intu=d+;/u=4,d=5intv=e-;/v=5,e=4intw=+f;/w=7,f=7intx=-g;/x=6,g=6,3.6运算符和表达式,二元运算符包括:
+,-,*,/,%,即加,减,乘,除,求余(取模)。
在Java中乘号是*,没有中学数学的x号,因为这与字母x是相同的。
求余%不但可以对整数类型进行运算,而且可以对浮点类型数据进行运算,例如:
inth=26,j=5;intp=h%j;/p的值是1floatb=(float)12.7;floatc=(float)2.3;floatd=b%c;/d的值是1.2算数表达式,3.6运算符和表达式,算数表达式就是用算数运算符将变量和数据连接起来的符合Java语法规则的式子。
intd=4;inte=5;intf=6;intg=7;inth=d*(e+f)/(g-e);,3.6运算符和表达式,这里算数表达式计算时,可能会出现多种数据类型混合的运算。
这时,不同类型的数据首先要先转换成同一种类型,然后才能开始计算。
转换从低级到高级,也就是说一个表达式中精度最高的变量(操作元)的数据类型决定了表达式最终结果的数据类型。
例如:
intd=4;floatc=(float)2.36;floatb=c+d;/结果是float类型那么,变量的精度又是谁的最高,谁的最低呢?
精度高底是这样从低级到高级排序的:
byte-short-int-long-float-double,3.6.2关系运算符和表达式,3.6运算符和表达式,关系运算符是比较两个量的大小关系。
关系运算符的结果是boolean类型的数据。
当比较的关系成立,结果就是true。
结果不成立,就是false。
关系运算符有下面六种:
/大于=/大于等于/小于=/小于等于=/等于!
=/不等于,3.6.2关系运算符和表达式,3.6运算符和表达式,例如:
intsum=0;intm=2;for(inti=0;i100;i+)if(i%m=0)sum=sum+i;,逻辑运算符是实现真假的逻辑运算,这里基本的逻辑运算有“与”“或”“非”。
用Java的符号表示就是,3.6.3逻辑运算符和表达式,3.6运算符和表达式,3.6.4赋值运算符和表达式,3.6运算符和表达式,赋值运算符就是“=”,它是双目运算符。
它的含义是将右边的常量、变量或者表达式的值赋值给左边的变量。
如果左右两边的数据类型不一致,如果右边的数据类型级别高,则需要进行强制类型转换。
floatm=(float)23.56;intk=(int)m;复合赋值运算符复合赋值运算符是在赋值运算符之前加上其他运算符的运算符。
常见的复合赋值运算符有:
+=/例如,m+=3,相当于m=m+3-=/例如,m-=3,相当于m=m-3*=/例如,m*=3,相当于m=m*3/=/例如,m/=3,相当于m=m/3%=/例如,m%=3,相当于m=m%3,&(位与):
二元运算符,逻辑与,&两边的操作数都为1(true),则该位的结果为1(true),否则为0(false)。
|(位或):
二元运算符,逻辑或,|两边的操作数有一个为1(true),则该位的结果为1(true),只有两边的操作数都为0时,该位的结果才为0(false)。
(位非):
一元运算符。
对数据的每个二进制位按位取反。
1变0,0变1。
(位异或):
二元运算符,逻辑异或,两边的操作数互为相反,则该位的结果为1(true),否则为0(false)。
(右移):
二元运算符,(逻辑右移):
二元运算符,(右移)作用相同。
负整数则求该数的反码,但符号位不变。
3.6.5位运算符和表达式,3.6运算符和表达式,3.6.5位运算符和表达式,3.6运算符和表达式,例如,二进制10110101如果原数左移2位,高位移出,低位补0为:
11010100如果原数右移2位,低位移出,高位补0为:
00101101位运算比较复杂,一般用于针对底层的硬件编程。
3.6.6条件运算符,3.6运算符和表达式,条件运算符是一个3目运算符,具体的运算符是?
:
用法如下:
操作数1?
操作数2:
操作数3操作数1必须是boolean型数据,操作数2和操作数3必须同类型。
含义是:
操作数1的值为true时,整个条件表达式结果是操作数2;如果操作数1的值为false时,整个条件表达式结果是操作数3。
例如:
intp=7;intq=(p=0?
6:
8);/q的值是6,在Java中,除了单目运算符(如+-!
等)、赋值运算符(=)和3目运算符(?
:
)外,大部分运算符是从左向右结合运算的。
前者3个例外运算符是从右向左结合运算的。
加法和乘法运算是可以交换的运算。
运算符的运算是有优先级的,也就是说,是有运算顺序的,即谁先运算,谁后运算的问题。
比如在中学课程中我们规定:
先算乘除,后算加减,有括号的先算括号内的运算。
Java一样,系统也规定了运算的先后顺序,这个顺序就是运算的优先级。
比如说,Java规定了:
先算乘除,后算加减,有括号的先算括号内的运算。
表3-3是Java运算符的优先级。
3.6.7运算符的优先级,3.6运算符和表达式,3.6.7运算符的优先级,3.6运算符和表达式,3.6.7运算符的优先级,3.6运算符和表达式,在运算符的优先级方面,程序员有一条很重要规则:
为了避免去记忆谁的优先级高,谁的优先级低这些繁琐的计算级别,也便于编程和理解,一般将首先要计算的表达式放在括号内,并且可以括号嵌套括号,这样层层嵌套,就可以完成自己要表达的计算。
3.7.1字符串的初始化,3.7字符串,Java中使用new关键字来初始化字符串,并把它赋给变量,但是new出来的字符串目前是空字符串。
例如:
Stringstr1=newString();接下来再给这个字符串变量赋值:
str1=Hello,Java!
;可以二者合一:
Stringstr1=newString(Hello,Java!
);,字符串是由0个或者多个字符组成的有限序列,是编程语言中表示文本的数据类型。
String类中还提供了许多有用的方法供编程人员使用:
字符串索引返回String类型字符串指定索引位置的字符。
注意:
字符串中的索引号是从0开始的。
方法原型:
publiiccharcharAt(intindex);字符串连接将两个字符串连接在一起,得到一个新的字符串。
方法原型:
publicStringconcat(StringS);字符串比较比较字符串是判断两个字符串是否相同,相同返回true,不相同返回false。
方法原型:
publicStringconcat(StringS);,3.7.2Sting类,3.7字符串,3.7.2Sting类,3.7字符串,示例:
字符串索引publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=Javajiaocheng;System.out.println(str1.charAt(4);程序运行结果:
j,3.7.2Sting类,3.7字符串,示例:
字符串连接publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=Javajiaocheng;Stringstr2=_2018;Stringstr3=str1.concat(str2);System.out.println(str3);程序运行结果:
Javajiaocheng_2018,3.7.2Sting类,3.7字符串,示例:
字符串比较publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=Javajiaocheng;Stringstr2=_2018;Stringstr3=Javajiaocheng;System.out.println(str1.equalsIgnoreCase(str2);System.out.println(str1.equalsIgnoreCase(str3);程序运行结果:
falsetrue,3.7.2Sting类,3.7字符串,获得字符串长度得到字符串的整个字符长度个数。
方法原型:
publicintlengh();替换字符串就是使用一个字符(串)替换原来字符串中某个字符(串)。
字符替换的方法原型是:
publicStringreplace(charold,charnew);字符串替换的方法原型是:
publicStringreplace(Stringold,Stringnew);,3.7.2Sting类,3.7字符串,示例获得字符串长度publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=Javajiaocheng;Stringstr2=_2018;System.out.println(str1.length();System.out.println(str2.length();程序运行结果:
135,3.7.2Sting类,3.7字符串,示例:
替换字符串publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=Javajiaocheng;System.out.println(str1.replace(a,b);System.out.println(str1.replaceAll(jiao,xue);程序运行结果:
JbvbjibochengJavaxuecheng,3.7.2Sting类,3.7字符串,截取字符串有时候我们希望截取一个字符串中的一段字符串,使用的方法原型是:
第一种方法:
publicStringsubstring(intbegin);第二种方法:
publicStringsubstring(intbegin,intend);字符串大小写互换有时候我们希望把字符串中的字母转换成大写,有时候又希望转换成小写。
使用的方法原型是:
将大写字母转换成小写字母:
publicStringtoLowerCase();将大写字母转换成小写字母:
publicStringtoUpperCase);,3.7.2Sting类,3.7字符串,示例截取字符串publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=Javajiaocheng;System.out.println(str1.subtring(4);System.out.println(str1.substring(4,8);程序运行结果:
jiaochengjiao,3.7.2Sting类,3.7字符串,示例:
字符串大小写互换publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=JavaJiaoCheng;System.out.println(str1.toLowerCase();System.out.println(str1.toUpperCase();程序运行结果:
javajiaochengJAVAJIAOCHENG,3.7.2Sting类,3.7字符串,消除字符串前后的空格字符有时候我们希望把字符串前后的空格字符消除掉。
例如,用户输入时,可能不小心在字符串的前后输入了不必要的空格。
而这些空格输入后一般是看不出来的。
为了消除这些空格,使用的语句方法是:
publicStringtrim();,3.7.2Sting类,3.7字符串,示例消除字符串前后的空格字符publicclassClass_1publicstaticvoidmain(Stringargs)Stringstr1=newString();str1=JavaJiaoCheng;System.out.println(str1.trim();程序运行结果:
JavaJiaoCheng前后已经没有了空格。
StringBuffer类是Java中另外一种操作字符串的类。
当需要对字符串进行大量修改时,使用StringBuffer类是比较好的选择。
StringBuffer类的常用方法有:
追加字符使用的方法原型是:
publicsynchronizedStringBufferappend(booleanb);插入字符在原字符串中某个位置开始,插入一个字符串,形成新的字符串。
使用的方法原型是:
publicsynchronizedStringBufferinsert(intoffset,Strings);第一个参数表示要插入的位置,第二个参数表示要插入的内容。
3.7.3StringBuffer类,3.7字符串,3.7.3StringBuffer类,3.7字符串,颠倒字符颠倒字符是将原来字符串首位进行颠倒。
使用的方法原型是:
publicsynchronizedStringBufferreverse();,3.7.3StringBuffer类,3.7字符串,示例追加字符publicclassClass_1publicstaticvoidmain(Stringargs)StringBufferstr1=newStringBuffer(JavaJiaoCheng);str1.append(2018);System.out.println(str1);程序运行结果:
JavaJiaoCheng2018,3.7.3StringBuffer类,3.7字符串,示例插入字符publicclassClass_1publicstaticvoidmain(Stringargs)StringBufferstr1=newStringBuffer(JavaJiaoCheng);str1.insert(5,2018);System.out.println(str1);程序运行结果:
Java2018JiaoCheng,3.7.3StringBuffer类,3.7字符串,示例颠倒字符publicclassClass_1publicstaticvoidmain(Stringargs)StringBufferstr1=newSt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 移动 APP 开发 03