Java程序设计第2章-Java语法基础.pptx

上传人(卖家):三亚风情 文档编号:3372091 上传时间:2022-08-24 格式:PPTX 页数:58 大小:3.58MB
下载 相关 举报
Java程序设计第2章-Java语法基础.pptx_第1页
第1页 / 共58页
Java程序设计第2章-Java语法基础.pptx_第2页
第2页 / 共58页
Java程序设计第2章-Java语法基础.pptx_第3页
第3页 / 共58页
Java程序设计第2章-Java语法基础.pptx_第4页
第4页 / 共58页
Java程序设计第2章-Java语法基础.pptx_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、第2章 Java语法基础 第2章 Java语法基础 基本数据类型0102本讲提纲本讲提纲04变量与常量03基本数据类型变量的赋值0404表达式与运算符0405扩展表达式和类型转换06专题应用:数据的随机产生与高效计算 第1节 基本数据类型 程序设计语言使用变量来保存数据,每一个变量都属于一种数据类型。Java提供了整数型、浮点型、逻辑型和字符型等基本数据类型,如图2-1所示。基本数据类型的特点列于表2-1。程序中的数据可分为常量和变量,无论常量还是变量,都有数据类型之分。数据类型决定了数据的取值范围和数据可执行的操作。Java采用固定长度的基本数据类型,其长度与机器平台无关。第1节 基本数据类

2、型在下列Java的基本数据类型中,所占字节数最少的是_。charbooleanshortfloatABCD提交单选题 第2节 变量与常量 程序中的数据可分为常量和变量两种,程序运行过程中值可以改变的量,称为变量。变量实质就是一块取了名字的、用来存储Java数据的内存区域。Java是一种“强”类型语言,即任何数据类型的变量都必须先声明并且赋值后才能使用。变量变量声明变量的一般形式为:;必须是有效的数据类型,如int、float等,也可以是后面介绍的引用类型。第2节 变量与常量变量的命名必须符合Java标识符的命名规则,且不能使用Java关键字。int i,number;float max,min

3、,sum;double height_value,total_weight,count;char ch1;可以由一个或多个用逗号分隔的变量名构成,即在一条语句中可以声明一个或多个同种类型的变量。例如:变量变量 第2节 变量与常量(1)声明变量的同时进行赋值,即初始化变量,例如:int number1=34,number2=-98;/声明变量,并直接赋初值(2)声明变量后通过赋值语句赋值,例如:int numb1,numb2,numb3,numb4,numb5;char ch1;numb1=2;numb2=numb3=numb4=numb5=5;/为整型变量连续赋值ch1=a;/为字符型变量赋值

4、 声明变量后,还需赋值后才能使用,可通过赋值运算符“=”来实现。变量变量若定义有变量float f1,f2=8.0F,则下列说法正确的是_。变量f1,f2均被初始化为8.0变量f1没有被初始化,f2被初始化为8.0变量f1,f2均未被初始化变量f2没有被初始化,f1被初始化为8.0ABCD提交单选题 第2节 变量与常量 存储器的存取特点是:取之不尽、一存即变。也就是说,变量中的值可以反复读取,其值也不会改变。而把一个新值赋给变量后,变量中原来的值就被新值所替代。例如下面的程序片断:int a,b;a=8;b=9;a=b+1;/a的值变为10,b的值保持不变,仍为9a=b;/a的值变为9变量变量

5、 第2节 变量与常量常量常量 常量是在程序运行期间值不能被修改的量。常量分为普通常量(即常数,如用于为变量赋值的数)和标识符常量。用标识符代表的常量实质上是“常值变量”,使用前需要先定义。定义标识符常量和变量的方式是一致的,但必须使用关键字final进行修饰,且定义时一般需要为其赋值。为了和变量区分,标识符常量名常采用大写字母,以示区别。整型变量有byte、short、int和long共四种类型,其默认类型为整型(int)。因此,1、-9999、123456789都是int型的常量。注意,赋值时必须确保所赋的值必须在相应类型变量的取值范围内,否则会造成损失。第3节 基本数据类型变量的赋值【程序

