复习•上节课所学内容?•上机遇到的问题?(下载、环境参数、设置DOS路径、编写程序、编译程序、运行程序)•对学习Java的困惑?复习•设置环境参数Path=C:\ProgramFiles\Java\jdk1.5.0\binClasspath=C:\ProgramFiles\Java\jdk1.5.0\lib•设置命令提示符参数C:\javacJ2sdk1.5binlibtools.jarjavaappletviewer用户类文件所在目录myclasses当前目录editplusFileName.javajavacFileName.classjavaJavaoutputApplication复习-用Java建立Java应用程序的过程流图editplusFileName.javajavacFileName.classappletviewer、BrowserJavaoutputAppletHtmlfile用Java建立Java小应用程序的过程流图步骤1:编写Java源代码(Helloapplet.java)。步骤2:编译源代码生成Helloapplet.classjavacHelloapplet.java步骤3:编写html文件(如Helloapplet.html)步骤4:运行appletviewerHelloapplet.html用Java开发一个Applet第4讲java基础和基本API本章主要内容Java语言的数据类型、表达式Java的运算符基本API本章重点、难点Java的基本数据类型API的使用一、Java语言的基本元素(一)标识符:变量、方法和类的名称。可由字母(A-Z、a-z、汉字)、数字和“_”、“$”组合而成,并且第一个字符不能是数字。①Java是大小写敏感的语言,class和Class,System和system分别代表不同的标识符。②类名与文件名应该一致,否则编译出错。如:classHello的文件名应该是Hello.java③类名首字母大写,每个单词开头大写,其他用小写。比如:Hello.java,StarterApplet.java。④变量名、方法的第一个单词用小写字母,第二个以后的单词首字母大写。如:intmyAge;getMyAge();⑤应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义。第4讲java基础和基本API合法标识符不合法标识符FirstJavaApplet1FirstJavaApplicationMySalary12Tree&Glasses_isTrue-isTrue_$theLastOneJavaBuilderHelloWorld273.15例如:(二)Java中关键字关键字:Java语言本身使用的标识符例如:public、static、class(三)分隔符1、Java语言的注释符为了提高程序的可读性和可理解性,在源程序的开始或中间对程序的功能、作者、使用方法等所写的注释。A、/*…*/一行或多行注释B、//单行注释2、普通分隔符.点号,用于分隔包、类或分隔引用中的变量和方法;;(分号)Java语句的结束标志,逗号,分隔方法的参数和变量说明等;:冒号,说明语句标号;{}用来方法体(函数体)[]用来定义数组()圆括号,用于在方法定义和访问中将参数表括起来,或在表达式中定义运算的先后次序publicclassExample/*public是关键字,class是关键字,Example是标识符,是类的名称*/{//类体的开始publicstaticvoidmain(Stringargs[])/*定义一个main方法,args是形式参数*/{//方法体的开始inti,c;/*int是关键字,i,c变量名,也是标识符。;是普通分隔符,表示语句结束*/…}}二、数据类型(一)基本数据类型1、C语言的基本数据类型:intshortlongfloatdoublechar2、Java的数据类型:基本数据类型:整型,浮点型,布尔型和字符型数组类型:一维数组和多维数组;复和类型:包括类和接口;基本数据类型数据类型关键字占用位数取值范围布尔型boolean8true,false字符型char16‘\u0000’~‘\uFFFF’字节型byte8-128~127短整型short16-32768~32767整型int32-2147483648~2147483647长整型(L)long64-9223372036854775808~9223372036854775807浮点型(F)float321.40129846432481707e-45~3.40282346638528860e+38双精度型(D)double644.94065645841246544e-324~1.79769313486231570e+3083、使用数据类型的注意事项:·没有小数点的数字默认为int型数:如56带小数点的数字默认为double型数如45.0·其他数据要在数字后面加一个字母(大写或小写)表示数据类型,例:4L或4l:表示一个long型数5.0F或5.0f:表示一个float型数2.2.2常量(直接量)1、布尔常量truefalsefinalbooleanTAG=true;2、整型常量150170xF3、浮点型常量0.123123.0f123e3123e-3d4、字符常量‘A’‘\b’‘\u0041’‘\101’5、字符串常量“A”“Hello\nworld!”常量的声明格式:final类型常量名=值,…;如:finalintI=15;finalfloatJ=3.14,K=5.9;2.2.3变量3个元素:名字、类型、值1.声明变量的格式:类型变量名[[=初值],变量];例如:byteb1,b2;intv1=0,v2=10,v3=18;2.变量的使用范围成员变量:在类的开始处声明的变量局部变量:在方法和块中声明的变量例:publicclassV2{Staticinti=10;publicstaticvoidmain(Stringargs[]){intk=10;System.out.println(“i=”+i);System.out.println(“k=”+k);}System.out.println(“k=”+k);}3.变量类型的转换自动类型转换强制类型转换。位数较短的数据位数较长的数据inti=10;longj=i;自动类型转换强制类型转换例:longi=10;intj=i;longi=10;intj=(int)i;强制类型转换的格式是:(数据类型)数据表达式例如:inta;charb;b=‘A’;a=(int)b;2.3运算符与表达式赋值运算符算术运算符关系运算符条件运算符逻辑运算符其他运算符1、赋值运算符例如:a=b=c=0;a=0;b=0;c=0;运算符举例等价于=x=5x=5+=x+=10x=x+10-=x-=10x=x-10*=x*=10x=x*10/=x/=10x=x/10%=X%=7x=x%72、算术运算符运算符用法描述双目运算符+op1+op2加-op1-op2减*op1*op2乘/op1/op2除%op1%op2取模(求余)单目运算符++op正值++++op,op++加1--op负值----op,op--减1不同类型的数据要先转换成同一类型,然后进行运算。转换规则:double←floatlongint←char,short,byte表示必定的转换,表示当运算对象为不同类型时转换的方向3、关系运算符运算符用法返回true的情况>op1>op2op1大于op2>=op1>=op2op1大于或等于op2<op1<op2op1小于op2<=op1<=op2op1小于或等于op2==op1==op2op1与op2相等!=op1!=op2op1与op2不等关系运算符用来比较两个值,返回布尔类型的值true或false。4、条件运算符(?:)条件表达式?结果1:结果2;结合顺序是由右向左。如:a?b:c?d:e?f:g(a?b:(c?d:(e?f:g)))例:inta=5,b=2,result;result=ab?a-b:b-a;intc=28;c10?1:c25?2:c35?3:45、逻辑运算符!、&&、||op1op2op1&&op2op1||op2!op1falsefalsefalsefalsetruefalsetruefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalse&&称为逻辑与,当左边表达式的值为false时,不执行右边的表达式,为true时两边都执行;||称为逻辑或,当左边的表达式的值为true时,不执行右边表达式,为false时两边都执行;8运算符的优先级•优先级运算符•1[],()•2!•3(type)•4*,/,%•5+,-•6,,=,=•7==,!=•8&•9^•10!•11&&•12||•13?:•14=•注:优先级数越小,表示优先级越高,越优先运算•Java的应用程序接口(API)•Java的应用程序接口API是以包的形式提供的,每个包内包含大量相关的类、接口和异常。•(1)java.lang•Java语言的核心包,有Java程序所需要的最基本的类和接口,包括Object类、基本数据类型包装类、数学类、异常处理类、线程类、字符串处理类、系统与运行类和类操作类等。这个包由编译器自动引入。•(2)java.applet•用来实现运行于Internet浏览器中的JavaApplet的工具类库,它包含少量的几个接口和一个非常有用的类java.applet.Applet。•(3)java.awt•是Java抽象窗口工具箱包,包含许多字体和颜色设置、几何绘图、图像显示、图形用户接口操作的类和接口。•(4)java.io•是Java语言的标准输入/输出类库,包含实现Java程序与操作系统、外部设备以及其他Java程序做数据交换所使用的类,例如基本输入/输出流、文件输入/输出流、过滤输入/输出流、管道输入/输出流、随机输入/输出流等。还包含了目录和文件管理类等。•(5)java.net•是Java网络包,实现网络功能。•(6)java.util•包含了Java语言中的一些低级的实用工具,如处理时间的Date类,处理变长数组的Vector类,实现栈和杂凑表的Stack类和HashTable类等。•使用包中系统类的方法有三种:一种是继承系统类,在用户程序中创建系统类的子类,例如JavaApplet程序的主类作为java.applet包中Applet类的子类;第二种方法是创建系统类的对象,例如创建包装类的对象;最后一种方法是直接使用系统类,例如程序中常用的System.out.println()方法,就是系统类System的静态属性out的方法。