收藏 分销(赏)

java语言基础.ppt

上传人:精*** 文档编号:12884388 上传时间:2025-12-23 格式:PPT 页数:77 大小:1.17MB 下载积分:16 金币
下载 相关
java语言基础.ppt_第1页
第1页 / 共77页
java语言基础.ppt_第2页
第2页 / 共77页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,*,第2章 Java语言基础,主要内容:,掌握,Java程序结构、标识符、注释和分隔符,如何定义变量和常量,数组的定义与使用,选择分支语句、循环语句、跳转语句,基本类型,(特别注意字符型、浮点型),了解,运,算符及表达式、运算符的优先级、数据类型转换,2.1程序结构,package *;,import,*.*;,class 类名1 ,属性定义,方法名1(),-,方法名2(),-,class 类名2 ,-,Java,语言的源代码由一个或多个编译单元(compilation unit)组成,每个编译单元只能包含下列内容:,(1)一个程序包语句 (package statement),(2)导入语句 (import statements),(3)类的声明 (class declarations),(4)接口声明,(interface declarations),程序结构,每个Java语言的编译单元可包含多个类或接口,但是每,个编译单元最多只能有一个类或接口是公共的,每个编译单元就是一个以.java为后缀的Java语言源程,序文件,一个程序可包括若干个类,各类之间存在并列、继承,和包含关系。,编译后每个类产生一 个,.class文件。,包是每个Java系统用来组织类的组织,功能作用和来,源相关的类通常放在同一个包中,java的名字空间和包,作为一种在整个Internet上动态装载模块的语言,Java 特别注意避免名字空间的冲突。,所有的方法和属性都在类中定义,是类的组成部分。,每个类又是包的组成部分。,全限定名:包名.类名.方法名,import 打开一个包后,可直接指定该包中的类名。在本类中,可以直接使用方法名及属性名。,2.2 标识符、注释和分隔符,标识符,用来标记语言中元素名称,Java标识符的规则:,以字母、下划线或美元符$开头,字母、下划线、数字组成的序列,而且,标识符的长度任意,标识符分为两类:,保留字,用户定义标识符,保留字:,一律小写,abstract,double,int,strictfp,boolean,else,interface,super,break,extends,long,switch,byte,final,native,synchronized,case,finally,new,this,catch,float,package,throw,char,for,private,throws,class,goto,protected,transient,const,if,public,try,continue,implements,return,void,default,import,short,volatile,do,instanceof,static,while,true,false,程序设计者根据自己的需要定义的类、变量、方法、接口的名字。,用户定义标识符,注意:,1.禁止用保留字作为用户标识符;,2.遵守,先定义后使用,的原则。即只有定义了的标识符,,才可在语句部分使用。,合法标识符:,A,a1,$Systembol,square,ex_sa,不合法标识符:,1a,(以数字1开头),break,(禁止使用保留字),TWO WORDS,(含有空格),.NO,(有圆点),Java有三种注释形式:,“/”,单行注释:,表示从此向后,直到行尾都是注释。,“/*/”,块注释:,在“/*”和“*/”之间都是注释,块注释不能嵌套。,“/*/”,文档注释:,所有在“/*”和“*/”之间的内容可以用来自动形成文档。,2.2 标识符、注释和分隔符,空格、逗号、分号及行结束符称为分隔符,2.2 标识符、注释和分隔符,注意:,分隔符(逗号、分号等)不能是中文下的。,变量:,Java,的变量有两种:,局部变量、类成员变量,。,变量必须,先说明后使用,。,变量的说明形式如下:,类型,变量名表,int,k;String,ss,;Student st1;,HelloStudent,hs,;,当变量名列表中说明多个变量为同一类型时,变量名之间用逗号分隔,:,int,I,j,k,;,注意:,局部变量在使用前必须给定初值,否则,,Java,将不编译,而类成,员变量无此要求,。,2.3,变量与常量,习惯上,变量名以小写字母开头,若一个变量名由超过一个单词所组成,则第一个单词之后的所有单词都以大写字母开头,以便于理解该变量名。例如,anIntVar、myName,变量名,变量类型用于表述数据的格式和结构。,Java中的数据类型可分为两大类:,基本数据类型:,整数,浮点数,字符,布尔型,构造数据类型(引用类型):,Java 语言中构造类型用类来描述。,变量的类型,数据类型名,占用内存空间,数值范围,缺省值,说 明,byte,1字节,(-128)-127,0,整,型,short,2字节,(-32768)-32767,0,int,4字节,(-2147483648)-2147483647,0,long,8字节,(-92233728),-92233727,0,float,4字节,(3.4028347E+38),-(1.40239846E-45),0.0F,浮,点,型,double,8字节,(1.797693E+308),-(4.946544E-324),0.0D,char,2字节,u0000-uFFFF,u0000,字符型,boolean,1位,true,或,false,False,布尔型,基本数据类型表,注:缺省值就是默认的初值,只对成员变量有用.局部变量在使用前必须人为地给定初值,变量,变量类型 变量名,int I,j,i;,float a=3.0f,double b=3.0d或double b=3.0,boolean isFalse=true,char a=A,String s=“this is a book”,变量的作用域是指什么范围的程序可以访问该变量。,变量说明时就确定了其作用域。,变量按作用域分为:,类成员变量,方法参数,局部变量,变量的作用域,常量,常量是指在程序运行过程中其值不变的量。,常量的表示形式:,3,”,abc,”,a,4.5f,true,false,3.3,常量,2.4 基本类型和一维数组,整型,浮点型,布尔型,字符型,一维数组,采用不同的整数类型表达同一数值,在存储单元中的存储情况是不同的。下图表示的是数值20的不同存储形式:,00010100,byte 型,00000000,00010100,short 型,00000000,00000000,00000000,00010100,int 型,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00010100,long型,2.4.1 整型,整数变量有三种表示形式:,(1)十进制整数,(2)八进制整数,(3)十六进制整数,42 052 0 x2A 0X2a,Java缺省整数常量类型为int类型,如果要表示long 类型整数需要在整数后加上后缀 L 或 l,2.4.1.1 整数变量,整型变量类型有,int、short、long、byte,由于byte和short类型表示的数范围较小,不常使用。整型变量说明如下:,例3.2,int,anIntVar;,/说明变量anIntVar 是int整型,long,aLongVar=12345;/说明变量aLongVar 是long整,/型,并赋以初值12345,short,aShortVar;,/说明变量aShortVar是short整型,byte,aByteVar;,/说明变量aByteVar 是byte整型,2.4.1.2 整数变量,浮点型包括两种不同的实型:,float,和,double,。,1,Java缺省的浮点型常数,是double 型,2 如果要表示,float,型,要在数字后加后缀F或f。如果要表示,double,型,也可以在数字后加后缀D或d。,2.4.2 浮点型,浮点型有两种表示法:,(1)浮点型十进制表示法,-3.5f 0.0f 123.45f +678.9f,要注意,采用十进制表示法时,小数点的两侧都必须有数字,缺一不可,如+123和.56都是不合法的。,2.4.2.1 浮点型变量,(2)浮点型科学表示法:,-1.234567E+12 (-1.234567890110,12,),尾数,阶码,注意:,尾数必须有,但小数部分可无;,阶码必须有,必须是整数。,请看下列表示:,E-6 (缺尾数),3E (无阶码),2.E3 (尾数出错),2E1.2 (阶码非整数),2.4.2.1 浮点型常量,布尔数据类型用于表达逻辑状态:,布尔型数据只有两个值:true,和,false,。,注意:,Java中不可将布尔类型看做整型值。,2.4.3 布尔型,字符类型数据只有一个字符,采用,16位二进制Unicode 编码,表示。,3.4.4.1,字符型表示,字符用两个单引号括起来一个字符来表述。例如:,A,;a;,2,;,大;,2.4.4 字符型,字符型变量表述,转义字符,Java允许在字符串中出现转义字符,转义字符见下表,换码序列,名称,Unicode值,b,退格,u0008,t,Tab(制表),u0009,n,换行,u000a,r,硬回车,u000d,”,双引号,u0022,单引号,u0027,反斜杠,u005c,字符串常量,一个字符串常量是括在两个,双引号,之间的字符序列。若两个双引号之间没有任何字符,则为空串。,以下是字符串的一些例子:,This is a string constant,JAVA,You see,Java语言把字符串常量当作String类型的一个对象来处理,以后有详细介绍。,2.5 运算符及表达式,运算符,表达式,表达式是由,操作数,和,运算符,按一定语法形式组成的符号序列,以下是合法的表达式例如:,a+b (a+b)*(a-b)“name=”+“李明”,每个表达式经过运算后都会产生一个确定的值。一个常量或一个变量是最简单的表达式。表达式作为一个整体(如同一个操作数)还可以看成一个操作数参与到其他运算中,形成复杂的表达式。,2.5.1 表达式,运算符表明对操作数的运算方式。,运算符按其要求的操作数个数分为:,1.一元运算符 如 +、-,2.二元运算符 如 +、-、*、/、%,3.三元运算符 如?:,运算符按其功能分为七类:,1.算术运算符 +、-、*、/、%、+、-,a+(a=a+1),2.关系运算符 、=、&、|、,5.条件运算符?:,6.赋值运算符 =、+=、-=,7.其他:分量运算符.、下标运算符、实例运算instanceof,2.5.2 运算符,单元运算符,如,+,(一元加,取正值)、,-,(一元减,取负值)、,+,(自加)、,-,(自减),双元运算符,如,+,(加)、,-,(减)、,*,(乘),/,(除)、,%,(取余数)。,2.5.3 算术运算符,1 单目运算(一元运算),int x=10,y1,y2;,y1=+x;/x先加1,再赋于y1,y2=x+;/x先赋于y2,再自增1,2.5.3 算术运算符,2 双目运算符:,%,(1)操作数可以是整型,实型,字符型,(2)运算的结果为 int,long,float,double,例:a%7.5;,8%3;,4%3.0;,1,关系运算符有七种:,=,,,!=,,,=,instanceof,(对象运算符),操作数:,=,和,!=,可作用于所有简单型别身上;,instanceof,用来确定一对象是否是某一指定类的对象。,2.5.4 关系运算符,1,逻辑运算符:,!,(非),,&,(与),,|,(或),,(异或)。,这些运算符要求的操作数和结果值都是布尔型。,2 逻辑运算的直通计算:,表达式后面对计算布尔值没有作用的部分忽略掉,2.5.5 逻辑运算符,1 位运算符用来操作基本整数类型中的二进制位。,按位取反,&,按位与,|,按位或,按位异或,有符号二进制右移一定位,无符号二进制右移一定位,2.5.6 位运算符,2 boolean值被视为单一的位,可以执行&,|,三种位运算,赋值运算的表述,注意:,赋值运算符“,=,”与数学的等号含义不同。,变量名=表达式;,例:x=4;,算术运算符,位操作符和赋值运算符结合起来,形式如下:,+=、-=、*=、/=、%=,例:x+=y 等价于 x=x+y,2.5.7 赋值运算符,Java 中唯一的三元运算符,其格式如下:,变量=?:,含义是:,当为真时,变量的值为的值,,否则为的值。,举例(见下页):,2.5.8 条件运算符,public class,sss,public static void,main(String args),int,x=20;,int absX=x0?x:-x;,/如x0,absX等于x,否则等于x的相反数,System.out.println(“x的绝对值:”+absX);,2.5.8 条件运算符,2.6 运算符的优先级,优先级,运 算 符,类 型,1,(),2,+、-、+、-、!、,单目运算符,3,*、/、%,算术运算符,4,+、-,算术运算符,5,、,移位运算符,6,、=,关系运算符,7,=、!=,关系运算符,8,&,逻辑运算符,9,逻辑运算符,10,?:,条件运算符,11,=、+=、-=、*=、/=、%=、=,赋值运算符,12,&=、|=、=、=,表达式写法的习惯:,(1)除非是简单的直观运算,应该尽量使用括号,(2)尽量不要写太长的表达式,过长的表达式容易引起对求值次序的误解。,(3)有时为了表达清楚,可以引进多余的括号,2.6 运算符的优先级,2.7 数据类型转换,自动类型转换,强制类型转换,Java,中整型、实型、字符型数据可以混合运算。,运算过程中,不同类型的数据会自动转换为同一类型。,自动类型转换原则,:,从低数据类型向高数据类型转换,即:,(,byte,char),short,int,long,float,double,注意:,布尔型与其它基本类型之间不能转换,举例:,3+4.5=3.0+4.5=7.5,2.7.1 自动类型转换,形式为:,(类型名)表达式,例如:,long l=156,;,byte,b;,b=(,byte,)l;,2.7.2 强制类型转换,注意:,1.,一般使用强制类型转换可能会导致数值溢出或精,度的下降,应尽量避免。,2.布尔型与其它基本类型之间不能转换,2.8 简单语句和复合语句,变量说明语句,赋值语句,方法调用语句,空语句,标准输入输出,复合语句,语句是程序的基本组成单位。,一个基本的,简单语句总是以分号结尾的,。,变量说明语句用来声明一个变量,变量说明语句的格式为:,类型 变量名,1,变量名,2,;,例:,char,c=a;,int,i=1;,2.8.1 变量声明语句,2.8.2 赋值语句,赋值语句是将表达式的值赋给变量,其格式为:,变量=表达式;,例:,char,c;,c=a;,方法调用语句的一般形式为:,对象,.,方法名(实参数列表);,例如:,System.out.println(“,Example,!”);,2.8.3 方法调用语句,2.8.4 空语句,空语句是什么都不做的语句,其形式为:,;,/这是一条空语句,2.9 数组,数组类型属于,复合数据类型,,它是由类型相同的元素组成的有顺序的数据集合。,特点:,元素类型相同;,元素有顺序;,所有元素共用一个名称。,2.9.1第一步 数组的声明:,格式:数组元素类型,数组名;,数组元素类型,数组名;,举例:,int myarray;,double array_double;,String str;,Point P;,注意:,声明数组时不能指定其长度 int a3;,2.9.2第二步 创建数组空间:,在,Java,语言中,声明数组时不能指定它的长度,而是利用,new,来为数组型变量分配内存空间,我们将其称之为创建数组。,myarray,=new int10;,array_double=new double1000;,String,str,=new String10;,注意:数组创建后,系统自动为数组元素赋初值。,2.9.3,第三步 数组的初始化:,数组元素赋值:,myarray0=2;myarray1=5;,数组元素的默认初值:,整型:0,实型:0.0f 或 0.0d,字符:0,类对象:null,数组声明、创建空间、赋值一次完成,:,int array_int=1,2,3,4,5,6,7;,String str=“Fortran”,“QBasic”,“Pascal”;,2.9.4 数组的内存,栈内存,和,堆内存,int x;,x=new int100;,x=null;,的内存状态变化情况,2.9.5,数组元素的使用:,1 声明:int x;,2 分配空间:x=new int10;,3 赋值:x0=3;x4=8;,for(int i=0;i10;i+),xi=i;,使用数组时要注意的问题:,空指针异常没有分配空间就使用,如何得到数组长度?数组名.length,数组越界异常下标越界,2.9.6,多维数组:,如何理解多维数组?,Java中没有真正的多维数组,只有数组的数组。Java中只有数组的数组。,定义一个多维数组:,int xx;,xx=new int3;,xx0=new int3;,xx1=new int2;,多维数组例子,int intArray=new int33,int intArray=new int3,intArray0=new int1;,intArray1=new int3;,intArray2=new int2;,多维数组:,多维数组中元素的引用方式:x12,规则的多维数组可以在一条语句中产生:,int s =new int12;,多维数组的静态初始化:,int xx=3,2,7,1,5,6;,不出现new,将相关语句组合在一起就构成复合语句,复合语句由 括起来,内的每条语句的语法与上面介绍的一样。,也叫一个语句块。,2.11,复合语句,2.12,Java的,流程控制语句,结构化程序设计的三种基本控制语句,顺序,按语句,书写的先后顺序,执行,选择,在若干路径中,有条件地择一,执行,循环,当某条件成立时,,反复执行,一段代码,2.12.1,if条件语句,if(条件),语句块;,else,语句块;,多重嵌套的,if,语句,if(,条件,1),语句块,1,;,else if(,条件,2),语句块,2,;,else if(,条件,3),else,语句块,n,;,语句块,用,大括号,括起的,语句集合,else,与最近的,if,配合,2.12.2,switch,选择结构,switch,(表达式),case,常量1:语句块1;,.,case,常量n:语句块n;,default,:语句块n+1;,switch的例子SwitchDemo.java,使用switch语句需要注意:,表达式必须是符合,byte、char、short和int类型,的表达式,而,不能使用,浮点类型或long类型,也不能为一个字符串;,要有用于跳转的,break,语句;,switch语句中的每个case子句都必须对应一个,单值,。,2.12.3,循环结构while,格式:,while,(,循环条件,),循环体,含义,:当循环条件为,true,时,重复执行循环体。,int,x=2;,while(x7),System.out.println(“x,=”+x);,x+;,注意:,while,表达式的括号后面一定不要写“;”,2.12.4,循环结构 do,格式:,do,循环体,while(,循环条件,);,含义,:重复执行循环体,直到循环条件为,false,。,2.12.5,循环结构for,格式:,for,(,表达式1;表达式2;表达式3),循环体;,表达式1:,循环初值,表达式2:,布尔型表达式,循环条件,表达式3:,循环增量表达式,2.12.5 控制转移语句,break,语句:,使程序的流程从一个语句块内部转移出去。通常在,switch,和循环语句中使用。,continue,语句,:只能在循环语句中使用。其作用是终止当前这一轮的循环,直接进入下一轮的循环。,Java的转移语句,Java,没有goto语句,break,从一个封闭的语句块中,如switch、循环体中跳出来,break 标号,从包含本break语句的标号指示的封闭语句中跳出来。,while(e1)aaa:while(e1),while(e2)while(e2),break;break aaa;,Java的转移语句,break语句:,不带标号break 语句,从循环体内跳出至后面语句,结束当前循环体。,循环嵌套时,break 语句只跳出当前循环体。,带标号的,break语句,采用,label:的形式定义标号,跳出标号标志的循环体,Java的转移语句,continue,语句须用在循环结构中,continue 不带标号,提前结束本次循环,即跳过后面的循环体语句,回到循环的条件测试部分继续执行。,continue 带标号,跳过循环剩余语句,直接进入标号所指的循环体的,下一轮循环。,continue不是goto 语句,标号不能指向与本循环并,列的其他循环,也不可指向非循环语句。,循环的正常退出途径:符合结束条件,Java的转移语句,label1:,outer-iteration,inner-iteration,.,break;/1,.,continue;/2,.,continue label1;/3,.,break label1;/4,ContinueDemo.java,例:求2100的素数,每行打印5个数字,import java.io.*;,public class prime ,public static void main(String args),First_Loop:for(int i=2,k=0;i100;i+),for(int j=2;j=Math.sqrt(i);j+),if(i%j=0),continue First_Loop;,System.out.print(i+t);,k+;,if(k%5=0),System.out.println();,/for,/main,/class,作业:,1、定义数组int a=3,40,12,26,55,23,用for循环将a的元素按照从小到大排列,并打印到屏幕上。,2、编写程序,在main函数里分别定义int,char,float,double,bool型变量,并将各变量输出到屏幕上,(要求以上2个程序能够真正运行),此课件下载可自行编辑修改,供参考!,感谢您的支持,我们努力做得更好!,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服