6、2-2】整型变量赋值错误范例。整型变量的赋值 整型变量可以赋值为以下形式的整型常量:十进制、八进制、十六进制,还可以将一个字符常量赋值给整型变量,例如:int num=A;/num值为65,65为字符A的Unicode码值04 byte num1=130;05 short num2=32780;06 Int num1=130;07 long num3=31474836470;在以下整型常量的表示方法中,不正确的是_。600900 x006060LABCD提交单选题第3节 基本数据类型变量的赋值浮点型变量的赋值 浮点型变量有两种类型,即float和double。浮点型常量默认类型是双精度浮点型,

7、因此,1.0、1/2.0和345.678都是double类型的常量。1.十进制数 由数字和小数点组成,如0.123、1.23、123.0F等。如果采用分数赋值,分子和分母至少有一项是带小数点的数值,如1.0/2、1/2.0、1.0f/2等。例如:double b=1.0/2;/双精度变量b赋值为0.5float a=1/2.0F;/单精度变量a赋值为0.5第3节 基本数据类型变量的赋值2.科学计数法 在Java中,用十进制小数后跟E或e,之后再跟10的幂来表示,这种形式就是科学计数法。例如:double d=0.7E-3;/双精度变量d赋值为0.7E-3,即710-4 其中,e或E之前必须有数

8、字,且e或E后面的指数必须为正整数或负整数,不能为小数,如果是正整数,“+”号可省略。浮点型变量的赋值下列哪个赋值语句是不正确的_。float f=11.1;double d=5.3E12;float d=3.14f;double f=11.1E10f;ABCD提交单选题第3节 基本数据类型变量的赋值字符型变量的赋值 字符的普通常量是用单引号括起来的一个字符,如P、&、g、5等均为字符常量,且一个字符型变量只能接受一个字符。单引号只定界作用,并不代表字符。在Java语言中,字符数据的内部表示采用16位的Unicode编码,而不是8位的ASCII码。Unicode(统一码、万国码、单一码)是一种

9、在计算机上普遍使用的字符编码。部分字符的Unicode编码值见表2-2。计算机在处理字符类型时,是把这些字符当成不同的整数来看待。字符类型在一定范围内可以当作整数类型来处理。第3节 基本数据类型变量的赋值1.普通字符 能用键盘输入的字符均可以赋值给字符型变量,可以是普通字符常量,也可以是它的Unicode编码值。由于数字字符、字母是按顺序存放在Unicode码表中的,因此字符的Unicode码值可以像整数一样在程序中参与运算,例如:char ch1=a;/字符变量ch1赋值为普通字符achar ch2=65;/字符变量ch2赋值为65,即Aint x=ch1-32;/ch1-32即97-32,

10、即字符A的Unicode十进制编码值字符型变量的赋值第3节 基本数据类型变量的赋值2.转义字符 无法用键盘输入的字符可以采用u方式或用转义字符进行赋值。Java中的常用转义字符见表2-3。字符型变量的赋值第3节 基本数据类型变量的赋值 利用转义字符赋值的方法是以单引号单引号包围表2-3中所列的转义字符。例如:char ch1=”;/字符型变量ch1的值是一个双引号char ch2=101;/八进制101即65,变量ch2值是字符Achar ch3=u006D;/Unicode码值006D对应的字符为m,变量ch3值是字符m【程序2-3】利用转义字符,输出一个4行的由”*”组成的等腰三角形。字符

11、型变量的赋值04 System.out.printSystem.out.print(*nn *nn *nn*););第3节 基本数据类型变量的赋值字符串变量的赋值 在Java语言中,字符串常量是用双引号双引号括起来的一串字符,如“This is a string”。实际上,Java语言将字符串常量作为String类的一个对象来处理,而不是一个普通数据。为了编程的方便,Java允许将String类型的常量像本章介绍的八种基本数据类型一样赋值给String类型的变量。例如:String str=Hello,;/定义引用变量str为String类型,且赋初值为Hello,str=str+Guys!;

