还剩19页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
编程基础一课堂笔记详解JAVA)课程使用的开发环境1文献中重要是包括我们此后要用到的命令•bin:重要包括开发过程中要用到的包•lib:java java)环境变量的配置2假如使用等开发工具,则不配置环境变量也是可以正常使用等功能,不过在•ecplise jdk中却使用不了,配置环境变量则可以在中使用dos dos环节•右击我的电脑一》属性一》高级一》环境变量一》编辑系统变量中的(在背面加上path path一种”号,再将文献途径加上去》查看系统变bin C:\Program Files\Java\jdk
1.
6.0_11\bin量中与否有classpath变量,假如没有则-----------------------------》新建--------》classpath,将“.;C:\Program Files\Java\jdk
1.
6.0_11\lib,,附加到classpath背面-》确定)在中运行程序3dos java通过命令找到文献所在的途径•cd java-----编译注意此处文献名的大小写要辨别•javac helloworld.java编译完毕后会出现一种文献•helloworld.CLASS-----运行不加扩展名,真正运行的是文献•java helloworld.class注意文献名字必须与文献中具有()类的名字是同样•java public static voidmain)4虚拟机的作用是将字节码文献解释成机器语言;不一样的操作系统平台要安装不一样•java的;JDK是一种半编译半解释的文献;源文献一一》字节码编译方式•java字节码一一》机器代码解释方式•)使的格式优化5java优化文档格式source-format)在中提取文档的信息(提取文档注释的信息)6dos javajavadoc-d textdoc-version-author helloworld.java)当在数字背面加上一种时,则系统会认为它是一种长整形;7L同样在一种浮点数背面加上系统就会认为它是单精度活或者双精度;•F/D转义字符例如是一种字符,同步编码也是一种字符,例如;因此辨别字符和•\n Unicode字符串是通过双引号/单引号辨别而不是字符的长度辨别面向对象编程;)在类中有属性和措施,不能将功能性的语句放到类中,只能放到措施中1)通过将措施要返回的值返回;同步,有立即结束措施的执行,并返回到调用2return return点)在程序里是看不到对象的,只能通过引用来使用它3在;中Human aMan=new Human对引用的申明Human aMan:()对象的创立;New human)未被初始化的引用是不能使用的,编译的时候就会出错;但当一种对象的引用指向的是空4值(值),在编译的时候是不会出错的,不过在运行的时候会出现错误null)使用方法5Tostring不能直接访问静态内部类的组员Enclosing Class组员内部类•定义一种组员内部类的措施类似与定义一种类的一般组员;Public classEnclosing Privateint Member=0;〃静态内部类Public classMemberlnnerPublic voidinnerMethod{System.out.printin Member;}申明组员内部类的引用Enclosing.Memberlnner innerRef;创立组员内部类的对象Enclosing enclosing=new Enclosing;lnnerRef=enclosing.new Memberlnner;或者InnerRef=new Enclosing.new Memberlnner;注组员内部类不能与同名;Enclosing Class组员内部类不能定义静态的组员变量和措施;组员内部类可以访问中的所有组员,无论是静态还是非静态;而Enclosing ClassEnclosing不能直接访问组员内部类的组员Class在组员内部类的措施中是内部类目前对象的引用,假如需要访问目前的外部类对象需this要使用Enclosing.this当地内部类•当地内部类是定义在措施中的内部类Public voidcontainlnner{Class LocallnnerPublic void print{}〃当地内部类的访问在措施中注Locallnner innerRef=new Locollnn㊀r;同定义在措施中的变量同样,当地内部类只能在定义它的措施中使用,并且不能使用public等访问权限控制private当地内部类不能与同名;Enclosing Class当地内部类可以访问中的所有组员,无论是静态还是非静态;而Enclosing CIQSSEnclosing不能直接访问当地内部类的组员CIQSS在当地内部类的措施中是内部类目前对象的引用,假如需要访问目前的外部类对象需this要使用Enclosing.this当地内部类可以访问包括它的措施中的变量和措施的参数,不过这些变量或参数必须申明为内部类中不能变化他们fined,匿名内部类•匿名内部类等号右边的可以是接口,抽象类,正常类;弊端是不能被重用异常异常的简介1异常是程序开发和运行过程中产生的不正常的、错误的状况•在中产生的任何一种异常都被表达为一种对象,不一样的异常被表达为不一样类型•JQV的对象,这些对象属于共同的基类Throwoble在程序中,发生异常时,会在发生异常的地方就会中断,背面的不会执行;当使用•jQVQ块做了处理之后,背面的代码就可以继续执行下去try{}cotch{}异常处理的措施2关键字:Try/cotch构造{〃也许产生异常的代码}Try{〃处理异常的代码}Catch someexceptione{〃处理异常的代码}Catch someexceptione注下面如假如具有多种语句的话,只会调用跟异常状况相符合的那个Try cotchcciche语句当要书写多种块时,要把子类的写在前面catch exception什么代码写在中Try对于存在抛出异常隐患的代码应当写在中;try不是写在中的代码越多越好;只要把也许出现异常的哪一行代码写进去就好,由于在try中,假如加入了太多的代码,那么出现异常的那一行之后的所有代码也是不可以执行的try中写什么?Cotch中写什么,就会在程序成果中输出什么Cotch抛出异常的信息,可以直接使用e.printStackTrace:返回发生异常的字符串,需要通过而输出e.getMesscige:p t可以在块中使用抛出异常;重新抛出的异常不会被同一种下的其throw e;cotch throwtry他块处理,只能被包裹目前什构造更大的来捕捉处理,或者被抛出目cotch y/cotch try/cotch前措施,由措施的调用者进行处理中假如什么都不写,那么只是把异常给屏蔽掉了,异常真正的出错路线是不悔显示Cotch的当中发生异常时,虚拟机就会自动创立一种异常对象,并传递给处理;try Jcivcotch Catch〃不明确详细是什么类型异常时,就写;由于是所有异常的父exceptione exception,exception类程序员可以处理的是异常对于是虚拟机的内部错误,要寻找虚拟机的内部错exception,㊀rror误语句块:Finally写在什背面,无论怎么样都会执行的语句块在这个措施中有异常,不过措施的书写者并ycotch没有对措施进行处理,这就需要措施的使用者自行进行异常处理,抛出异常就是将异常屏蔽了,使不出错误,但实际上异常还是存在的抛出了那个异常就要对这个异常进行什处理覆盖措施时所抛出的Throw exceptiony cotch异常规格不能超过父类申明的异常自定义异常------------------------------Run runarguments VMea先编译DosT12Java-ea class_name;只在只在这一次运行中有效,下次写文献还要写上-一般是做某些私有措施的检查-e㊀基于文本的应用程序命令行参数容许程序运行起来之后,往里面输入参数所谓的命令行参数就是主措施1mciin括号中的参数、在中用命令运行的时候对中的参数进行赋值1dos jQVQmain Javaclassname参数参数参数〃参数之间以空格分隔、在下传递参数123……2ecplise-------------------中输入自己的参数参数之间以空Run runarguments programorgument格分隔控制台I/O System.in的是以字节为单位Fonhui inputstreom,容许一次读取多种字符BufferedReader:;返回值是一种整型值就是目前字符的编码,可以通过强制类型转换System.in.readASCII将其转换为一种字符,且要写在块中,当需要读入多种字符是需要用到循环,直到你trycotch输入时,或者是回车时循环结束读取多行现将转换为字符流-1System,inInputStreamReader ir=new InputStreamReaderSystem In;BufferedReader in=newBufferedReader ir;System.error类File臼删除文献时,要保证文献的内容为空;创立文献时也要保证要寄存文献的目录已经存D㊀W在将文献的内容放入文献中A B对文献的内容读出来写到文献中A B进内存输入流(从磁盘输入到内存,读的措施)出内存输出流(从内存输出到磁盘上,写的措施)流I/O页页1p4664672P468节点流,处理流的概念3p469有那些节点流4P470处理流有哪些处理流?在背面5节点流文献流字节流对字节进行操作字符流可以直接写入一行字符串;:读取时候要读入到字符数组中措施〃对于文献流中的“读操作”都要读到一种数组中,而不能直接将字〃符串输read;出Write;以对盘下的文献为例进行操作E f.txtu nFilee:\\f.txt以字节的形式向文献写入内容•这里也可以直接输入途径,,二什在源文献基础上追加内容;outpuknew true/Append u㊀默认是即覆盖源文献内容FALSE:,,措施将字符串转换为字符byte b[]=string…….getBytes/.getBytes output.write b;以字节的形式将文献内容读到内存•这里也可以直接输入途径;input=new fielnome/〃定义一种字节数组以寄存要读进来的字节数据,〃byte a[]=new Byte[input.civQiloble]表达读进来的数据的长度inputcvQilQble;〃读入到字符数组,并且将字节数组的长度返回到一种类〃数据Intlen=Input.Read aint中〃输出字节数组System.out.printlnnew StringQ,O,len;以字符的形式向文献写内容•w=new,;・・・・・・〃字符流可以直接向文献写入字符串w.write String;以字符的形式从文献读取内容•「二new;〃可以给出数组的大小,也可以像上面那样定义char[]buf=new chcir
[1024];int len=in.readbuf;System.out.printlnnew StringbufO len;z z节点流内存流用于内存数组,类似于内存虚拟文献的功能实目前读到文献时换行Buffered Writerbw=new BufferedWriter;;bw..writ㊀cidfljQfdlj;cilsbw.newLine;bw.write sdfsdfdfO.Bw.close;小写字母二大写字母Chciccter.toUpperCQse将读到的字符临时存储在内存缓冲区中ByteArrayOutputStream:管道的功能将两个流连接,能完毕通讯的过程处理流处理流是建立在节点流的基础上进行操作缓冲流节点流跟处理流的类型必须一致字节对字节,字符对字符缓冲流中具有一种指示器,通过这个指示器可以做某些标识,向后跳过六个字节Bin.Skip6::在目前这个字节处做一种标识Bin.Mark0向后跳过个字节Bin.Skip2:2回到第一次做标识的地方Bin Reset:把对象转换为持续的字节数据,这就叫做序列化不波及编码问题这个接口自身不具有任何抽象措施,仅仅需要一种申明Seriolizoble将多种基本类型的数据进行转换读写Datainputstream Dataoutputstream没有把字符串读出来的措施,可以写,不过不能直接读我们学过的只有在传播的时候加上换行符,就可以通过读出来eodline,reodline目前又有会在原有基础上多出两个字节,这两个字节放在最前面这两个字节用来寄writeUTF存你输入的字符串一共有多少个字节规定写的时候必须用,才能用读ReadUTF:writeUTFReodUTF一种节点流的外部包装了多少个处理流是不受限制的关闭流时只要关闭最外层的流就可以,内部的流会自动关闭打印六常用的类JAVA类:Meth1p376返回一种在到・之间的随即值;2Math.random
3.14(对)Float a=
3.14f)体现式的运算至少要用类型9int变量的运算只少要型Byte b3=bl+b2:error,int;对的,由于运算的为常量Byte b3=l+2整个体现式的中变量的运算向着体现式中最大的类型靠拢,至少应当为型;这是体现式的int自动提高的过称(隐式类型转换)程序的流程控制)(整形变量或者整形体现式)1switch)带标号的2break对于某一种循环做一种标号,标号」就会跳出这个循环;break ame数组)数组的申明,只是申明了对象的引用,即若仅仅写川这只是个引用,没有指向任1cha s;何空间和有效的数据,是不可使用的;在使用数组的时候需要创立数组对象)使用关键字创立数组对象,在创立对象时,需要指明数组的大小数组对象被创立之2new后,假如不对其进行赋值,则每个组员都会被默认的初始化为值Char s[]=new char
[16];数组的显示初始化3Char[]s={a,b,c};对于数组可以用空来赋值,这时它就不指向任何数据3Char s[]=null;当已经用为数组创立数组对象后,必须对数组中的每个组员一一赋值4new对的的方式:Int i[]=new int
[3];Forint j=0;j3;j++;{iO]=J+1}错误一起赋值是不容许的是不容许的1[]={1,2,3;:多维数组的创5中没有真正意义上的多维数组,而是通过数组的数组来实现的Java多维数组的申明方式如下,以二维为例多维数组可以用如下方式进行创立口口int a=new int
[10]
[8];错误写法用创立数组时,至少要在第一种维度上指定明确大小;lnt[][]a=new int[][]//^:n㊀w□数组申明的时候,口内必须是空的lnt
[3][]b=newint
个人认证
优秀文档
获得点赞 0