当前位置:网站首页 > Java基础 > 正文

java基础编程教学



《Java编程基础》幻灯片本课件PPT仅供大家学习使用学习完请自行删除,谢谢!本课件PPT仅供大家学习使用学习完请自行删除,谢谢!《Java编程基础》幻灯片本课件PPT仅供大家学习使学习目标

学习Java编程基础,使学生能比较快速地进入学习Java编程环境,为以后熟练地应用开发工具进行试验和验证各种技术细节打下良好的基础。学习目标学习Java编程基础,使学生能比较快速2本章知识点

数据类型常量、变量、表达式数据类型的转换数组流程控制语句本章知识点数据类型32.1数据类型Java语言的数据类型可以分为两大类:根本类型〔primitivetype〕和引用类型〔referencetype〕。Java数据类型基本类型整型浮点型字符型布尔型引用类型数组接口类2.1数据类型Java语言的数据类型可以分为两大类:根本42.1数据类型数据所占存储空间的大小是以字节为单位。数据类型所占字节表示范围long(长整型)8-~int(整型)4-~(-231~231-1)short(短整型)2-32768~32767(-215~215-1)byte(位)1-128~127(-27~27-1)char(字符)10~255boolean(布尔)1布尔值只能使用true或falsefloat(单精度)4-3.4E38~3.4E38double(双精度)8-1.7E308~1.7E3082.1数据类型数据所占存储空间的大小是以字节为单位。数52.2常量、变量、表达式

常量

变量

数值类型之间的转换以及混合运算

表达式

运算符的优先级2.2常量、变量、表达式常量6常量1.整数类型常量2.浮点型常量3.字符型常量4.字符串常量5.布尔型常量常量1.整数类型常量71.整数类型常量在Java中,整数的数据类型可以分为long、int、short和byte四种类型。整型的取值范围参见下表。

类型存储位数值范围单精度(float)4(bits)-3.4×1038~3.4×1038双精度(double)8(bits)-1.7×10308~1.7×.整数类型常量在Java中,整数的数据类型可以分为long82.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是非常严格的。使用整数不能很好地表现数据的准确性,这种情况下就引入了浮点型。浮点型就是可以带小数点的数据类型。〔1〕表示形式浮点型有两种表示形式:小数点形式(如:12.37,-0.5946)和指数形式〔如2.5E4,2.1E-4〕〔2〕单精度和双精度常数的表示方法Java语言在使用浮点数数据时默认的类型是double类型,如果要指定是float或double型常数时,可以在常数的后面加上F(f)或D(d),如单精度表示12.37F,双精度数表示:-0.5946D。2.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是93.字符型常量Java采用Unicode编码系统,这样就可以在多平台的系统中安心使用而不必担忧在程序移植中出现问题。Java的字符型常量的表示形式有4种,分别是:〔1〕用单引号括起来的单个字符,这些字符包含在Unicode字符集中,如'A','a'。〔2〕Java字符集中还包括一些控制字符,但这些控制字符是不能显示的,可以通过转义字符来表示。〔3〕用单引号括起来的八进制Unicode字符,形式是'ddd',其中d的范围是0~7,表示数值的范围在八进制的000~777之间,它只能表示局部Unicode字符内容。如'023'。〔4〕用单引号括起来的十六进制Unicode字符,形式是'啑',u字符后面带4位十六进制数,它可以表示全部Unicode字符内容。如'⫳'。3.字符型常量Java采用Unicode编码系统,这样就可以104.字符串常量字符串常量是用双引号括起来的由0个或多个字符组成的一个字符序列,字符串可以包含有转义字符。如“Howareyou?〞、“Goodafternoon 〞。转义字符功能Unicode码b退格 水平制表 换行 f换页 回车 4.字符串常量字符串常量是用双引号括起来的由0个或多个字符组115.布尔型常量布尔型变量的取值只有true〔真〕和false〔假〕两种,它表示逻辑的两种状态。

归纳注释:Java是一种面向对象的语言,应将所有的数据类型都封装成类,应使用与类或对象有关的引用类型。但是,由于这些简单数据类型应用得十分广泛,已被广大程序员所接受,所以为了提高效率和简化编程,

Java也就允许使用这些与面向对象无关的基本数据类型。当然这些基本数据类型都有对应的类,在定义数据时也可以使用这些类去定义。例如,对应基本的double类型,存在一个Double类;对应基本的char类型,存在一个Character类等。5.布尔型常量布尔型变量的取值只有true〔真〕和false12变量变量就是在程序运行过程中其值可以被改变的量。变量蕴涵有两个含义,其一是变量的名称;其二是赋给变量的值。变量名称就是用户自己为变量定义的标识符,而变量的值那么是存储在用变量标识符所标记的存储位置处的数据。在程序设计过程中,要想使用变量,首先要对变量进展声明,声明有两点:第一是声明变量的名称;第二是声明变量的数据类型。声明的一般格式如下:类型名变量名1[,变量名2][,……]或类型名变量名1[=初值1][,变量名2[=初值2],…….]其中方括号中的内容为可选项。

变量要先经过声明,然后就可以对变量进行赋值和使用,如果没有对变量赋值就使用,程序就会出现语法错误。变量类型名包括整数类型、浮点类型、字符类型、字符串和布尔型等类型。变量变量就是在程序运行过程中其值可以被改变的量。变量蕴涵有两13数值类型之间的转换以及混合运算

