欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    java-第2章Java语言基础.ppt

    • 资源ID:70795129       资源大小:246.99KB        全文页数:35页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java-第2章Java语言基础.ppt

    第第2章章Java语言基础语言基础n2.1标识符与关键字标识符与关键字n2.2基本数据类型基本数据类型n2.3变量与常量变量与常量n2.4运算符与表达式运算符与表达式n2.5流程控制流程控制n2.6数组和字符串数组和字符串序序:Java与与C+(语言基础比较语言基础比较)n对于变量声明、参数传递、操作符、流控制等使用和对于变量声明、参数传递、操作符、流控制等使用和C+相同的传统相同的传统n摒弃了摒弃了C和和C+中许多不合理的内容中许多不合理的内容n全局变量:全局变量:Java中没有全局变量。中没有全局变量。n指针:指针:Java不支持指针。不支持指针。n数据类型的支持:数据类型的支持:Java在不同平台上数据类型都统在不同平台上数据类型都统一。一。n内存管理:内存管理:Java自动回收无用内存自动回收无用内存。2.1标识符与关键字标识符与关键字n标识符是赋予变量、类和方法等的名称标识符是赋予变量、类和方法等的名称n可从一个字母、下划线可从一个字母、下划线(_)或美元符号或美元符号($)开始。开始。n是是大小写区别对待的大小写区别对待的,且无最大长度。且无最大长度。n合法的标识符:合法的标识符:identifieruserNameUser_name_sys_varl$changen注意:注意:nJava技术源程序采用有效的技术源程序采用有效的16-bit双字节字符编码标准双字节字符编码标准(Unicode),而不是而不是8-bitASCII文本。文本。(见例题见例题2-1)2-1)n包含美元符号(包含美元符号($)的关键字通常用的较少,因为)的关键字通常用的较少,因为Java用它来表示内部用它来表示内部类,因而最好避免在标识符中使用它们。类,因而最好避免在标识符中使用它们。n检查哪些字符可以用作变量名可用检查哪些字符可以用作变量名可用Character类中的两个方法判断类中的两个方法判断 (java.lang.Character):boolean isJavaIdentifierStart()和boolean isJavaIdentifierPart()1.标识符标识符例题:例题:(Unicode字符字符)publicclassExamplenpublicstaticvoidmain(Stringargs)nncharchinaWord=你你,japanWord=;nintp1=20328,p2=12358;nSystem.out.println(汉字汉字你你字在字在Unicode表中的顺序位置表中的顺序位置:+(int)chinaWord);nSystem.out.println(日语日语字在字在unicode表中的顺序位置表中的顺序位置:+(int)japanWord);nSystem.out.println(unicode表中第表中第20328位置上的字符是位置上的字符是:+(char)p1);nSystem.out.println(unicode表中第表中第12358位置上的字符是位置上的字符是:+(char)p2);nnn注:关于注:关于Unicode信息可以查看信息可以查看nhttp:/unicode.org/standard/translations/s-chinese.html(中文)(中文)2.Java关键字(见书关键字(见书13页)页)n数据成分:数据成分:nboolean,int,byte,short,long,char,float,double,void,null,nclass,extends,abstract,interface,implements,nprivate,protected,public,super,this,nconst,final,static,transient,volatile,native,synchronized,n运算加工成分:运算加工成分:nnew,=,n+,-,*,/,%,+,-,?:,&,|,n=,=,!=,instanceof,n控制成分控制成分:nfor,while,do,if,else,switch,case,default,break,continue,goto,return,nthrow,throws,try,catch,finally,n程序结构成分:程序结构成分:nimport,package,(,),;,“,/,/*,*/ntruetrue、falsefalse和和nullnull为小写,而不是象在为小写,而不是象在C+C+语言语言中那样为大写。中那样为大写。n无无sizeofsizeof运算符,所有类型的长度和表示是固定运算符,所有类型的长度和表示是固定的。的。ngotogoto和和constconst在在JavaJava中是关键字,但没有实际语中是关键字,但没有实际语义。义。注意注意:2.2数据类型数据类型简单简单数据数据类型类型布尔数据类型布尔数据类型(boolean)1位位(1bit)字符类型字符类型(char)2字节字节(16bit)整数类型整数类型(int)byte1字节字节(8bit)short2字节字节(16bit)int4字节字节(32bit)long8字节字节(64bit)浮点类型浮点类型(float)float4字节字节(32bit)double8字节字节(64bit)复合数据类复合数据类型型类类(class)接口接口(interface)数组数组(array)JavaCcharcharchar(16bit)char(signedchar)(8bit)(-128-127)unsignedchar(8bit)(0-255)intbyte(8bit)(-128-127)int(32bit)int(signedint)与机器有关与机器有关unsignedintshort(16bit)shortint(signedshortint)16bitunsignedshortint16bitlong(64bit)longint(signedlongint)32bitunsignedint32bit浮点数浮点数float(32bit)float32bitdouble64bitdouble(64bit)longdouble80bit2.Java与与C+基本数据类型比较基本数据类型比较3.基本数据类型的封装类基本数据类型的封装类基本数据类型基本数据类型封装类封装类booleanBooleancharCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble注:所有的封装类都提供了静态的注:所有的封装类都提供了静态的valueOf(Strings)方法,把给定的方法,把给定的String类型转换类型转换成对应的简单类型成对应的简单类型2.3常量与变量常量与变量n常量:常量:-使用关键字使用关键字final进行修饰进行修饰例如:例如:finalintMAX=10;finalfloatPI=3.14f;n变量变量:1.变量的声明变量的声明:=,=.2.变量的初始化:变量的初始化:例如:例如:inti=0;booleantruth=true;charc=A;floatx=3.14f;2.4运算符与表达式运算符与表达式n算术运算符:算术运算符:+,-,*,/,%n递增递减运算符:递增递减运算符:+,-(!建议不要和其他表达式混建议不要和其他表达式混用。用。)n关系运算符:关系运算符:=,=,数学函数和常量:数学函数和常量:Math类中提供类中提供sqrt,random,sin,cos,tan,atan,atan2,exp,log,PI,E。(java.lang)若要保证平台无关性,应使用若要保证平台无关性,应使用StrictMath类。类。n1.常用运算符常用运算符举例:举例:(运算符运算符)nclassExample2_3npublicstaticvoidmain(Stringargs)nchara1=十十,a2=点点,a3=进进,a4=攻攻;n/好的命名习惯是一行只定义一个变量好的命名习惯是一行只定义一个变量ncharsecret=8;na1=(char)(a1secret);a2=(char)(a2secret);na3=(char)(a3secret);a4=(char)(a4secret);nSystem.out.println(密文密文:+a1+a2+a3+a4);na1=(char)(a1secret);a2=(char)(a2secret);na3=(char)(a3secret);a4=(char)(a4secret);nSystem.out.println(原文原文:+a1+a2+a3+a4);nn2.常用运算符的优先级常用运算符的优先级n优先级由高到低为:优先级由高到低为:.();,+-+(正号正号)-(负号负号)(造型造型)new*/%+-=instanceof=!=&|&|?:=+=-=*=/=%=&=|=n明白优先级顺序可以省略括号,如明白优先级顺序可以省略括号,如语句语句if(x+y3)利用了利用了+优先级比优先级比高。高。2.5流程控制流程控制n程序的控制结构分为顺序结构、程序的控制结构分为顺序结构、分支分支结构和结构和循环循环结构结构n1.分支结构:分支结构:If语句语句(二路分支二路分支):格式:格式if(布尔表达式布尔表达式)/或者是或者是语句序列语句序列;else/或者是或者是语句序列语句序列;注注:if(布尔表达式布尔表达式)可以由多个条件经过逻可以由多个条件经过逻辑运算而得到,称为复合条件。复合条件辑运算而得到,称为复合条件。复合条件的布尔运算符是的布尔运算符是&,|,!,&,|.if语句可以嵌套语句可以嵌套Switch语句语句(多路分支多路分支):格式:格式 switch(表达式表达式)case:;break;case:;break;.default:;注注:switch和和case常量表达式中的类常量表达式中的类型可以是型可以是byte、short、int、long和和char。而不能为。而不能为boolean,且类型一致。且类型一致。举例举例:(分支语句分支语句)npublicclassExample2_4/if语句举例语句举例npublicstaticvoidmain(Stringargs)nintmath=65;nintenglish=85;nif(math60)nSystem.out.println(数学及格了数学及格了);nnelsenSystem.out.println(数学不及格数学不及格);nnif(english90)nSystem.out.println(英语是优英语是优);nnelsenSystem.out.println(英语不是优英语不是优);nnif(math60&english90)nSystem.out.println(英语是优英语是优,数学也及格了数学也及格了);nnSystem.out.println(我在学习控制语句我在学习控制语句);nnnimportjava.applet.*;nimportjava.awt.*;npublicclassExample2_5extendsApplet/switch语句语句npublicvoidpaint(Graphicsg)nintx=2;ninty=1;nswitch(x+y)ncase1:ng.setColor(Color.red);g.drawString(iam1,5,10);nbreak;ncase2:ng.setColor(Color.blue);g.drawString(iam2,5,10);nbreak;ncase3:ng.setColor(Color.green);g.drawString(iam3,5,10);nbreak;ndefault:g.drawString(没有般配的没有般配的,5,10);nnn2.循环结构循环结构for语句:格式语句:格式 for(;)/语句序列语句序列while语句:格式语句:格式while();/语句序列语句序列-确认循环控制变量正确初始化,控制变量必须被正确更新以防止死循环确认循环控制变量正确初始化,控制变量必须被正确更新以防止死循环。dowhile语句:格式语句:格式do/语句序列语句序列while()举例:举例:(循环结构循环结构)nimportjava.applet.*;nimportjava.awt.*;npublicclassExample2_5extendsAppletnpublicvoidpaint(Graphicsg)nlongjiecheng=1;nfor(inti=10;i=1;i-)njiecheng=jiecheng*i;nng.drawString(10的阶乘是的阶乘是+jiecheng,10,20);nn(1)求求10的阶乘的阶乘(for语句语句)npublicclassExample2_6npublicstaticvoidmain(Stringargs)nintsum=0;nintI;nintj;nfor(i=1;i=10;i+)/计算计算1+3+5+7+9。nif(i%2=0)ncontinue;nsum=sum+i;nnSystem.out.println(sum=+sum);nfor(j=2;j=50;j+)/求求50以内的素数以内的素数(见书中例题见书中例题2.15)nfor(i=2;ij/2)nSystem.out.println(+j+是素数是素数);nn/endoftheouterfornn(2)for语句语句npublicclassExample2_7publicstaticvoidmain(Stringargs)finalintMAX=20;inti=0;/-F0intj=1;/-F1intk=0;while(kMAX)System.out.println(“+i+”“+j);i=i+j;/-F2=F0+F1j=i+j;/-F3=F2+F1k=k+2;System.out.println();(3)求求Fibonacci序列序列(while语句语句)npublicclassExample2_8nnpublicstaticvoidmain(Stringargs)inta=12;intb=18;intk=0;System.out.print(“gcd(“+a+”,”+b+”)=“);dok=a%b;a=b;b=k;while(k!=0);System.out.println(a);(4)用辗转相除法求两个整数的最大公因数用辗转相除法求两个整数的最大公因数(do.while语句语句)nbreak;n用来从用来从switch语句、语句、循环循环语句语句中退出。中退出。一般与一般与ifif一起使用一起使用ncontinue;n用来结束本次用来结束本次循环循环。一般与一般与ifif一起使用一起使用nreturn返回值;返回值;n用来使程序从方法中返回,并为方法返回一个值。用来使程序从方法中返回,并为方法返回一个值。nlabel:语句语句;n标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合语句。语句。n!不提倡用标号不提倡用标号!3.特殊流程控制特殊流程控制importjava.awt.Graphics;importjava.awt.Graphics;importjava.applet.Applet;importjava.applet.Applet;publicclassBreakTestextendsAppletpublicclassBreakTestextendsApplet publicvoidpaint(Graphicsg)publicvoidpaint(Graphicsg)intcount,square,xPos=25;intcount,square,xPos=25;for(count=1;count=10;count+)for(count=1;count=70)break;if(square=70)break;g.drawString(Integer.toString(square),xPos,25);g.drawString(Integer.toString(square),xPos,25);xPos+=20;xPos+=20;g.drawString(Brokeoutofloopatcount=+count,25,40);g.drawString(Brokeoutofloopatcount=+count,25,40);举例:举例:break举例举例举例:举例:continue举例举例importjava.awt.Graphics;importjava.applet.Applet;publicclassContinueTestextendsAppletpublicvoidpaint(Graphicsg)intxPos=25;for(intcount=1;count=10;count+)if(count=5)continue;g.drawString(Integer.toString(count),xPos,25);xPos+=15;g.drawString(skipprinting5,25,40);2.6数组和字符串数组和字符串nA:数组:数组nJava中创建一个一维数组步骤:中创建一个一维数组步骤:1.声明一维数组变量:声明一维数组变量:;2.使用使用new为数组分配空间为数组分配空间:=new长度长度n可以声明时为数组赋初值可以声明时为数组赋初值例:例:inta=1,2,3,4,5;n数组的长度数组的长度lengthjava提供了提供了length属性属性返回数组的长度,即数组元素的个返回数组的长度,即数组元素的个数数n注:注:n方括号在变量名之后表示该变量为数组。方括号在变量名之后表示该变量为数组。n方括号在类型之后表示方括号在类型之后表示后面的变量全部后面的变量全部为数组,为数组,推荐使用这种形式推荐使用这种形式,因为便于阅读和初始化。因为便于阅读和初始化。例:例:student mystudent,herstudent/student mystudent,herstudent/说明都是数组说明都是数组n声明声明数组时,声明的是一个引用,而并没有实际分配内存空间。数组时,声明的是一个引用,而并没有实际分配内存空间。举例:数组举例:数组/求一组数中的最大和最小值求一组数中的最大和最小值publicclassExample3_3publicstaticvoidmain(Stringargs)finalintSIZE=10;/常量常量inttable=newintSIZE;inti,max,min;for(i=0;itable.length;i+)tablei=(int)(Math.random()*100);/产生随机产生随机数数System.out.print(“table:“);for(inti=0;itable.length;i+)System.out.print(“+tablei);/输出一维数输出一维数组组System.out.println();max=table0;min=table0;for(i=1;imax)max=tablei;if(tableimin)min=tablei;System.out.println(“Max=“+max);System.out.println(“Min=“+min);(1)创建一个字符串创建一个字符串Stringstr=“abc”;或者:或者:Stringstr=newString(“thisisastring”);Stringstr=null;str=“thisisastring”;注:注:String类有若干个不同的构造函数类有若干个不同的构造函数 String()String(bytebytes)String(bytebytes,intoffset,intlength)String(bytebytes,intoffset,intlength,StringcharsetName)String(bytebytes,StringcharsetName)String(charvalue)String(charvalue,intoffset,intcount)String(Stringoriginal)String(StringBufferbuffer)例:例:chardata=a,b,c;Stringstr=newString(data);B:字符串:字符串(java用用String标记字符串,是标记字符串,是java的一个类的一个类)(2)String类的常用方法:类的常用方法:方法方法说明说明intlength()返回字符串的长度返回字符串的长度booleanequals(Objectobj)比较字符串是否相等比较字符串是否相等intcompareTo(Stringstr)比较字符串,返回两者之间的差值比较字符串,返回两者之间的差值Stringconcat(Stringstr)连接字符串连接字符串Stringsubstring(intbeginIndex)返回字符串从返回字符串从beginIndex开始的字符串开始的字符串Stringsubstring(intbeginIndex,intendIndex)返回字符串从返回字符串从beginIndex开始到开始到endIndex结束的字符串结束的字符串charcharAt(intindex)返回返回index指定位置的字符指定位置的字符intindexOf(Stringstr)返回返回str在字符串中第一次出现的位置在字符串中第一次出现的位置Stringreplace(charoldc,charnewc)以以newc字符替换串中所有的字符字符替换串中所有的字符举例:字符串举例:字符串n1.indexOf()举例举例-一个查找子串的应用程序一个查找子串的应用程序publicclassExample3_4publicExample3_4()super();publicintdoSearch(Stringstr,Stringsubstr)returnstr.indexOf(substr);publicstaticvoidmain(Stringargs)if(args.length!=2)System.out.println(Usage:javaIndexOfExample);System.exit(0);Example3_4example=newExample3_4();Stringstr=args0;Stringsubstr=args1;System.out.println(searchingstring:+str+for:+substr);intindex=example.doSearch(str,substr);if(index!=-1)System.out.println(Foundthesubstringposition+index);elseSystem.out.println(Didnotfindthesubstring);JavaExample3_4“anappleaday”dayn2.字符串比较字符串比较调用调用equals();调用调用equalsIgnoreCase()使用标准比较运算符使用标准比较运算符=compareTo()-一个比较两个字符串的应用程序一个比较两个字符串的应用程序publicclassExample3_5publicExample3_5()super();publicintcompareStrings(Stringstr1,Stringstr2)pareTo(str2);publicstaticvoidmain(Stringargs)if(args.length!=2)System.out.println(“Usage:javastringCompareExample);System.exit(0);Example3_5example=newExample_5();Stringstr1=args0;Stringstr2=args1;System.out.println(“comparestring:”+str1+”with:”+str2+”);Intresult=pareStrings(str1,str2);If(result0)System.out.println(“String1isgreaterthanString2”);ElseSystem.out.println(“String1andString2areequal”);JavaStringCompareExample”Allgoodthings”Allgoodpeople”-与与String类的区别类的区别StringBuffer类创建的类创建的String对象可以通过很多方式进行对象可以通过很多方式进行变化变化String类不能改变类不能改变-创建一个创建一个StringBuffer对象对象StringBuffer();-生成空的生成空的StringBufferStringBuffer(intlength);-生成一个给定长度的空生成一个给定长度的空StringBufferStringBuffer(Stringstr);-通过一个通过一个String对象或对象或String文字生成一个文字生成一个StringBuffer(3)StringBuffer类:类:-StringBuffer的操作的操作(1)在在StringBuffer后附加内容后附加内容例:例:StringBufferbuf=newStringBuffer();buf.append(“thisis”);buf.append(“anotherway”);buf.append(5);或者:或者:buf.append(“thisis“).append(“StringbufferObject”);(2)转换一个转换一个StringBuffer对象为字符串对象为字符串例:例:StringBufferbuf=newStringBuffer();buf.append(“thisis”);buf.append(“anotherway”);returnbuf.toString();(3)提取字符串提取字符串(charAt()和和getChars(),subString()例:例:StringBufferbuf=newStringBuffer(“StringBuffer”);charch=buf.charAt(5);或者:或者:StringBufferbuf=newStringBuffer(“StringBuffer”);charch=newchar20;buf.getChars(7,10,ch,0);(4)使用使用set系列的方法对系列的方法对StringBuffer对象进行操作对象进行操作例:例:buf.setLength();buf.ensureCapacity(512);buf.setCharAt(index,char);补充:补充:java基本的输入输出语句基本的输入输出语句n控制台输出:控制台输出:直接输出字符串,非字符串类型会直接输出字符串,非字符串类型会自动转化为字符串。自动转化为字符串。ln(y);n控制台键盘输入:控制台键盘输入:从键盘输入流读入字符串,再从键盘输入流读入字符串,再转化为相应的类型。转化为相应的类型。importjava.io.*;publicstaticvoidmain(Stringargs)throwsIOExceptionInputStreamReaderins=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(ins);Stringstr=br.readLine();作业作业n1:创建一个阶乘应用程序:创建一个阶乘应用程序n一个数一个数X的阶乘(通常记作的阶乘(通常记作X!)等于)等于X*(X-1)*(X-2)*1。例如。例如4!等于等于4321=24。n创建一个称作创建一个称作Factor的应用程序,运行时从键盘输入一的应用程序,运行时从键盘输入一个正整数,输出其阶乘个正整数,输出其阶乘n考虑你的程序能计算的最大数是多少。考虑你的程序能计算的最大数是多少。n2:求解一个几何题程序:求解一个几何题程序n已知一个直角三角形,其弦(最长边)的长度由下列公已知一个直角三角形,其弦(最长边)的长度由下列公式给出:式给出:n编写一个称作编写一个称作hypotenuse的的Java程序,从键盘输入直程序,从键盘输入直角三角形的两条直角边长度,输出最长边长度。角三角形的两条直角边长度,输出最长边长度。n提示:提示:使用使用java.lang.Math类的类的sqrt方法。方法。n3数组作业:数组作业:n一维数组一维数组n创建一个数组,它有创建一个数组,它有10个个int值,范围从值,范围从1至至10,将引用赋给变量,将引用赋给变量thisArray;n用随便的值初始化这个数组,打印出数组所有值;用随便的值初始化这个数组,打印出数组所有值;n编写程序将这个数组中的值从小到大排列,再打印出所有值。编写程序将这个数组中的值从小到大排列,再打印出所有值。n多维数组多维数组n创建一个创建一个5行的倒三角形二维整形数组,将引用给变量行的倒三角形二维整形数组,将引用给变量array2D;n为第一行随便赋一些初值;为第一行随便赋一些初值;n编写程序计算下面几行的值,算法为编写程序计算下面几行的值,算法为:元素的值元素的值=上一行中元素上一行中元素+上一行中右边元素上一行中右边元素n如:如:123453579n思考思考:如何创建三维和三维以上数组?使用数组的缺点是什么?:如何创建三维和三维以上数组?使用数组的缺点是什么?

    注意事项

    本文(java-第2章Java语言基础.ppt)为本站会员(wuy****n92)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开