第三 Java语言基础.pptx
3.1 3.1 数据类型p主要的Java数据类型分类结构第1页/共40页3.1 3.1 数据类型p基本的数据类型第2页/共40页逻辑型(booleanboolean)第3页/共40页3.2 3.2 关键字与标识符1.标识符第4页/共40页提问 1.观察如下程序,识别哪个标识符是类或接口名,哪个标识符是变量或方法名。public class JavaDemo10public static void main(String args)int i=10;int j=20;/所有的数据都会自动向字符串转型第5页/共40页3.2 3.2 关键字与标识符2.2.关键字p关键字也称为保留字,是Java 语言本身使用的、被赋予特定含义的一类标识符。用户只能按照系统的规定来使用它们,不允许对它们进行修改或自行定义,也不允许将它们做为标识符来使用p关键字全部为小写字母表示的完整的英文单词或简写。根据关键字的用途,可将它们划分为以下类型:数据类型、语句、修饰符、方法、类、接口和包等第6页/共40页JavaJava关键字(按字母升序竖向排列)abstractdoimplementsprivatethrowbooleandoubleimportprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethis第7页/共40页3.3 3.3 常量 常量(Constant):是程序运行过程中值不再发生变动的一种量。如计算圆的周长或面积时所用到的圆周率就是一种常量。常量有两种主要的分类标准:p根据数据的表达方式,Java的常量可分为值常量与符号常量两种p根据数据的类型,Java的常量分为逻辑型常量、整型常量、浮点型常量、字符型常量及字符串常量五类第8页/共40页常量第一种分类1.逻辑型常量又称布尔型常量,其取值只能为true或false,代表一个逻辑量的两种不同状态值。其中true代表真,false代表假2.整型常量表示一个不带有小数位的整数,数值可正可负。整型常量有十进制、八进制和十六进制三种数制表示方式3.浮点型常量又称为实型常量,用来表示有小数部分的十进制实整4.字符型常量是指用单引号()括起来的单个字符表达 5.字符串常量是指用双引号(“”)括起来的一个字符序列。字符串常量包含的字符个数称为它的有效长度第9页/共40页常量第二种分类根据数据的表达方式,Java的常量可分为值常量与符号常量两种:1.值常量就是直接以特定值表达的量2.符号常量是一种标识符形式的常量,这类常量引用时以符号名称代替,但参与运算的是它的内容,即常量的值,这类常量必须先定义后可使用p符号常量定义的格式为:final =;例如定义圆周率的语句为:final float PI=3.1415926;(这点和c语言不同,后续章节将详介绍。)第10页/共40页3.4 3.4 变量第11页/共40页3.4 3.4 变量p课堂演示:public class Hello public static void main(String args)int a;通过上例,启发我们以后编程中要注意?(提问)第12页/共40页长整型(long long)变量Java语言的整形常量默认为int型,声明Long型常量可以后加l或L,但给Long型变量赋值时,必须加加l或L。例如:int i1=600;/正确 long aa=8888888888;/错误 long aa=8888888888L;/正确 第13页/共40页浮点型变量浮点型变量包括了两类:float和double,缺省为double。如要声明一个常量为float型,则需在数字后面加上f或F。如:double d=12345.6 /正确 float f=12.3 f/必须加f否则会出错。第14页/共40页例:浮点型变量的使用public class JavaDemo04/主方法public static void main(String args)/定义PIfloat PI=3.1415926f;/定义半径float r=3.5f;/求出圆的面积;第15页/共40页3.5 3.5 数据类型的转换第16页/共40页例:整形型和字符型的相互转换public class JavaDemo09public static void main(String args)/使用单引号括起来的一个字符(字母、数字)char c=A;/把一个字符赋给了一个整型变量int i=c;第17页/共40页例:TestConvert.javapublic class TestConvert public static void main(String arg)int i1=123;int i2=456;double d1=(i1+i2)*1.2;/系统将转换为double型运算 float f1=(float)(i1+i2)*1.2);/需要加强制转换符 byte b1=67;byte b2=89;byte b3=(byte)(b1+b2);/系统将转换为int型运算,需 /要强制转换符 double d2=1e200;float f2=(float)d2;/会产生溢出 float f3=1.23f;/必须加f long l1=123;long l2=30000000000L;/必须加l float f=l1+l2+f3;/系统将转换为float型计算 long l=(long)f;/强制转换会舍去小数部分(不是四舍五入)第18页/共40页课堂练习public class TestConvert2 public static void main(String args)int i=1,j=12;float f1=0.1;float f2=123;l2=8888888888L;double d1=2e20,d2=124;byte b1=1,b2=2,b3=127;j=j+10;i=i/10;i=i*0.1;char c1=a,c2=125;byte b=b1-b2;char c=c1+c2-1;float f3=f1+f2;float f4=(f1+f2*0.1);double d=d1*i+j;float f=(float)(d1*5+d2);指出下面程序中出现的编译错误和可能出现的溢出部分,并改正.第19页/共40页课堂练习答案public class TestConvert2public static void main(String args)int i=1,j=12;float f1=(float)0.1;/0.1f float f2=123;long l2=8888888888L;double d1=2e20,d2=124;byte b1=1,b2=2,b3=127;j=j+10;i=i/10;i=(int)(i*0.1);char c1=a,c2=125;byte b=(byte)(b1-b2);char c=(char)(c1+c2-1);float f3=f1+f2;float f4=(float)(f1+f2*0.1);double d=d1*i+j;float f=(float)(d1*5+d2);第20页/共40页1.标识符命名规则。2.变量要先定义,不允许在未指定任何值之前使用变量。3.关键字final定义常量。4.Long型变量的赋值要带上L(大小写均可)。5.float型变量的赋值要带上F(大小写均可)。6.boolean型变量的取值只能是ture,false。7.数据类型的转换:自动和强制。小结 第21页/共40页1.简述本节课所讲内容中,有哪些语法Java与c不同。2.编写一个Java 程序,在程序中声明各种基本数据类型的变量,对它们进行初始化,再显示它们各自的值;定义一个双精度数据类型的常量,并显示它的值。作业 第22页/共40页1.布尔型数据能转换为其它数据类型吗?2.float f;f=34*12;正确与否?(说明原因)3.double k=6;float b=k;正确与否?(说明原因)提问 2、3答案当把级别低的表达式的值赋给级别高的变量时,系统会自动完成数据类型的转换。而级别高的表达式的值不能直接赋给级别低的变量,要强制类型转换。第23页/共40页3.6 3.6 由键盘输入数据在程序设计中,经常需要从键盘上读取数据,这时就需要用户从键盘输入数据,从而可以增加与用户之间的交互。利用键盘输入数据,Java语言提供了二种输入格式。第24页/共40页3.6 3.6 由键盘输入数据public class class_name /类名称 public static void main(String args)throws IOException bufferedReader buf;String str;buf=new bufferedReader(new InputStreamReader(System.in);str=buf.readLine();p格式一:第25页/共40页3.6 3.6 由键盘输入数据/app3_3.java 由键盘输入字符串加载java.io类库里的所有类public class app3_3 public static void main(String args)throws IOException BufferedReader buf;String str;buf=new BufferedReader(new InputStreamReader(System.in);请输入字符串;”);str=buf.readLine();/将输入的文字指定给字符串变量str存放 您输入的字符串是:”+str);/输出字符串 第26页/共40页3.6 3.6 由键盘输入数据p格式二:为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象,语句格式如下:public class class_name /类名称 public static void main(String args)Scanner reader=new Scanner(System.in);double num;/声明double型变量,也可声明其他数值型变量 num=reader.nextDouble();/调用reader对象的相应方法,读取键盘数据 第27页/共40页3.6 3.6 由键盘输入数据利用Scanner类从键盘输入多个数据。/app3_6.java 由键盘输入多个数据加载java.util类库里的所有类public class app3_6 public static void main(String args)int num1;double num2;Scanner reader=new Scanner(System.in);请输入第一个数:);num1=reader.nextInt();请输入第二个数:);num2=reader.nextDouble();第28页/共40页3.73.7运算符与表达式p运算符1.算术运算符:+(正)、-(负)、+、-、+(加)、-(减)、*、/(除)、%(取余)2.关系运算符:=、=、=3.逻辑运算符:&(与)、|(或)、!(非)、(异或)、&(条件与)、|(条件或)4.位运算符:(非)、&(与)、|(或)、(异或)、(右移位)、(无符号右移位)5.赋值运算符:=、+=等6.条件运算符:(?:)可以用来替代if-else结构7.字符串连接运算符:+(max=+max);第29页/共40页+和运算符第30页/共40页关系运算符注意:1.“=”符号是判断两个操作数是否相等,而“=”是赋值运算符。2.关系运算的结果为true、false。例:写出下列表达式的返回值。10 30-25 3!=(2+3)/5分析:10 30-25 3!=(2+3)/510=3&a=20?a:b)(3)f&(ab?a:cd?c:d第39页/共40页感谢您的观看!第40页/共40页