Java语言中对变量定义时需要指名其数据类型,然而在Java中允许对变量的类型进展转换。变量的数据类型转换是指在同一表达式中的各种不同的数据类型之间所进展的转换。数据类型的转换分为“自动类型转换〞和“强制类型转换〞两种。1.自动类型转换自动类型转换是需要符合以下两个条件:〔1〕转换前的数据类型与转换后的数据类型兼容。〔2〕转换后的数据类型比转换前的数据类型表示的范围大。查看例2.1不同整数数据类型的转换数值类型之间的转换以及混合运算Java语言中对变量定义时需14数值类型之间的转换以及混合运算

2.强制类型转换强制类型转换分为两种:一种是为了保证计算的精度,对数据类型进展转换,它与自动类型转换不同的是强制类型转换表达式中的变量类型是一样的,如两个整型数据类型进展除法运算,所得的结果应该不是整型才能保证计算的精度,所以要对数据类型进展强制转换;另一种是不需要精度要求,不让系统进展自动转换处理,如两个数据类型一个是int类型,另一个是float类型,所得的结果按照前面所讲内容应该是float类型,但是如果不想要小数点后面的数据,那么就要进展强制数据转换。查看例2-2强制整数数据类型的转换数值类型之间的转换以及混合运算2.强制类型转换15例:

floatx=2.7f;inty=(int)x;

floatz=x;问:1、z=?,y=?2、Java程序实现?例:16表达式表达式是用运算符把操作数〔变量、常量和方法等〕连接起来表达某种运算或含义的式子。其中运算符是对操作数进展运算的符号,如数学上的加号“+〞就是一个运算符,它是算术运算符。系统在处理表达式后根据处理结果返回一个值,该值的类型为表达式的类型。例如:intc=10+20;运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符等。表达式是包含运算符和操作数的算式,它操作的对象叫操作数,而操作是通过运算符来实现的。一个表达式可能同时包括多个操作,而操作的顺序是由各运算符的优先级及括号来决定的。也就是说有括号先进展括号内的操作,否那么按运算符的优先级次序运算。表达式表达式是用运算符把操作数〔变量、常量和方法等〕连接起来17表达式如果表达式包含有逻辑运算符和逻辑变量,我们称为逻辑表达式,所得结果是逻辑型常数。表达式通常有计算结果,通过赋值运算符将结果赋给运算符左面的变量。表达式是通过运算符将操作数连接起来组成的,下面来讲解运算符。1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符表达式如果表达式包含有逻辑运算符和逻辑变量,我们称为逻辑表达181、算术运算符算术运算符是数学上最常用的一类〔种〕运算符,Java语言为浮点数和整型数提供了多种算术操作符,包括+、-、×、/等。在表达式中,由于算术运算符中操作数数目的不同,算术运算符可以分为一元运算符和二元运算符。二元运算符是指算术运算符的两侧都有操作数。二元运算符如下表所示。运算符操作说明+操作数1+操作数2求和-操作数1-操作数2求差*操作数1×操作数2求积/操作数1/操作数2求商%操作数1%操作数2取余1、算术运算符算术运算符是数学上最常用的一类〔种〕运算符,191、算术运算符一元运算符是指运算符只需要一个操作数。一元运算符如下表所示。运算符操作说明++操作数++或++操作数操作数+1――操作数――或――操作数操作数-1--操作数操作数取反说明:a++与++a的区别:a++在使用a之后,使a的java基础编程教学值加1,因此执行完a++之后,整个表达式的值为a,而a的值变为a+1。++a在使用a之前,使a的值加1,因此执行完++a之后,整个表达式和a的值都为a+1。i--和--i也是同样的道理。1、算术运算符一元运算符是指运算符只需要一个操作数。一元运202关系运算符所谓关系是指将两个操作数通过某种关系关联在一起。如x>y,我们称x大于y,这就是关系。表达关系的运算符就是关系运算符,包括:运算符>、>=、<、<=、==、!=。

运算符操作举例含义>操作数1>操作数2x>yx大于y>=操作数1>=操作数2x>=yx大于等于y<操作数1<操作数2x<yx小于y<=操作数1<=操作数2x<=yx小于等于y==操作数1==操作数2x==yx等于y!=操作数1!=操作数2x!=yx不等于y注意:“==”运算符与“=”运算符是不同的,前者是关系运算符,而后者是赋值运算符,一定要注意它们之间的区别。由关系运算符组成的表达式最终的结果是一个逻辑值,它可作为程序设计中的条件判断语句。如:if(x>y)就是一个条件判断语句,关系运算符两边有两个操作数x、y。关系运算符是将运算符两边的操作数进行判别,看是否为“相等”、“大于”、“小于”等“关系”,是一个关系表达式,最后结果为布尔型值。2关系运算符所谓关系是指将两个操作数通过某种关系关联在一213逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符的运算结果是布尔型值,而逻辑运算的操作数和运算结果都是布尔型值。包括:&、|、!、^、&&、||。运算符运算举例含义&与x&yx,y都为真时结果才是真|或x|yx,y都为假时结果才是假!非!xx为真时结果是假,x为假时结果为真^异或x^yx,y都为真或都为假时结果为假&&条件与x&&yx,y都为真时结果为真。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行||条件或x||yx,y都为假时结果为假。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行3逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符224位运算符位运算是指对整数的二进制表示中的每一位进行操作,所得的结果一定是整数。包括:~、&、|、^、