12、/引用变量str的值为Hello,Guys!第3节 基本数据类型变量的赋值布尔型变量的赋值 布尔型变量只有两个值true(真)和false(假),且它们不对应于任何整数值。布尔型变量的赋值如下:boolean b=true;或 boolean b=false;注意:Java中的布尔值和数字之间不能来回转换,即false和true不对应于任何0或非0的整数值。第3节 基本数据类型变量的赋值基本数据类型变量的默认值 Java是一种强类型的语言,如果声明局部变量后,不进行赋值,编译器将提示错误,例如:实际上,Java语言不会对方法内部定义的局部变量提供默认的初始值,因此局部变量必须赋值后才能使用;但

13、Java会为对象的成员变量提供默认的初始值,以保证没有初值的对象存在,具体详见第5章。long l=0 xfffL;/长整型变量用十六进制赋值char c;/声明字符型变量,但没有赋值float f=0.23F;/单精度变量赋值System.out.println(l=+l+tc=+c+tf=+f);下面正确的表达式是_。byte=128;long i=xfffL;char a=u0061;double=0.9239d;ABCD提交单选题 第4节 表达式与运算符表达式double d2;/声明变量d2int d1=14,a,b,c=1;/声明变量d1,a,b和c,同时初始化d1和cd1=d1+

14、3;/将d1+3的结果17重新存回变量d1中d2=(a+b)*c-(b-a)+(b%c)*a;/由于a和b没有值,将导致编译错误错误 程序由一序列语句组成,语句的基本单位是表达式,而表达式由运算符和操作数组成。操作数既可以用变量表示,也可以用常量表示;表达式根据运算符规定的操作顺序进行计算,并得到相应的结果。例如:在程序设计中,对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符。按功能划分,运算符可分为:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符等。第4节 表达式与运算符运算符 算术运算符主要用于完成变量(或常量)的算术运算,常用的算术运算符如表

15、2-4所示。如果参与除法运算的两个数据均为整型,则结果为整数(不进行四舍五入),否则结果为浮点型。第4节 表达式与运算符例如:1/2 /结果为01.0/2 /结果为0.516%3 /结果是115.7%3/结果是0.73%16 /结果是3运算符 第4节 表达式与运算符x/10%10 x/10%10:即即2865%102865%10,得到十,得到十位数字位数字5 5【程序2-4】声明一个整型变量x,并任意赋一个5位数的值,编程逆序输出这个5位数的值。x%10 x%10:即即28654%1028654%10,得到个位数字,得到个位数字4 4x/100%10 x/100%10:即即286%10286%

16、10,得到百位数字,得到百位数字6 6 第第1111行行“=”号右侧表达式即号右侧表达式即(4(4*10+5)10+5)*10+6)10+6)*10+8)10+8)*10+210+2,得到逆序数,得到逆序数4568245682 第4节 表达式与运算符 自增(+)和自减(-)只对整型变量和浮点型变量有效,其作用是将变量加1或减1;都有前置和后置两种形式:+a和a+、-b和b-,两种形式将对表达式和变量将产生不同的影响。例如,若有语句int k,a=5;则:前置:k=+a;表示a变量先自加1后,再把整个表达式的值赋值给k,结果是:a=6,k=6。后置:k=a+;表示先使用a变量的值后,a再自加1,

17、结果是:k=5,a=6。运算符下面程序的运行结果是_。public class Ex50public static void mian(String args)float f=12.0f;int i=3;System.out.println(f-)/(+i);33.0 44.0ABCD提交单选题 第4节 表达式与运算符 关系运算符用来判断一个表达式成立与否或用于比较多个表达式的值,常用于if条件语句的条件表达式中。含有关系运算符的表达式称为关系表达式。关系表达式的运算结果是一个逻辑值,即true(真)或false(假)。关系运算符的优先级和含义如表2-5所示。运算符 第4节 表达式与运算符关系

