




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,回顾Java语言概述,Java的历史与发展Java的特点Java开发环境的搭建Java的程序结构(application,applet),复习,源程序格式关键字和标识符基本数据类型(常量,变量)运算符程序的控制流程String类StringBuffer类数组输入输出,第二章Java编程基础,Java源程序格式,Packagedeclaration包的申明Importstatements导入语句Classdefinitions类的定义,修饰符class类名,Java严格区分大小写,Java是一种自由格式语言文件名以.java结尾;一个源文件中最多包含一个public类,和多个非public的类;源文件名与public类名相同,例:FormatTest.java,Java的注释,/单行注释/*/多行注释/*/形成专业文档,不会出现在可执行程序中多行注释不能嵌套,关键字和标识符,abstractdefaultifprivatethisbooleandoimplementsprotectedthrowbreakdoubleimportpublicthrowsbyteelseinstanceofreturntransientcaseextendsintshorttrycatchfinalinterfacestaticvoidcharfinallylongstrictfpvolatileclassfloatnativesuperwhileconstfornewswitchcontinuegotopackagesynchronizedassertfalsenulltrue,关键字不可作为标识符;全部为小写,关键字和标识符,标识符(identifiers)第一个字符:字母$_其他字符:字母$_数字注意:字母包括在某种语言中代表字母的任何unicode字符,以下为合法的标识符:A98_23_abcUsdollarsusername,以下为非法的标识符:A-43_1Helloworldclass,直接量(literals),整型直接量:32位(默认)和64位(长整型L/l)28(十),034(八),0X1C(十六),浮点直接量:32位(F/f)和64位(双精度D/d,默认)19.4(一般表示)1.94E1(指数表示),boolean直接量:true,false不能转化为int型,在程序中直接出现的不变值例:LiteralTest.java,直接量(literals),字符型直接量:用单引号界定c,u0063采用Unicode码,字符串直接量:用双引号界定“HELLO,WORLD”+号的特殊用法,直接量(literals),特殊字符引用方法意义b回退t水平制表符tabn换行r回车”双引号单引号反斜线,数据类型,整数类型(byte,short,int,long)浮点类型(float,double)基本数据类型字符型(char)数据类型(primitive)布尔型(boolean)引用数据类型类(reference)接口数组,JDK5中增加了枚举类型,基本数据类型,数据类型关键字位数缺省数值布尔型boolean8false字符型char16u0000字节型byte80短整型short160整型int320长整型long640单精度型float320.0F双精度型double640.0D,注意:变量的取值范围;作用域;初始化(成员变量,自动变量,类变量)final申明常量;常量必须在使用前说明和初始化,一旦初始化就不能再改变它的值,例:VariableTest.java,变量类型转换,自动转换conversion(赋值、方法调用、数学运算)强制转换casting(目标类型),自动提升(arithmeticpromotion)byte,short,char-intdouble,float,long,例:TypeConversionTest.java,运算符,算术运算符赋值运算符关系运算符逻辑运算符位运算符,算术运算符,双目运算符+,/,%(取余)+号:可连接字符串“He”+“llo”为“Hello”单目运算符(自运算符)+,-,运算符的位置决定自运算的顺序a=3,b=5;c=(a+)*b;a=?,c=?,+:一元减号,加号,例:OperatorTest.java,赋值运算符,=op=例如:x+=45;,逻辑运算符,表示两布尔量的逻辑关系,结果仍为布尔量case取值n:语句块n;break;default:语句块n+1;break;,例:SwitchTest.java,表达式为int,byte,char,short,枚举类型注意breakdefault为可选取值是直接量,所有case子句中的值应是不同的。,while循环语句,while(条件表达式语句)执行语句,dowhile循环语句,do执行语句while(条件表达式语句);,for循环语句,for(表达式1;表达式2;表达式3)执行语句注意:若表达式1中声明了一个变量,则其作用域为for循环体内部,例:ForLotteryTest.java,for(variable:collection)执行语句注意:变量用于暂存集合中的每一个元素,集合是一个数组或实现了Iterable接口的类对象,break与continue,break:退出内层循环,退出switch语句带标签的break:用于退出多重循环,跳转到带标签的语句块末尾continue:跳出当前循环的剩余语句,接着执行下一次循环带标签的continue:跳到与标签匹配的循环的首部,例:ContinueBreakTest.java,尽量少用带标签的break和continue,String类,栈,某方法的栈空间,堆,.,0 x3000Stringx=newString(“abc”),Stringx=“abc”;Stringx=newString(“abc”);,x=newString(“def”);,def,0 x3010,0 x3010,内容不可改变的字符串,String类,栈,某方法的栈空间,堆,.,Stringx=“abc”;Stringy=“abc”;Stringz=newString(“abc”);Strings=newString(“abc”);,abc,0 x3010,0 x4000,0 x4000,y,0 x3010,z,0 x3000,s,abc,0 x4000,String类,串连接+子串substring(position1,position2)串编辑length(),charAt(n),indexOf(),trim(),replace(char1,char2)测试串是否相等equals(),equalsIgnoreCase(),Strings=“Hello,”;Stringt=“Java!”;Stringn=s+t;intage=13;Stringm=“Hisageis”+age;,Strings=“Hello”;Stringt=s.substring(0,4),Strings=“hello”;intn=s.length();charlast=s.charAt(4);intm=s.indexOf(e);intm=s.indexOf(“llo”);,String类,串连接+子串substring(position1,position2)串编辑length(),charAt(n),indexOf(),trim(),replace(char1,char2)测试串是否相等equals(),equalsIgnoreCase()其他方法见JDK文档,Strings=“Hello”;Stringt=“Hello”;s.equals(t);s=t:测试两个串是否放在同一位置,例:StringTest.java,StringBuffer,用于可改变的字符串(例:StringBufferTest.java),构造方法:StringBuffer()StringBuffer(intcapacity)StringBuffer(StringintialString),常用方法:StringBufferappend(Stringstr)StringBufferinsert(intoffset,Stringstr)StringBufferreverse()StringBuffersetCharAt(intoffset,charnewChar)StringBuffersetLength(intnewLength),StringBuilder的用法类似,用于单线程,一维数组,声明(declaration)typearrayName;typearrayName;注意:类型(type)可以为Java中任意的数据类型,包括基本类型和引用类型;不允许指定数组的大小;推荐使用第二种写法。,intintArray;intintArray;StringstringArray;,创建(construction)arrayName=newtype数组大小;注意:创建时,数组元素被自动初始化;数组创建后不能修改大小。,intintArray;/声明intArray=newint3;/创建intintArray=newint3;,一维数组,栈,某方法的栈空间,0 x3000,堆,0 x3000 x=newint3,一维数组,初始化(initialize),intintArray=1,2;intintArray=newint1,2;StringstringArray=abc,How,you;,intintArray;intArray=newint5;for(inti=0;i5;i+)intArrayi=i*i;,StringstringArray;stringArray=newString3;stringArray0=How;stringArray1=are;stringArray2=you;,intintArray;intArray=newint2;intArray0=1;intArray1=2;,一维数组,引用arrayNameindex注意:index;length;越界处理,与数组相关的方法System.arraycopy(from,fromIndex,to,toIndex,count)Arrays.sort(.),Arrays.copyOf(.);参考java.util.Arrays和java.lang.System的文档,例:ArrayTest.java;LotteryArrayTest.java,for(intelement:intArray)System.out.println(element);,for(inti=0;iintArray.length;i+)System.out.println(intArrayi);,二维数组,二维数组的声明typearrayName;typearrayName;,二维数组,二维数组创建和初始化,inta=1,2,2,3,3,4,5;,/直接为每一维分配空间inta=newint23;,/从最高维开始,分别为每一维分配空间inta=newint3;a0=newint2;a1=newint2;a2=newint3;,inttemp=a0;a0=a1;a1=temp;,二维数组,二维数组的创建和初始化,Strings=newString2;s0=newString1;s1=newString3;s00=Good;s10=Luck;s11=to;s12=You;,例:MatrixMultiply.java;,输入输出,输入可以使用Scanner,从控制台窗口读取输入(JDK5.0引入)常用方法nextLine():读取输入的一行next():读取输入的一个字符串,以空格作为分隔符nextInt():读取输入的一个整数nextDouble():读取输入的一个浮点数其它类型的输入与此类似,参见JDK文档,Scannerin=newScanner(System.in);/构造一个从标准输入流接收输入的Scanner对象Stringname=in.nextLine();StringfirstName=in.next();intage=in.nextInt();,例:InputTest.java,输入输出,格式化输出可直接使用System.out.println(),System.out.print()输出JDK5.0中引入System.out.printf(),与c类似用于printf的转换符见教材54页表3-5,标志见表3-6用于日期和时间的转换符见教材55页表3-7可参看JDK文档,doublex=-10000.0/3.0;System.out.println(x);/以x对应数据类型所允许最大非0数字位数输出System.out.printf(%8.2fn,x);/f为转换符,代表浮点数;最少8个字符宽度和小数点后两位输出xSystem.out.printf(%,.2fn,x);/,标志表示添加了分组的分隔符System.out.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【中考专题】2026年中考数学专项提优复习:圆【附答案】
- 2025酒店客房代销品采购合同
- 2025年甘肃省平凉华亭市山寨回族乡招聘行政村村文书模拟试卷及答案详解一套
- 2025福建农信春季招聘考试服务热线考前自测高频考点模拟试题完整答案详解
- 2025标准合同模板:厨师劳务聘用合同样本
- 2025企业经营承包合同模板
- 2025福建福州市永泰县青少年业余体校外聘柔道教练员招聘1人模拟试卷及完整答案详解1套
- 2025广东深圳北京大学国际法学院招聘1人模拟试卷完整答案详解
- 2025福建闽南师范大学引进人才招聘97人模拟试卷附答案详解(完整版)
- 2025年福建省市场监督管理局直属事业单位公开招聘20人考前自测高频考点模拟试题(含答案详解)
- 竞彩资格考试题库及答案
- 失眠中医养生课件
- 妇科专业疾病临床诊疗规范2025年版
- 2025年自学考试《00504艺术概论》考试复习题库(含答案)
- T/CHES 117-2023城市河湖底泥污染状况调查评价技术导则
- T/CHES 98-2023取水口设施标准化建设与管理技术规程
- 平安医院建设试题及答案
- 专项项目贡献证明书与业绩认可函(8篇)
- 2025年广东省广州市中考二模英语试题(含答案)
- 消防员心理测试题库及答案解析
- 贷后管理协议合同
评论
0/150
提交评论