<<、>>、>>>4位运算符位运算是指对整数的235赋值运算符Java语言中,赋值运算作为一种运算符来处理的,赋值运算的一般形式:变量名=表达式;其中“=〞是赋值运算符。赋值运算符不能理解为过去数学学过的等号概念,它实质上是将赋值运算符右面的数据或表达式的值赋给赋值运算符左面的变量。5赋值运算符Java语言中,赋值运算作为一种运算符来处理245赋值运算符运算符运算举例含义运算符运算举例含义+=加法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赋值运算符还可以与二元算术运算符、逻辑运算符和位运算符组合成简捷使用方式,如下表所示。5赋值运算符运算符运算举例含义运算符运算举例含义+=加法25条件运算符格式:表达式1?表达式2:表达式3运算过程:先计算表达式1的值,假设表达式1的值为true,那么条件表达式的值为表达式2的值;假设表达式1的值为false,那么条件表达式的值为表达式3的值。问:求y=|x|,该怎么表达?解:y=x>0?x:-x条件运算符格式:表达式1?表达式2:表达式326运算符的优先级所谓优先级是指当一个表达式中出现多个不同运算符时,执行运算的先后次序。如右表所示。运算符描述优先级结合性.[]()域,数组,括号1从右至左++---!~一元操作符2*/%乘,除,取余3+-加,减4<<>>>>>位运算5<<=>>=逻辑运算6==!=逻辑运算7&按位与8^按位异或9|按位或10&&逻辑与11||逻辑或12?:条件运算符13=*=/=%=+=-=<<=>>=>>>=&=^=|=赋值运算14运算符的优先级所谓优先级是指当一个表达式中出现多个不同运算符272.3数组数组是有序数据的集合,数组中的每个元素具有一样的数组名,根据数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组,使用时要先声明后创立。一维数组的声明一维数组的创立与赋值多维数组2.3数组数组是有序数据的集合,数组中的每个元素具有一样28一维数组的声明数组是Java语言中的特殊数据类型,它们保存着能通过下标索引来引用的一组同类数据。一维数组是指一个线性数据序列,声明方式为:数据类型数组名[];或数据类型[]数组名例如:intarr1[];char[]arr2;声明了两个数组,arr1是整型数组,arr2是字符型数组。说明:其中“数据类型〞可以是Java中任意的数据类型,“数组名〞为一个合法的标识符,“[]〞指明该变量是一个数组类型变量并且是一维的。Java在数组的定义中并不为数组元素分配内存,因此“[]〞中不用指出数组中元素的个数即数组长度,而且对于如上定义的一个数组暂时还不能访问它的任何元素。一维数组的声明数组是Java语言中的特殊数据类型,它们保存着29一维数组的创立与赋值定义数组后,还必须为数组分配内存、初始化。这有两种方法。1.用运算符new分配内存再赋值格式:数组名=new数据类型[size]其中,size指明数组的长度。如:intintArr[]=newint[2];charchArr[]=newchar[5];上述语句将数组的声明和创立放在一起,第一条语句声明了一个整型数组并分配了3个整型数据所占据的内存空间,顺序为intArr[0],intArr[1]。第二条语句声明并分配了5个char型变量所占据的内存空间。数组元素赋值的方法与变量一样,如:intArr[0]=10;intArr[1]=20;注意下标是从第一个元素的0开始,到数组长度减1。一维数组的创立与赋值定义数组后,还必须为数组分配内存、初始化30一维数组的创立与赋值2.直接赋初值并定义数组的大小第二种方法是直接赋初值并定义数组的大小。初值必须用大括号括起,用逗号作分隔符,初值的个数表示数组的大小。例如:inta[]={1,2,3,4,5,6,7,8,9,10};charc[]={′a′,′b′,′c′,′北′,′京′}查看例2.3一维数组的使用。一维数组的创立与赋值2.直接赋初值并定义数组的大小31多维数组〔略〕与C++一样,Java将多维数组看作数组的数组。例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。查看例2.4二维数组的使用。多维数组〔略〕与C++一样,Java将多维数组看作数组的数组322.4流程控制语句任何一门面向对象的语言都必须以构造化程序设计为根底,面向对象语言中的根本模块都是用构造化程序设计的编程来实现的。构造化程序设计有3种根本的流程构造:顺序、分支和循环,如以下图所示。顺序执行结构是最简单的程序流程,它不需要控制语句,而分支控制结构和循环控制结构都是比较复杂的程序流程,它们需要专门的控制语句。所谓分支控制结构是根据条件来判断执行哪一组语句,如前面已经讲的条件运算符(?:)就是实现分支控制的运算符,Java语言还提供了两个专门的独立控制语句:if语句和Switch语句。Java语言提供了3个专门的循环控制语句:for语句、while语句和do…while语句。2.4流程控制语句任何一门面向对象的语言都必须以构造化程332.4流程控制语句分支语句循环语句特殊的控制流语句2.4流程控制语句34分支语句1.if语句if语句是实现“二选一〞的选择语句,它有两种形式。第一种形式:if(条件表达式)语句组;如:if(x<0)x=y;第二种形式:if(条件表达式)语句组1;else语句组2;条件语句if…else,只要“条件表达式〞值为真,就执行其后的“语句组1〞,否那么就执行else后的“语句组2〞。注意else局部可选也可不选,,不选就是第一种情况。2.switch分支构造switch是多分支的开关语句,其构造为:switch〔条件表达式〕{casen1(判断值1):语句组1;break;casen2(判断值2):语句组2;break;…default:语句组;break;}查看例2.5一个条件语句if…else的例子和例2.6一个switch分支构造的例子