18、运算符的使用,有如下的程序片断:int a=3,b=2,c=1;boolean d,f;d=ab;/d值为truef=(ab)=c;/类型boolean和int不能作比较d=b+ca;/d值为falsef=abc;/ab值为true,再和c比较时因类型不同不能比较运算符下面程序段的输出结果为_。public class Ex43public static void main(String args)boolean a,b,c;a=(3b)&(b+c);/ab值为false,无需再判断b+a,但系统会检查其语法错误 System.out.println(f1=+f1+”,c=”+c);/输出:f

19、1=false,c=3 f2=(ac);/ac,但系统会检查其语法错误 System.out.println(f2=+f2+”,b=”+b);/输出:f2=true,b=8运算符(year%400=0)(year%100!=0)(year%4=0)第4节 表达式与运算符【程序2-6】给定一个年份,判断其是否为闰年。运算符分析:判断闰年的条件为“若年份能被400整除,或能被4整除但不能被100整除,该年份为闰年”。如果两个整数进行模运算(%),余数为零,那么前者能被后者整除。|&该条件中的“但但”即“并且并且”,可用逻辑与“&”描述,“或或”用逻辑或“|”描述。下列程序的运行结果是_。publi

20、c class Ex28 public static void main(String args)int a=5,b=1;boolean c=(a=2);System.out.println(b=+b+”,c=”+c);b=1,c=trueb=2,c=trueb=1,c=falseb=2,c=falseABCD提交单选题 第4节 表达式与运算符 条件运算符又称三目运算符,由“?”和“:”组成。“三目”指的是操作数的个数有三个。由三目运算符可以构成条件表达式,格式为:表达式1?表达式2:表达式3 表达式1通常是关系表达式或逻辑表达式。条件表达式的运算规则为:若表达式1的值为true,则整个条件表

21、达式的结果取表达式2的值;若表达式1为false,整个条件表达式的结果取表达式3的值。另外,条件表达式可以嵌套使用,例如:运算符int y,x=-1;y=(x0)?5:(x0)?-8:0;第4节 表达式与运算符 在对一个表达式进行计算时,如果表达式中含有多种运算符,则要按运算符的优先顺序依次从高到低进行计算,同级运算符则根据运算符的结合性进行计算。Java语言的运算符优先级和结合性如表2-8所示。运算符的优先级 Java语言将运算符和赋值运算符组合,组成新的运算符,称为扩展运算符或自反赋值运算符。用这些运算符可以构建更为简洁的表达式,即扩展表达式,表2-9列出了这些运算符及其含义。第5节 扩展

22、表达式和类型转换程序中的表达式:y*=x+2;编译后为y=y*x+2还是 y=y*(x+2)?扩展表达式下面程序的运行结果是_。public class Ex49 public static void main(String args)float a=20.28f,b=5.0F;a%=b;b*=b+2;System.out.println(a=+a+,b=+b);a=0,b=27a=0,b=27.00a=0.28,b=35a=0.28,b=35.00ABCD提交单选题 在Java语言中,允许同一个表达式中含有不同数据类型的常量和变量,但是表达式的结果只能是某一种数据类型。因此,就必须进行数据类

23、型转换。第5节 扩展表达式和类型转换(1)赋值时 Java语言规定,赋值时可以将位数少的类型赋值给位数多的类型,从而构成赋值时的自动类型转换。例如:int x=d;/char常量赋值给int变量,x值为100long y=100;/int常量赋值给long变量,y值为100Ldouble z=2;/int常量赋值给double变量,z值为2.0自动转换数据类型 第5节 扩展表达式和类型转换(2)混合型表达式 整型、实型和字符型数据可以组成混合型表达式进行运算。运算时,不同类型的数据需先转化为同一类型,然后才进行运算。转换的基本原则是:以不丢失数据精度为前提,从占用字节少的类型转换到占用字节多的

