欢迎来到天天文库
浏览记录
ID:36206484
大小:1006.81 KB
页数:49页
时间:2019-05-07
《java程序设计基础-第2章java语言基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
主讲:高悟实JAVA程序设计基础TEL:88549109EMAIL:gws@sdili.edu.cn 第二章JAVA语言基础 通过本章的学习,主要掌握以下知识点:Java使用的数据类型数据类型转换由键盘输入数据运算符与表达式本章的重点:由键盘输入数据本章的难点:数据类型转换表达式及运算符的优先级、结合性3 本章主要介绍编写Java程序必须掌握的若干语言基础知识,包括数据类型、变量、常量、表达式等。掌握这些基础知识,是编写正确Java程序的前提条件。4 2.1数据类型Java定义了4类共8种基本类型,它们的分类及关键字如下:整型byte,short,int,long浮点型float,double逻辑型boolean字符型charJava数据类型分为两大类,一类是基本数据类型,另一类是引用类型。5 1.整型表2.1Java语言的四种整型类型数据位范围byte(字节型)8-128~127,即-27~27-1Short(短整型)16-32768~32767,即-215~215-1int(整型)32-2147483648~2147483647,即-231~231-1long(长整型)64-9223372036854775808~9223372036854775807,即-263~263-l6 2.浮点型表2.2Java的两种浮点型类 型数据位范 围float(单精度浮点)321.4E-45~3.4E+38double(双精度浮点)644.9E-324~1.8E+3083.逻辑型真:true假:false4.字符型7 表2.3Java的基本数据类型数据类型关键字占用字节数默认数值取值范围布尔型boolean1falsetrue,false字节型byte10-128~127短整型short20-32768~32767整型int40-2147483648~2147483647长整型long80L-9223372036854775808~9223372036854775807单精度浮点型float40.0F1.4×10-45~3.4×1038双精度型double80.0D4.9×10-324~1.8×10308字符型char2’u0000’’u0000’~’uffff’8 表2.4数值型常量的特殊值代码数据类型所在的类最小值代码最大值代码byteJava.lang.ByteByte.MIN_VALUEByte.MAX_VALUEshortJava.lang.ShortShort.MIN_VALUEShort.MAX_VALUEintJava.lang.IntegerInteger.MIN_VALUEInteger.MAX_VALUElongJava.lang.LongLong.MIN_VALUELong.MAX_VALUEfloatJava.lang.FloatFloat.MIN_VALUEFloat.MAX_VALUEdoubleJava.lang.DoubleDouble.MIN_VALUEDouble.MAX_VALUE9 2.2关键字与标识符1.关键字关键字(keyword)是Java中具有特殊含义的字符序列,因此Java不允许用户对关键字赋予其他的含义。Java定义的关键字如表2.5所示。10 表2.5Java定义的关键字abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile11 2.标识符Java用标识符(identifier)表示变量名、类名和方法名。(1)可以由字母、数字和下划线(_)、美元符号($)组合而成;(2)必须以字母、下划线或美元符号开头,不能以数字开头。12 2.3常量1.整型常量2.浮点型常量单精度浮点常量(后跟一个字母f或F)双精度浮点常量(后跟一个字母d或D,可省略)逻辑型常量true——真false——假字符型常量13 转义字符所代表的意义f换页(Formfeed),走纸到下一页。b退格(Backspace),后退一格。 换行(Newline),将光标移到下一行的开始。r回车(Carriagereturn),将光标移到当前行的行首,但不移到下一行。t横向跳格(Tab),将光标移到下一个制表符位置。\反斜线字符(Backslash),输出一个反斜杠。'单引号字符(Singlequote),输出一个单引号。"双引号字符(Doublequote),输出一个双引号。uxxxx1到4位十六进制数(xxxx)所表示的unicode字符。ddd1到3位八制数(ddd)所表示的unicode字符,范围在八进制的000~377之间。表2.6常用的转义字符14 5.字符串常量双引号引起的部分即为字符串常量如:“helloworld”6.常量的声明用关键字final标识,通常final写在最前面。例如:finalintMAX=10;finalfloatPI=3.14f;15 2.4变量使用变量的原则:先声明后使用。变量的三个基本要素:名字、类型和值。16 1.变量声明格式:<类型><变量名>[=<初值>][,<变量名>[=<初值>]……]例如:inti,j,k;在声明变量的同时可以对变量进行初始化,即赋初值。例如,inti=0;17 格式:变量名=值举例:booleanb=true;//声明boolean型变量并赋值intx,y=8;//声明int型变量floatf=2.718f;//声明float型变量并赋值doubled=3.1415;//声明double型变量并赋值charc;//声明char型变量c=’u0031’;//为char型变量赋值x=12;//为int型变量赋值2.变量的赋值18 2.5数据类型转换Java语言的数据类型在定义时就已经决定,因此不能随意转换成其他的数据类型,但java语言允许用户有限度地做类型转换处理,这就是数据类型转换。19 1.数值型不同类型数据的转换(1)自动类型转换①转换前的数据类型与转换后的类型兼容。②转换后的数据类型的表示范围比转换前的类型大。20 【例2.1】数据类型的自动转换。//app2_1.java类型自动转换publicclassapp2_1{publicstaticvoidmain(Stringargs[]){inta=155;floatb=21.0f;System.out.println(”a=”+a+”,b=”+b);//输出a,b的值System.out.println(”a/b=”+(a/b));//输出a/b的值}}输出结果为:a=155,b=21.0a/b=7.380952421 (2)强制类型转换格式:(欲转换的数据类型)变量名22 【例3.2】整型与浮点数据类型的自动转换。//app2_2.java整数与浮点数的类型转换publicclassapp2_2{publicstaticvoidmain(Stringargs[]){inta=155;intb=9;floatg,h;System.out.println(”a=”+a+”,b=”+b);//输出a,b的值g=a/b;//将a除以b的结果放在g中System.out.println(”a/b=”+g+” ”);//输出g的值System.out.println(”a=”+a+”,b=”+b);//输出a,b的值h=(float)a/b;//先将a强制转换成float类型后再参加运算System.out.println(”a/b=”+h);//输出h的值}}23 程序执行结果如下:a=155,b=9a/b=17.0a=155,b=9a/b=17.22222124 2.字符串型数据与数值型数据相互转换(1)字符串转换成数值型数据表3.7字符串转换成数值型数据的方法转换的方法功能说明Byte.parseByte()将字符串转换为字节型数据Short.parseShort()将字符串转换为短整型数据Integer.parseInt()将字符串转换为整型数据Long.parseLong()将字符串转换为长整型数据Float.parseFloat()将字符串转换为浮点型数据Double.parseDouble()将字符串转换为双精度型数据25 例如:StringMyNumber="1234.567";//定义字符串型变量MyNumberfloatMyFloat=Float.parseFloat(MyNumber);(2)数值型数据转换成字符串例如:intMyInt=1234;//定义整形变量MyIntStringMyString=""+MyInt;//将整型数据转换成了字符串26 2.6由键盘输入数据利用键盘输入数据,Java语言有如下基本格式:importjava.io.*;publicclassclass_name//类名称{publicstaticvoidmain(Stringargs[])throwsIOException{bufferedReaderbuf;Stringstr;……buf=newbufferedReader(newInputStreamReader(System.in));str=buf.readLine();……}}27 【例2.3】从键盘输入数据。//app2_3.java由键盘输入字符串importjava.io.*;//加载java.io类库里的所有类publicclassapp2_3{publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderbuf;Stringstr;buf=newBufferedReader(newInputStreamReader(System.in));System.out.print(”请输入字符串;”);str=buf.readLine();//将输入的文字指定给字符串变量str存放System.out.println(”您输入的字符串是:”+str);//输出字符串}}28 【例2.4】从键盘输入数字,然后将其转换成数值型数据。importjava.io.BufferedReader;importjava.io.*;publicclassapp2_4{publicstaticvoidmain(String[]args)throwsIOException{floatnum;Stringstr;BufferedReaderbuf;buf=newBufferedReader(newInputStreamReader(System.in));System.out.println("请输入一个实数");str=buf.readLine();num=Float.parseFloat(str);System.out.println("你输入的数为:"+num);}}29 3.输入多个数据我们可以利用java.util类库中的Scanner类简化输入多个数据。Importjava.util.*Publicclassclass_name//类名称{publicstaticvoidmain(Stringargs[]){Scannerreader=newScanner(System.in);doublenum;….num=reader.nextDouble();…}}30 //app2_5.java由键盘输入多个数据importjava.io.*;publicclassapp2_5{publicstaticvoidmain(Stringargs[]){intnum1;doublenum2;Scannerreader=newScanner(System.in);Scanner.out.print(“请输入第一个数:”);num1=reader.nextInt();System.out.print(“请输入第二个数:”);num2=reader.nextDouble();System.out.println(num1+”*”+num2+”=“+(num1*num2));}}31 2.7运算符与表达式算术运算符+、-、*、/、%、++、--关系运算符>、<、>=、<=、==、!=逻辑运算符!、&&、||、&、|位运算符>>、<<、>>>、&、|、^、~赋值运算符=、及其扩展赋值运算符,如+=、/=等。条件运算符?:其他运算符号包括分量运算符.、下标运算符[]、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符()等。32 1.二元算术运算符表:二元算术运算符运算符功能示例+加运算a+b-减运算a-b*乘运算a*b/除运算a/b%取模(求余)运算a%b2.7.1算术运算符33 2.一元算术运算符表:一元算术运算符运算符功能示例+正值+a-负值-a++加1++a或a++--减1--a或a--34 2.7.2关系运算符表:关系运算符运算符功能示例>大于a>b>=大于或等于a>=b<小于a5;//y=trueSystem.out.println(”x^y=”+(x^y));if(e!=0&b<0)System.out.println(”b/0=”+b/0);elseSystem.out.println(”a%e=”+a%e);intf=0;if(f!=0&&a/f>5)System.out.println(”a/f=”+a/f);elseSystem.out.println(”f=”+f);}}38 其运行结果为:a>左移a>>b将a各比特位向右移b位。<<右移a<>>0填充右移a>>>b将a各比特位向右移b位,左边的空位一律填0。2.7.4位运算符40 2.7.5赋值运算符1.赋值运算符格式:变量或对象=表达式赋值运算符右端的表达式可以还是赋值表达式,形成连续赋值的情况。例如:a=b=c=8;41 2.扩展赋值运算符在赋值符“=”前加上其他运算符,即构成扩展赋值运算符,例如:a+=3等价于a=a+3。42 表:扩展赋值运算符运算符示例等效表达式+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b&=a&=ba=a&b|=a|=ba=a|b^=a^=ba=a^b>>=a>>=ba=a>>b<<=a<<=ba=a<>>=a>>>=ba=a>>>b43 2.7.6条件运算符格式:<表达式1>?<表达式2>:<表达式3>其中“表达式1”是一个结果为逻辑值的布尔表达式。功能:先计算<表达式1>的值,当<表达式1>的值为true时,则将<表达式2>的值作为整个表达式的值;当<表达式1>的值为false时,则将<表达式3>的值作为整个表达式的值。44 例如:inta=1,b=2,max;max=a>b?a:b;//max获得a,b之中的较大值System.out.println("max="+max);//输出结果为max=245 2.7.7字符串运算符字符串运算符“+”完成字符串连接操作,如果必要,则系统自动把操作数转换为String型。例如:floata=100.0;//定义变量a为浮点型print("Thevalueofais"+a+" ");//系统自动将a转换成字符串46 2.7.8表达式及运算符的优先级、结合性47 表:运算符的优先级及结合性(表顶部的优先级较高)优先级运算符运算符的结合性1.[]()2++--!~+(正号)-(负号)instanceof右→左3new(类型)右→左4*/%左→右5+-(二元)左→右6<<>>>>>左→右7<><=>=左→右8==!=左→右9&左→右10^左→右11|左→右12&&左→右13||左→右14?:右→左15=+=-=*=/=%=<<=>>=>>>=&=^=|=右→左48 ThankYou!
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处