条件表达式的类型必须为整型或字符型;

n1,n2,…必须为常量;

default语句是可选的;

break语句用于退出

switch,若无则程序将不再比较而是依次执行所有语句。switch分支结构实际上也是一种if…else结构不过它在编码时很容易写出判断条件,特别有很多选项的时候,它把括号里变量的值同每种情况列出的值作比较,如果相等,就执行后面的语句,如果不等,就执行default语句。在switch语句中,通常在每一种case情况后都应使用break语句,否则,第一个相等情况后面所有的语句都会被执行,这种情况叫做落空。分支语句1.if语句条件表达式的类型必须为整型或字符型;35循环语句

Java的循环语句分为3种:

1.for循环

2.while循环

3.do…while循环结构循环语句Java的循环语句分为3种:361.for循环Java语言的for语句的语法格式是:For(初始语句;逻辑表达式;迭代语句){语句组;}for语句的语义是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。这个过程一直进展下去,直到逻辑表达式的值为假时,循环完毕,转到for之后的语句。for循环构造在实现顺序递增直到到达某一极限的循环时是一个强有力的工具,for语句的格式要求把一个变量和一个确定的极限作比较,当到达极限时,中止循环。

初始语句和迭代语句中可以含有多个语句,各语句间以逗号分隔。

for语句括号内的3部分都是可选的,逻辑表达式为空时,默认规定为恒真。1.for循环Java语言的for语句的语法格式是:初始语371.for循环例如:for(i=0;i<10;i++){语句组;}在这个例子中变量i被设为0;第二个表达式i<10,指出循环何时完毕,对0~9的数值表达式都为真〔这就是说循环应该继续〕;最后的表达式i++指出循环每次对变量做什么,在例子中,循环使i〔0~9〕共10次执行循环体。

注意(1)初始语句可以是以逗号分开的多个语句,并且按照从左到右的顺序逐个执行。(2)迭代语句后面不能加分号。(3)三个表达式都可以为空。(4)若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。(5)若逻辑表达式或迭代语句为空,则循环体为无条件循环。(6)for语句可以嵌套。1.for循环382.while循环while循环先判断逻辑表达式的值是否为真,假设为真,那么执行给定的循环体语句,直到表达式的值为假。while循环的形式如下:while〔逻辑表达式〕{语句序列;//循环体}while循环的执行过程为:首先求逻辑表达式的值〔称为循环条件〕,如果为true,那么执行语句序列〔也称循环体〕。第二次循环又重新求逻辑表达式的值,判断循环条件是否成立,假设还为true,再执行一遍循环体,这时第二次循环执行完毕。重复这个过程,直到循环条件为false,这时退出while循环的执行,控制权转移到while语句后。当循环体只有一条语句时,花括号可以省略。2.while循环while循环先判断逻辑表达式的值是否为真393.do…while循环构造do…while循环先执行给定的循环体语句,然后检查表达式,假设表达式值为假那么跳出循环,这种控制并不是很常用,但有时却非常重要,使用时注意结尾处while语句后的分号。do…while循环的形式如下:do{语句序列; //循环体while(逻辑表达式);do…while循环的执行过程是:首先执行循环体,一旦循环体执行完毕,求逻辑表达式的值,假设为true,那么再执行循环体;循环体执行完毕后,重新求逻辑表达式的值,假设仍为true那么再执行一遍循环体。重复这个过程,直到逻辑表达式的值为false,退出do…while循环,控制权转移到do…while语句后。3.do…while循环构造do…while循环先执行给定40特殊的控制流语句Java语言抛弃了有争议的goto语句,代之以特殊的控制流语句:break和continue语句,它们用在分支语句或循环语句中,使得程序员更方便地控制程序执行的方向。1.标号〔label〕标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中遇到break后面有标号时,不管其他控制变量如何,都会终止标号的循环体。标号可以放在for,while或do语句之前,其语法格式为:标号:语句;2.breakbreak语句可用于switch,for,while及do语句中。它的语义是跳过本代码块中余下的所有语句,转到块尾,执行其后的语句,如果break后面有标号,会终止标号的循环体。查看例2.10break循环举例特殊的控制流语句Java语言抛弃了有争议的goto语句,代之413.ContinueContinue语句必须用于循环构造中,它有两种使用形式。一种是不带标号的continue语句,它的作用是终止当前这一轮的循环,跳过本轮剩余的语句,直接进入当前循环的下一轮。在while或do…while循环中,不带标号的continue语句会使流程直接跳转至条件表达式。在for循环中,不带标号的continue语句会跳转至表达式3,计算修改循环变量后再判断循环条件。另一种为带标号的continue语句,其格式是:continue标号名;带标号的continue语句多用在多层循环构造中,而标号名应该定义在程序中外层循环语句的前面,用来标志这个循环构造。标号的命名应该符合Java标识符的命名规定。带标号的continue语句使程序的流程直接转入标号标明的循环层次。在下面查找1~100之间素数的例子中,使用了带标号的continue语句。如果找到整数i的一个因子j,那么说明这个i不是素数,程序将跳过本轮循环剩余的语句直接进入下一轮循环,检查下一个数是否为素数。3.ContinueContinue语句必须用于循环构造中,423.ContinueOuterloop:for(i=1;i<100;i++)//标号{for(j=2;j<i;j++){if((i%j)==0)continueOuterloop;//continue带标号});}3.ContinueOuterloop:for(i=1;i<433.Continue

intm=1; intn=0; for(i=1;i<5;i++) { m=m+I; if(i==3) continue; n=n+I }问:m=?n=?3.Continue intm=1;444.Return用于方法体中,退出该方法,并返回一定数值。return语句的一般格式为:return表达式;return关键字有两方面的用途:指定一个方法返回什么值〔假设它没有void返回值〕,并立即返回其后表达式的值。这个返回值的类型必须和被调用方法的返回值类型一致。如果方法没有返回值,那么return语句中的表达式可以省略。就是return语句本身也可以省略,程序执行到方法的最后一句后,遇到方法的完毕标志“}〞时,程序流程自动返回到调用这个方法的程序中。例2.11应用return语句返回结果4.Return用于方法体中,退出该方法,并返回一定数值。45小结本章内容包括数据类型的介绍、语句、运算符、表达式以及运算符优先级。其中运算符有算术运算符〔包含有一元运算符和二元运算符〕、关系运算符、逻辑运算符、位运算符以及赋值运算符等。表达式是程序设计中的最小组成单位,所以对表达式的理解非常重要。小结本章内容包括数据类型的介绍、语句、运算符、表达式以及运算46《Java编程基础》幻灯片本课件PPT仅供大家学习使用学习完请自行删除,谢谢!本课件PPT仅供大家学习使用学习完请自行删除,谢谢!《Java编程基础》幻灯片本课件PPT仅供大家学习使学习目标