24、数据类型,按以下顺序进行自动类型转换:(char,byte,short)int long float double自动转换数据类型 第5节 扩展表达式和类型转换(2)混合型表达式 对于占用字节少的char、byte和short,计算时总是被转换为int类型,即Java混合表达式计算结果的最低类型为int。例如:byte a=2,b=3;int x=a+b;/赋值号右边的变量a和b先转换为int型后再相加double y=x+2.5;/x被转换为double型后再参与计算float z=1.0F/100;/100被转换为float型后再参与计算自动转换数据类型若定义有short s;byte b

25、;char c;则表达式s*b+c的类型为_。charbyteintshortABCD提交单选题程序代码:int r1=3,r2=2;double result=1.5+r1/r2;/r1/r2的结果为1,result为2.5 第5节 扩展表达式和类型转换 若想让r1/r2为1.5,result的值为3.0,就需要强制转换数据的类型,强制转换类型的一般形式为:(数据类型名)变量或表达式强制转换数据类型下面哪行代码,result的值为3.0?01result=1.5+(double)r1/r2;02result=1.5+(double)(r1/r2);第5节 扩展表达式和类型转换 一般来说,从占

26、用字节多的类型转换为占用字节少的类型,就必须使用强制转换数据类型。例如:int i;float x=3.6f;byte b=(byte)i;/把int型变量i的值强制转换为byte型i=(int)x;/把x的值强制转换为int型,变量i的值为3,变量x仍为float型强制转换数据类型把数值范围较大的类型转换成数值范围较小的类型就很有可能丢失数据信息。随机数是由随机数种子根据一定的计算方法计算出来的数值,只要具有确定的计算方法和随机数种子,便可产生随机数。第6节 专题应用 Java语言提供了两种生成随机数的方法:一是使用Random类,二是使用Math类的random方法。Random类是jav

27、a.util包中的类,需要用import语句来导入,使用时要先调用构造方法构造对象,然后通过对象才能使用该类提供的方法。数据的随机产生Random类的构造方法主要有如下两种形式:(1)public Random()该方法创建一个随机数生成器,并以系统当前时间作为随机数种子。因为每时每刻的时间都不尽相同,因此产生的随机数也不同,例如:Random rnd=new Random();/构造对象,创建随机数生成器rnd(2)public Random(long seed)该方法使用一个long类型的种子seed创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的初始值。第6节 专题应用数据的

28、随机产生 第6节 专题应用 调用Random类的构造方法创建对象后,再通过对象调用表2-10中的各种方法便可以随机生成一个任意范围内的数据,例如:【程序2-7】随机出几道小学生四则运算题,要求加、减、乘、除法和参与运算的两个整数(0100之间)均随机产生,显示题目,等待作答并判断答题是否正确。Random rnd=new Random();/创建随机数生成器对象rndint a=rnd.nextInt(10);/随机产生一个0,10)之内的数int b=rnd.nextInt(900)+100;/随机产生一个三位数double c=rnd.nextDouble()*10 /随机产生一个0.01

29、0.0之间的浮点数数据的随机产生有下列语句序列,num的取值范围将是 。Random rd=new Random();int num=rd.nextInt(50)+100;50 x100100 x=0。高效计算系数a,b,c是随机生成的,生成随机数可以使用Random类,也可以使用Math类的random方法。下列表达式中,x的取值范围为0 x100的表达式是_。x=(int)(Math.random()*100)x=(int)(Math.random()*100)+1x=(int)(Math.random()*100+1)x=(int)(Math.random()*100+0.5)ABCD提交单选题 实验与作业F上机实验上机实验完成实验完成实验2 2和实验和实验3 3的内容的内容 F课后作业课后作业完成习题与实践教材中第完成习题与实践教材中第2 2章中的全部习题章中的全部习题 感谢您的关注Thank You for Your Attention

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java程序设计第2章-Java语法基础.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|