您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Java程序设计-2-变量和表达式.
Java程序设计第二章类型、变量和表达式2学习目标掌握八个原始类型理解标识符、变量和常量能够熟练的进行变量和常量的声明理解显式和隐式的类型转换辨认、描述并使用Java运算符掌握表达式中运算符的执行顺序使用赋值语句,掌握赋值兼容性2.1认识程序什么是程序?,有一个著名的公式说:3程序=数据结构+算法”什么是数据结构?简单的数据结构就是众所周知的整型、实型这样的数据表示,复杂的数据结构可以是由简单的数据结构组合而成,如数组。什么是算法?算法就是用什么样的方法处理给定的数据从而得到所需的结果。2.1一个计算圆面积的程序面积a=π×r2中,计算过程可以这样描述:第一步:给出圆的半径;第二步:将半径值带入圆面积计算公式,计算出圆面积,用a保存结果。4//程序2-1:一个计算圆面积的程序publicclassComputeArea{publicstaticvoidmain(String[]args){intr=10;doublearea=3.14*r*r;System.out.println(area);}}52.2变量在程序中表示数据有两种方法,一种是在表达式中直接用原始值来表示,如表示数值5、-6、7.86等,它们被称为“字面量(literal)另外一种是用一个特定的名字来间接表示,被称为“变量”间接表示的最大优点在于可以重复使用一个名字来表达某种类型的数值。注在Java语言中,所有的变量必须要首先声明,然后才能使用,而且访问一个未经初始化的局部变量,将导致编译错误。62.2.1标识符在Java编程语言中,标识符是赋予变量、类或方法的名称。标识符可从一个字母、下划线(_)或美元符号($)开始,随后可跟除了在Java中作为运算符之外的任何可见字符所构成的连续字符串,但不能被空格或制表符隔开。标识符是大小写区别对待的并且未规定最大长度标识符不能是关键字7表2-1有效与无效标识符有效标识符无效标识符IdentifieruserNameUser_name_sys_varl$change1User220usernameuser&namestar*michal-jordanc/javaHello+world8练习题下面哪些是合法的标识符:$personsTwoUsers*pointthisendline92.2.2Java关键字表2-2Java编程语言中的关键字abstractcontinuefornewswitchassert***defaultgoto*packagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenum****instanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfp**volatileconst*floatnativesuperwhile注:*未用;**1.2以后;***1.4以后;****1.5以后102.2.3基本Java类型Java类型基本类型引用类型空类型布尔类型数值类型整型浮点型类/接口数组类型11Java的基本数据类型表2-3Java的基本数据类型类型关键字占用字节缺省数值取值范围逻辑型booleanfalsetrue,false字符型char2‘\u0000’'\u0000'~'\uFFFF'’字节型byte10–128~127短整型short20–32768~32767整型int40–2147483648~2147483647长整型long80–9223372036854775808~9223372036854775807单精度float40.0F-3.4E38~3.4E38双精度double80.0D-1.7E308~1.7E308122.2.4变量声明Java属于强类型的程序设计语言。所有变量和表达式在编译时都有明确的类型[修饰符]类型变量名[=初值][,变量名[=初值]…]例如:intx=0,y=1,z=1;floata=0f,b=0.1f;charc1,c2,c3=’c’;doubled1=1.0d;booleanmycom=true;Dated1,d2;HelloWorldh1,h2;13为什么要进行变量声明变量就是一个保存有值的内存位置的名字表示声明变量,就是分配内存通过类型声明,可以明确的知道每个变量占据内存的大小;通过声明,对非局部变量定义了一个初值;重要的也在于可以重复使用一个名字来表达某种类型的数值。14逻辑类型booleantruth=true;//声明一个布尔类型的变量,并初始化其值为truth字符类型使用char类型可表示单个字符。一个char代表一个16-bit无符号的(不分正负的)Unicode字符。一个char文字必须包含在单引号内(‘’)。'a''\t'一个制表符‘\u????'一个特殊的Unicode字符。????应严格按照四个16进制数字进行替换15文本类型──char和StringString不是一个基本数据类型,它是一个类具有用双引号(””)引用的多个文字字符“Thequickbrownfoxjumpedoverthelazydog.”可按如下情形使用:Stringgreeting=“GoodMorning!!\n”;Stringerr_meg=“Recordnotfound!”;Char和String类型变量的声明和初始化如下所示:charch=`A';//declaresandinitializesacharvariablecharch1,ch2;//declarestwocharvariables//declaretwoStringvariablesandinitializethemStringgreeting=GoodMorning!!\n;Stringerr_msg=RecordNotFound!;Stringstr1,str2;//declaretwoStringvariables16小测验指出下面的错误声明,说明原因charch='AB';解释:单引号内只能包含一个字符charch1=“A”;解释:双引号表示界定的是一个字符串常量17整数类──byte,short,int,long2十进制值是2077首位的0表示这是一个八进制的数值0xBAAC首位的0x表示这是一个16进制的数值默认整数类文字属int类型,除非在其后直接跟着一个字母“L”或者“l”,L表示一个long值。bytesmallOne=7;shortcount=10000;intscore=100;longbigone=999999999L,largeOne;18课堂练习下面的哪些答案可以用以表示八进制值8。0100x10080x819课堂练习写出下面的输出结果intcolor=10;System.out.printf(10的8进制表示是%o\n,color);System.out.printf(10的10进制表示是%d\n,color);System.out.printf(10的16进制表示是%x\n,color);System.out.printf(10的2进制表示是%s\n,Integer.toBinaryString(color));System.out.printf(10的16进制表示是%s\n,Integer.toOctalString(color));System.out.printf(10的16进制表示是%s\n,Integer.toHexString(color));20浮点──float和double如果一个数字文字包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数字文字为浮点。3.14一个简单的浮点值(adouble)4.02E23一个大浮点值2.718F一个简单的float值123.4E+306D一个大的带冗余D的double值以下是有关浮点数类型变量的声明和初始化:floatpi=3.1415926,score;doubleweight=123.4E+36D;212.2.5变量初始化八种基本数据类型变量的默认值如下:booleanfalsebyte0char‘\u0000’,空,Unicode码的0000short0int0long0Lfloat0.0fdouble0.0初始化成员变量自动初始化局部变量必须在使用之前显示初始化22课堂练习进行下列变量说明初始值为0的int变量a初始值为1000的long变量b初始值为3.4的float变量c初始值为4的char变量ch初始值为true的boolean变量e23课堂练习下面程序的运行结果是什么?publicclassDemo{publicstaticvoidmain(String[]args){inti;System.out.println(i);}}24课堂练习替换下面的代码段到上述程序,分析现象。floatf=10.0f;doubled=100.0d;f=d;System.out.println(f=+f);25课堂练习inta=10;charc='a';a=c+a;System.out.printf(c=%c,a);262.2.6转义字符表2-4其它转义字符转义字符作用Unicode转义字符作用Unicode\\\\u\f换页\u\”“\u0022\n换行\u\’‘\u0027\r回车\u000D\b退格\u0008\t横向跳格\u000927//程序2-2:转义字符的应用publicclassEscapeDemo{publicstaticvoidmain(String[]args){System.out.println(“这是\u03c0”);System.out.println(“下面的数据输出是按照制表位控制的,每2个一行。”);System.out.print(10+“\t”+20+“\n”+30+“\t”+40+“\n”);}}28课堂练习将字符串”HelloWorld”中添加必要的转义字符,使得输出该字符串时,直接每行一个词。292.2.7常量字面常量和标识符常量。常量用法通常用在开发中用标识符来表示一个固定值,便于在程序中通过名称来引用。声明同时初始化finalintMAX_SPEED=200;先声明,随后初始化finalintMAX_SPEED;...MAX_SPEED=200;作为一种良好的编码习惯,常量名的定义一般均用大写来表示。302.2.8引用类型除去基本类型之外的所有类型都是引用类型;引用对象的变量就是引用变量。//下面的例子创建了一个新的类型,如CardpublicclassCard{charsuit;Stringrank;}声明一个变量Cardc=newCard();访问成员c.rank=“K”;312.3运算符和表达式表达式就是由变量、对象、运算符和方法调用构成的式子,表达式应该按照Java语法来构造,才可以被编译系统理解、执行,每个表达式都有一个某种类型的结果。如:inta==0,b=0,max=0;…max=ab?a:b;a+(ab?a:b);322.3.1运算符表2-4运算符的结合方向Separator[]();,RtoL++--+-~!(datatype)LtoR*/%LtoR+-LtoRLtoR==instanceofLtoR==!=LtoR&LtoR^LtoR|LtoR&&LtoR||RtoL?:RtoL=*=/=%=+=-====&=^=|=33一元运算符即支持前缀形式,也支持后缀形式。如:ope
本文标题:Java程序设计-2-变量和表达式.
链接地址:https://www.777doc.com/doc-2881245 .html