学习Java编程基础,使学生能比较快速地进入学习Java编程环境,为以后熟练地应用开发工具进行试验和验证各种技术细节打下良好的基础。学习目标学习Java编程基础,使学生能比较快速48本章知识点

数据类型常量、变量、表达式数据类型的转换数组流程控制语句本章知识点数据类型492.1数据类型Java语言的数据类型可以分为两大类:根本类型〔primitivetype〕和引用类型〔referencetype〕。Java数据类型基本类型整型浮点型字符型布尔型引用类型数组接口类2.1数据类型Java语言的数据类型可以分为两大类:根本502.1数据类型数据所占存储空间的大小是以字节为单位。数据类型所占字节表示范围long(长整型)8-~int(整型)4-~(-231~231-1)short(短整型)2-32768~32767(-215~215-1)byte(位)1-128~127(-27~27-1)char(字符)10~255boolean(布尔)1布尔值只能使用true或falsefloat(单精度)4-3.4E38~3.4E38double(双精度)8-1.7E308~1.7E3082.1数据类型数据所占存储空间的大小是以字节为单位。数512.2常量、变量、表达式

常量

变量

数值类型之间的转换以及混合运算

表达式

运算符的优先级2.2常量、变量、表达式常量52常量1.整数类型常量2.浮点型常量3.字符型常量4.字符串常量5.布尔型常量常量1.整数类型常量531.整数类型常量在Java中,整数的数据类型可以分为long、int、short和byte四种类型。整型的取值范围参见下表。

类型存储位数值范围单精度(float)4(bits)-3.4×1038~3.4×1038双精度(double)8(bits)-1.7×10308~1.7×.整数类型常量在Java中,整数的数据类型可以分为long542.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是非常严格的。使用整数不能很好地表现数据的准确性,这种情况下就引入了浮点型。浮点型就是可以带小数点的数据类型。〔1〕表示形式浮点型有两种表示形式:小数点形式(如:12.37,-0.5946)和指数形式〔如2.5E4,2.1E-4〕〔2〕单精度和双精度常数的表示方法Java语言在使用浮点数数据时默认的类型是double类型,如果要指定是float或double型常数时,可以在常数的后面加上F(f)或D(d),如单精度表示12.37F,双精度数表示:-0.5946D。2.浮点型常量在计算中,为了要求计算的准确性,对数据的要求是553.字符型常量Java采用Unicode编码系统,这样就可以在多平台的系统中安心使用而不必担忧在程序移植中出现问题。Java的字符型常量的表示形式有4种,分别是:〔1〕用单引号括起来的单个字符,这些字符包含在Unicode字符集中,如'A','a'。〔2〕Java字符集中还包括一些控制字符,但这些控制字符是不能显示的,可以通过转义字符来表示。〔3〕用单引号括起来的八进制Unicode字符,形式是'ddd',其中d的范围是0~7,表示数值的范围在八进制的000~777之间,它只能表示局部Unicode字符内容。如'023'。〔4〕用单引号括起来的十六进制Unicode字符,形式是'啑',u字符后面带4位十六进制数,它可以表示全部Unicode字符内容。如'⫳'。3.字符型常量Java采用Unicode编码系统,这样就可以564.字符串常量字符串常量是用双引号括起来的由0个或多个字符组成的一个字符序列,字符串可以包含有转义字符。如“Howareyou?〞、“Goodafternoon 〞。转义字符功能Unicode码b退格 水平制表 换行 f换页 回车 4.字符串常量字符串常量是用双引号括起来的由0个或多个字符组575.布尔型常量布尔型变量的取值只有true〔真〕和false〔假〕两种,它表示逻辑的两种状态。

归纳注释:Java是一种面向对象的语言,应将所有的数据类型都封装成类,应使用与类或对象有关的引用类型。但是,由于这些简单数据类型应用得十分广泛,已被广大程序员所接受,所以为了提高效率和简化编程,

Java也就允许使用这些与面向对象无关的基本数据类型。当然这些基本数据类型都有对应的类,在定义数据时也可以使用这些类去定义。例如,对应基本的double类型,存在一个Double类;对应基本的char类型,存在一个Character类等。5.布尔型常量布尔型变量的取值只有true〔真〕和false58变量变量就是在程序运行过程中其值可以被改变的量。变量蕴涵有两个含义,其一是变量的名称;其二是赋给变量的值。变量名称就是用户自己为变量定义的标识符,而变量的值那么是存储在用变量标识符所标记的存储位置处的数据。在程序设计过程中,要想使用变量,首先要对变量进展声明,声明有两点:第一是声明变量的名称;第二是声明变量的数据类型。声明的一般格式如下:类型名变量名1[,变量名2][,……]或类型名变量名1[=初值1][,变量名2[=初值2],…….]其中方括号中的内容为可选项。

变量要先经过声明,然后就可以对变量进行赋值和使用,如果没有对变量赋值就使用,程序就会出现语法错误。变量类型名包括整数类型、浮点类型、字符类型、字符串和布尔型等类型。变量变量就是在程序运行过程中其值可以被改变的量。变量蕴涵有两59数值类型之间的转换以及混合运算

Java语言中对变量定义时需要指名其数据类型,然而在Java中允许对变量的类型进展转换。变量的数据类型转换是指在同一表达式中的各种不同的数据类型之间所进展的转换。数据类型的转换分为“自动类型转换〞和“强制类型转换〞两种。1.自动类型转换自动类型转换是需要符合以下两个条件:〔1〕转换前的数据类型与转换后的数据类型兼容。〔2〕转换后的数据类型比转换前的数据类型表示的范围大。查看例2.1不同整数数据类型的转换数值类型之间的转换以及混合运算Java语言中对变量定义时需60数值类型之间的转换以及混合运算

2.强制类型转换强制类型转换分为两种:一种是为了保证计算的精度,对数据类型进展转换,它与自动类型转换不同的是强制类型转换表达式中的变量类型是一样的,如两个整型数据类型进展除法运算,所得的结果应该不是整型才能保证计算的精度,所以要对数据类型进展强制转换;另一种是不需要精度要求,不让系统进展自动转换处理,如两个数据类型一个是int类型,另一个是float类型,所得的结果按照前面所讲内容应该是float类型,但是如果不想要小数点后面的数据,那么就要进展强制数据转换。查看例2-2强制整数数据类型的转换数值类型之间的转换以及混合运算2.强制类型转换61例:

floatx=2.7f;inty=(int)x;

floatz=x;问:1、z=?,y=?2、Java程序实现?例:62表达式表达式是用运算符把操作数〔变量、常量和方法等〕连接起来表达某种运算或含义的式子。其中运算符是对操作数进展运算的符号,如数学上的加号“+〞就是一个运算符,它是算术运算符。系统在处理表达式后根据处理结果返回一个值,该值的类型为表达式的类型。例如:intc=10+20;运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符等。表达式是包含运算符和操作数的算式,它操作的对象叫操作数,而操作是通过运算符来实现的。一个表达式可能同时包括多个操作,而操作的顺序是由各运算符的优先级及括号来决定的。也就是说有括号先进展括号内的操作,否那么按运算符的优先级次序运算。表达式表达式是用运算符把操作数〔变量、常量和方法等〕连接起来63表达式如果表达式包含有逻辑运算符和逻辑变量,我们称为逻辑表达式,所得结果是逻辑型常数。表达式通常有计算结果,通过赋值运算符将结果赋给运算符左面的变量。表达式是通过运算符将操作数连接起来组成的,下面来讲解运算符。1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符表达式如果表达式包含有逻辑运算符和逻辑变量,我们称为逻辑表达641、算术运算符算术运算符是数学上最常用的一类〔种〕运算符,Java语言为浮点数和整型数提供了多种算术操作符,包括+、-、×、/等。在表达式中,由于算术运算符中操作数数目的不同,算术运算符可以分为一元运算符和二元运算符。二元运算符是指算术运算符的两侧都有操作数。二元运算符如下表所示。运算符操作说明+操作数1+操作数2求和-操作数1-操作数2求差*操作数1×操作数2求积/操作数1/操作数2求商%操作数1%操作数2取余1、算术运算符算术运算符是数学上最常用的一类〔种〕运算符,651、算术运算符一元运算符是指运算符只需要一个操作数。一元运算符如下表所示。运算符操作说明++操作数++或++操作数操作数+1――操作数――或――操作数操作数-1--操作数操作数取反说明:a++与++a的区别:a++在使用a之后,使a的值加1,因此执行完a++之后,整个表达式的值为a,而a的值变为a+1。++a在使用a之前,使a的值加1,因此执行完++a之后,整个表达式和a的值都为a+1。i--和--i也是同样的道理。1、算术运算符一元运算符是指运算符只需要一个操作数。一元运662关系运算符所谓关系是指将两个操作数通过某种关系关联在一起。如x>y,我们称x大于y,这就是关系。表达关系的运算符就是关系运算符,包括:运算符>、>=、<、<=、==、!=。

运算符操作举例含义>操作数1>操作数2x>yx大于y>=操作数1>=操作数2x>=yx大于等于y<操作数1<操作数2x<yx小于y<=操作数1<=操作数2x<=yx小于等于y==操作数1==操作数2x==yx等于y!=操作数1!=操作数2x!=yx不等于y注意:“==”运算符与“=”运算符是不同的,前者是关系运算符,而后者是赋值运算符,一定要注意它们之间的区别。由关系运算符组成的表达式最终的结果是一个逻辑值,它可作为程序设计中的条件判断语句。如:if(x>y)就是一个条件判断语句,关系运算符两边有两个操作数x、y。关系运算符是将运算符两边的操作数进行判别,看是否为“相等”、“大于”、“小于”等“关系”,是一个关系表达式,最后结果为布尔型值。2关系运算符所谓关系是指将两个操作数通过某种关系关联在一673逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符的运算结果是布尔型值,而逻辑运算的操作数和运算结果都是布尔型值。包括:&、|、!、^、&&、||。运算符运算举例含义&与x&yx,y都为真时结果才是真|或x|yx,y都为假时结果才是假!非!xx为真时结果是假,x为假时结果为真^异或x^yx,y都为真或都为假时结果为假&&条件与x&&yx,y都为真时结果为真。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行||条件或x||yx,y都为假时结果为假。如果左侧表达式的值就能决定整个表达式的值,则右侧表达式不执行3逻辑运算符逻辑运算符与关系运算符的不同之处是关系运算符684位运算符位运算是指对整数的二进制表示中的每一位进行操作,所得的结果一定是整数。包括:~、&、|、^、

<<、>>、>>>4位运算符位运算是指对整数的695赋值运算符Java语言中,赋值运算作为一种运算符来处理的,赋值运算的一般形式:变量名=表达式;其中“=〞是赋值运算符。赋值运算符不能理解为过去数学学过的等号概念,它实质上是将赋值运算符右面的数据或表达式的值赋给赋值运算符左面的变量。5赋值运算符Java语言中,赋值运算作为一种运算符来处理705赋值运算符运算符运算举例含义运算符运算举例含义+=加法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赋值运算符还可以与二元算术运算符、逻辑运算符和位运算符组合成简捷使用方式,如下表所示。5赋值运算符运算符运算举例含义运算符运算举例含义+=加法71条件运算符格式:表达式1?表达式2:表达式3运算过程:先计算表达式1的值,假设表达式1的值为true,那么条件表达式的值为表达式2的值;假设表达式1的值为false,那么条件表达式的值为表达式3的值。问:求y=|x|,该怎么表达?解:y=x>0?x:-x条件运算符格式:表达式1?表达式2:表达式372运算符的优先级所谓优先级是指当一个表达式中出现多个不同运算符时,执行运算的先后次序。如右表所示。运算符描述优先级结合性.[]()域,数组,括号1从右至左++---!~一元操作符2*/%乘,除,取余3+-加,减4<<>>>>>位运算5<<=>>=逻辑运算6==!=逻辑运算7&按位与8^按位异或9|按位或10&&逻辑与11||逻辑或12?:条件运算符13=*=/=%=+=-=<<=>>=>>>=&=^=|=赋值运算14运算符的优先级所谓优先级是指当一个表达式中出现多个不同运算符732.3数组数组是有序数据的集合,数组中的每个元素具有一样的数组名,根据数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组,使用时要先声明后创立。一维数组的声明一维数组的创立与赋值多维数组2.3数组数组是有序数据的集合,数组中的每个元素具有一样74一维数组的声明数组是Java语言中的特殊数据类型,它们保存着能通过下标索引来引用的一组同类数据。一维数组是指一个线性数据序列,声明方式为:数据类型数组名[];或数据类型[]数组名例如:intarr1[];char[]arr2;声明了两个数组,arr1是整型数组,arr2是字符型数组。说明:其中“数据类型〞可以是Java中任意的数据类型,“数组名〞为一个合法的标识符,“[]〞指明该变量是一个数组类型变量并且是一维的。Java在数组的定义中并不为数组元素分配内存,因此“[]〞中不用指出数组中元素的个数即数组长度,而且对于如上定义的一个数组暂时还不能访问它的任何元素。一维数组的声明数组是Java语言中的特殊数据类型,它们保存着75一维数组的创立与赋值定义数组后,还必须为数组分配内存、初始化。这有两种方法。1.用运算符new分配内存再赋值格式:数组名=new数据类型[size]其中,size指明数组的长度。如:intintArr[]=newint[2];charchArr[]=newchar[5];上述语句将数组的声明和创立放在一起,第一条语句声明了一个整型数组并分配了3个整型数据所占据的内存空间,顺序为intArr[0],intArr[1]。第二条语句声明并分配了5个char型变量所占据的内存空间。数组元素赋值的方法与变量一样,如:intArr[0]=10;intArr[1]=20;注意下标是从第一个元素的0开始,到数组长度减1。一维数组的创立与赋值定义数组后,还必须为数组分配内存、初始化76一维数组的创立与赋值2.直接赋初值并定义数组的大小第二种方法是直接赋初值并定义数组的大小。初值必须用大括号括起,用逗号作分隔符,初值的个数表示数组的大小。例如:inta[]={1,2,3,4,5,6,7,8,9,10};charc[]={′a′,′b′,′c′,′北′,′京′}查看例2.3一维数组的使用。一维数组的创立与赋值2.直接赋初值并定义数组的大小77多维数组〔略〕与C++一样,Java将多维数组看作数组的数组。例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。查看例2.4二维数组的使用。多维数组〔略〕与C++一样,Java将多维数组看作数组的数组782.4流程控制语句任何一门面向对象的语言都必须以构造化程序设计为根底,面向对象语言中的根本模块都是用构造化程序设计的编程来实现的。构造化程序设计有3种根本的流程构造:顺序、分支和循环,如以下图所示。顺序执行结构是最简单的程序流程,它不需要控制语句,而分支控制结构和循环控制结构都是比较复杂的程序流程,它们需要专门的控制语句。所谓分支控制结构是根据条件来判断执行哪一组语句,如前面已经讲的条件运算符(?:)就是实现分支控制的运算符,Java语言还提供了两个专门的独立控制语句:if语句和Switch语句。Java语言提供了3个专门的循环控制语句:for语句、while语句和do…while语句。2.4流程控制语句任何一门面向对象的语言都必须以构造化程792.4流程控制语句分支语句循环语句特殊的控制流语句2.4流程控制语句80分支语句1.if语句if语句是实现“二选一〞的选择语句,它有两种形式。第一种形式:if(条件表达式)语句组;如:if(x<0)x=y;第二种形式:if(条件表达式)语句组1;else语句组2;条件语句if…else,只要“条件表达式〞值为真,就执行其后的“语句组1〞,否那么就执行else后的“语句组2〞。注意else局部可选也可不选,,不选就是第一种情况。2.switch分支构造switch是多分支的开关语句,其构造为:switch〔条件表达式〕{casen1(判断值1):语句组1;break;casen2(判断值2):语句组2;break;…default:语句组;break;}查看例2.5一个条件语句if…else的例子和例2.6一个switch分支构造的例子

条件表达式的类型必须为整型或字符型;

n1,n2,…必须为常量;

default语句是可选的;

break语句用于退出

switch,若无则程序将不再比较而是依次执行所有语句。switch分支结构实际上也是一种if…else结构不过它在编码时很容易写出判断条件,特别有很多选项的时候,它把括号里变量的值同每种情况列出的值作比较,如果相等,就执行后面的语句,如果不等,就执行default语句。在switch语句中,通常在每一种case情况后都应使用break语句,否则,第一个相等情况后面所有的语句都会被执行,这种情况叫做落空。分支语句1.if语句条件表达式的类型必须为整型或字符型;81循环语句

Java的循环语句分为3种:

1.for循环

2.while循环

3.do…while循环结构循环语句Java的循环语句分为3种:821.for循环Java语言的for语句的语法格式是:For(初始语句;逻辑表达式;迭代语句){语句组;}for语句的语义是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。这个过程一直进展下去,直到逻辑表达式的值为假时,循环完毕,转到for之后的语句。for循环构造在实现顺序递增直到到达某一极限的循环时是一个强有力的工具,for语句的格式要求把一个变量和一个确定的极限作比较,当到达极限时,中止循环。

初始语句和迭代语句中可以含有多个语句,各语句间以逗号分隔。

for语句括号内的3部分都是可选的,逻辑表达式为空时,默认规定为恒真。1.for循环Java语言的for语句的语法格式是:初始语831.for循环例如:for(i=0;i<10;i++){语句组;}在这个例子中变量i被设为0;第二个表达式i<10,指出循环何时完毕,对0~9的数值表达式都为真〔这就是说循环应该继续〕;最后的表达式i++指出循环每次对变量做什么,在例子中,循环使i〔0~9〕共10次执行循环体。

版权声明


相关文章:

  • java开发实例大全 基础卷2025-04-07 15:58:06
  • java 基础jar包2025-04-07 15:58:06
  • java基础知识点菜鸟2025-04-07 15:58:06
  • java基础视频教程2025-04-07 15:58:06
  • java基础期末复习2025-04-07 15:58:06
  • java语言基础学习2025-04-07 15:58:06
  • java基础循环语句2025-04-07 15:58:06
  • 题库java开发基础2025-04-07 15:58:06
  • java基础实验心得2025-04-07 15:58:06
  • java基础毕向东2025-04-07 15:58:06