已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一:数据1:整形数据:byte 1字节,short 2字节,int 4字节,long 8字节。2:浮点数据:float 32位,double 64位,小数默认double,定义float必须加f,即float f1=13.23f;3:字符型:单引号表示字符,双引号表示字符串,int和char之间可以强制转换。4:常量:用final声明,final double PI=3.14。此时对PI=2,会提示错误“不能对终态变量赋值”,但是声明语句如果是“final double PI”,可以对PI赋值一次 PI=3.14,但是不能继续赋值,比如再赋值PI=2时候,就会出错。二:运算1:位运算: 按位取反,按位异或,右移,循环右移。2:隐式转换:低级向高级转换,直接转换,显示转换:高级向低级,(int)36.25f三:注释1:/单行注释,/*。*/多行注释四:字符串1:用字符数组创建字符串char a=g,o,o,d;String s=new String(a);2:String s=new String(“good”);3:用字符数组的一部分创建chara=s,t,u,d,e,n,t;String s=new String(a,2,4);/即uden,2是开始位置,4是截取长度。注意:String中S一定要大写。4:字符串各种函数:(1)字符串连接”+”:s=s1+ +s2;连接函数中非字符型数据也可以连接,int k=7; s=s1+ +s2+k;(2)获取字符串长度“s.length()”(3)字符串查找“s.indexOf(s1)”,在s串中查找s1子串,s.indexOf(s1)返回的是s1第一次出现的位置。s.lastIndexOf(s1)返回的是s1最后一次出现的位置。如果没查找到,返回-1(4)获取指定位置的字符“s.charAt(k)”;(5)获取子串“substring(3,7)”或者“substring(3)”(6)去除前导空格和尾部空格“trim()”,s3=s.trim();执行后s长度不变,把去除空格的s赋值给s3.(7)字符串替换“replace(a,A)”用A替换a,S3=s.replace(a,A)(8)判断开始和结尾(s.startsWith(“22”), s.endsWith(“22”))返回boolean型变量(9)判断字符串是否相等。Boolean b=s1.equals(s2)equals()区分大小写,而equalsIgnoreCase()不区分大小写。(10)pareTo(str2),返回1,-1,0(11)大小写转换,s.toLowerCase()把大写变小写 s.toUpperCase()把小写变大写返回一个新的字符串。(12)字符串分割形式1:String s3=s1.split(,);按照s1中的,号划分,画出来是一个字符串数组,赋给s3形式2:String s3=s1.split(,,3) 按照s1中的,号划分成3段,注意:划分符号一定要是字符串形式,定义字符串数组的时候一定要一并的给字符串赋值String s3=new string是错的。5:格式化日期:Date date=new Date,则date中就包含了所有的时间,然后各种date的引用,比如string month=string.format(“%tB”,date)就是从date中提取month出来6:各种格式String str=string.format(“%x”,200)200以16进制的形式放入str中。7:正则表达式String regex=w+w+(.w2,3)*.w2,3Str1.matches(regex),是否匹配正则表达式,返回布尔。w意思是任意单个字符,w+意思是至少一个单个字符,(.w2,3)*.w2,3是为了匹配.COM或者.cn.w2,3意思是任意字符出现2至3次,(.w2,3)*是(任意字符出现2至3次)至少出现0次。(.w2,3)*.w2,3,是(任意字符出现2至3次)至少出现1次8:字符串生成器:一般来说要增加字符就是s=s+k,但是这样系统速度很慢,每次都要创建新的字符串,于是有了字符串生成器,创建一个字符串生成器。StringBuilder builder=new stringbuilder(“”)Builder.append(j),就是增加字符jBuilder.insert(5,“word”)在5号位插入word,插入后w位5号位Builder.delete(5,10);删5留109:计算时间怎么计算一段代码的执行时间?Long startTime=System.currenttimemillis(毫秒)代码Long endTime=System.currenttimemillisLong time=strattime-endtime;五:数组1:二维数组的长度,b.length,指的是b的行数。2:使用字符串函数要import java.util.Arrays3:Arrays.fill(a,8)把a数组中所有元素用8代替。 Arrays.fill(a,4,16,8)把a数组中4到16的所有元素用8代替,包括4,不包括16.4:排序:Arrays.sort(a)5:复制:int a=Arrays.copyOf(b,5); 复制前5个元素int a=Arrays.copyOfRange(b,5,9);6:查询int index=Arrays.binarySearch(arr,0,18,8),查找之前必须要排序。六:类和对象1:构造方法:方法有两种,成员方法和构造方法,构造方法与类同名,每当实例化一个对象的时候,就会自动调用构造方法,构造方法没有返回值2:静态方法:一般方法的调用,要先申明一个class类,然后a.method,但是静态方法不用声明,直接就可以class.method。静态方法不能直接调用非静态方法,不能使用this关键字。七:数字处理类1:数字格式化(1)使用十进制格式化数字要import java.text.decimalformat(2)deimalformat特殊字符0:表示一个数字,如果不存在该数字,则显示0,比如00.00,用7.5去套用,显示出来时07.50#:同上,但是不存在就不显示,比如#.#,用7.5套用,就是7.5u2030:千分数,0.00u2030,用0.789来套用,就是789.00%0(3)定义一种格式,并套用该格式Decimalformat myformat=new decialformat(#,#.#)String output=myformat.format(value)(4)mathMath的方法都是静态方法,可以直接引用,比如Double t=math.sin(1.23)Double t=math.toRadians(180)Double t=math.todegrees(1.23)Double t=math.exp(3)Double t=math.log(3)Double t=math.log10(3)Double t=math.sart(3)Double t=math.cbrt(3)Double t=math.pow(2,3) 2的3次方Ceil大于参数的整数,floor小于参数的整数,rint接近参数的整数,5:math.random()Random r=new random();r.nextint();随即返回一个整数r.nextint(10);随即返回大于0小于10的的整数r.nextGaussian()按高斯分布随即产生八:继承1:继承用extends,super()调用父类构造方法,super.do()调用父类成员方法do。2:重写父类,当返回值,参数类型个数次序都相同的时候,叫重构。3:重写父类方法,修改权限只能由小到大,譬如,父类位protected,子类只能是public,不能private。4:被定义为final类型的方法不能被重写。5:getclass,返回对象执行时的class实例6:向上转型:就是一个数据原本是四边形类型的,你给他一个正方形定义,一样通过。7:实例:平行四边形就是四边形的一个实例,子类是祖先类的一个实例,q instanceof p 判断q是不是p的一个实例。8:不定长参数:public static int add(int.a)编译器讲(int。a)看做(inta),同时也有a.length之类。9:接口: 只有public和abstract两种权限,接口也具有向上转型,接口也可以定义接口数组,比如有接口drawteat,可以定义drawtest a;里面的元素可以是继承drawteat的类。10:多重继承,就是一个类继承自几个类,java中不允许类多重继承,但是允许接口的多重继承,class A implements 接口1,接口2,接口3并且,接口之间也可以相互继承Interface 接口1 extends 接口211:import 导入包,import com.lzw 就是 com.lzw包中所有类都可以用, import com.lzw.math 就是只有math类可用。12:final定义的随机数,可以随机变化的,而static final定义的随机数,出现第一次以后就定格了。13:被定义成private的方法被指定为final,父类中final的方法不能被覆盖。14:外部类不能直接访问内部类元素,要通过引用访问,例如in.y。15:内部类依赖于外部类,所以要先存在一个外部类对象,再类中定义一个内部类对象。例如outerclass.innerclass A=new outerclass.innerclass是错的,应该Outerclass out=new outerclassOuterclass.innerclass B=A.new innerclass16:局部内部类,在外部类的一个方法中定义内部类,则该方法外部都不能访问该内部类。但是内部类可以访问外部类的所有成员。17:某个类继承内部类的必须给予这个类一个带参数的构造方法,并且该构造方法的参数类型为被继承的内部类的外部类,同时在构造方法体重使用a.super()语句。Public class outputinnerclass extends classA.classBPublic Outputinnerclass(classA a)a.super();18:异常捕获结构由:try catch finally 三部分19:exception是try代码块传递给catch代码块的变量类型,e是变量名,catch块中通常有3个函数。e.Getmessage();输出错误性质e.Tostring();输出异常的类型与性质e.Printstacktrace();指出异常的类型,性质,栈层次和程序中的位置。Exception代表所有异常,其余的还有arithmeticexception异常,也可以catch(arithmeticexception e)20:自定义异常:例如自定义一个MyException异常先定义MyException类继承Exception,然后在类里面定义方法。调用此异常时,就是,throw new MyException;21:方法抛出异常:static int quotient(int x,int y) throws Myexception注意,在函数定义的时候用throws。22:集合类就是把许多数据放一起,这些数据可以组成数组类,可以链表类,可以树,可以哈希。23:集合类父类是collection,下属有set,和list,set 的下属有hashset,treeset,list的下属有arraylist,linkedlist。Set不按特定的方式排序。只是简单的加入集合类中,但是set不包含重复对象。定义就是 collection list=new ArrayList();操作有,add(9),remove(9),isEmpty(),iterator(),size()Iterator是迭代器,有iterator it=list iterator。此时it就好像是集合里面的一个指针,有It.hasnext(),it.next()等方法、与数组相同,集合的索引也是从0开始。24:set中的treeset,使set集合在遍历集合时按照递增次序排列。25:反射,反射类似于调查一个类的情况,例如,example_01类有3个构造函数,下面我要对这3个构造函数的情况进行调查首先,我要通过example_01类生成一个Class型变量,通过这个变量可以访问example_01类的状况。Class exampleC = example.getClass()解析:定义一个Class型变量exampleC,赋值为example.getClass,以下的所有活动都通过这个Class形变量开展的Constructor declaredConstructors = exampleC.getDeclaredConstructors();解析:Class型变量exampleC,并对此变量调用getDeclaredConstructors()方法,返回的是exampleC中的所有构造方法,而exampleC是example.getClass()出来的,所以返回的还是example的构造方法,返回的构造方法看做是数组元素,保存在Constructor类型的数组中 declaredConstructors;现在Constructor类型的数组中有3个元素, declaredConstructors0表示第一个构造方法。下面就可以分别调查三个构造函数了。譬如declaredConstructorsi.isvarargs,判断是否有可变数量的参数,Class parameterTypes = declaredConstructorsi.getParameterTypes();把构造函数的参数放进parametertypes数组中Class exceptionTypes = declaredConstructorsi.getExceptionTypes();把构造函数的异常放进exceptionTypes数组中declaredConstructorsi.newinstance()执行该构造方法26:就好像constructor是管类中的构造函数,filed是管理类中的成员变量。步骤与上诉完全一样Field declaredFields = exampleC.getDeclaredFields();27:以上二者是访问构造方法和成员变量,现在访问方法。Method declaredMethods = exampleC.getDeclaredMethods();28:Annotation,定义Annotation类型,用interfacetarget(Elementype.field, Elementype.METHOD )retention(retentionpolicy.RUNTIME)Public interface A 定义Annotation类型A,A可以定义成员变量和方法。A的作用范围是RUNTIME29:枚举定义枚举常量Public enum constantstestConstants_A, Constants_B , Constants_C Constantstest.values(),可以把枚举成员以数组形式返回Constantstest.valueof(“constants_B”)将普通字符串constants_B转换为枚举实例、Constantstest.values()i.ordinal()返回枚举类型中位置索引值。30:泛型:泛型就是一种数据类型,这种数据类型可以被所有的数据类型所接收,一般用T表示。Publicclass overclassPrivate T over;Public static void main(string args)Overvclassover1=new overclass31:所有输入流都是inputstream和reader的子类,所有输出流都是outputstream和writer的子类。32:File类。创建一个文件 File file=new File(“D:/1.txt”)33:程序输出一个流来写入文件,首先创建一个文件File file = new File(word.txt);然后创建对于这个文件的流FileOutputStream out = new FileOutputStream(file);然后把字节型数组buy输入文件中Byte buy=”.”.getBYTEs();Out.write(buy)34:从文件产生一个流,输入程序。FileInputStream in = new FileInputStream(file);byte byt = new byte1024;int len = in.read(byt);、System.out.println( new String(byt, 0, len);35:Fileoutputstream和Fileinputstream不足之处在于是按字节进行操作的,一个汉字两个字节,读取不好会出现乱码。所以有了FileReader和Filewriter, FileReader顺序读取文件,直到源末尾或者流被关闭。Filewriter out=new Filewriter(file);Out.writer(s);Filereader in=new Filereader(file);Int len=in.read(s);System.out.println( new String(byt, 0, len);36:缓冲区I/OFilewriter fw=new Filewriter(file)Bufferedwriter bufw=new bufferedwriter(fw)37:数据输入输出流Fileoutputstream fs=new fileoutputstream(“word.txt”)Dataoutputstream ds=new dataoutputstream(fs)38:ZIP输入输出流fileoutputstream fs=new fileoutputstream(“word.txt”)ZIPoutputstream ds=new ZIPoutputstream(fs)39:常用SWING组件JbuttonJcheckbox复选框Jcombox下拉表框JframeJdialogJlabelJradiobutton单选按钮JlistJtextfield文本框JpasswordfieldJtextarea文本域Joptionpane40:JFrame定义格式JFrame jf=new JFrame(title);Container container=jf.getcontentpane()41:setHorizontalAlignment 设置文本的水平对齐方式setHorizontalAlignment(swingconstants.center)42:container.setBackground(Color.white)设置背景颜色为白色43:jf.setVisible(true);jf.setSize(200,150);44:jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)Jf的关闭方式,关闭方式有四种DO_NOTHING_ON_CLOSEDISPOSE_ON_CLOSEHIDE_ON_CLOSEEXIT_ON_CLOSE45:对话框Public JDialog(Frame f,String title,Boolean model)46:标签Public JLabel(String text,Icon icon,int aligment)47:图标通过Icon接口来实现,其中必须实现Icon的3个方法Public int geticonheight()Public int geticonwidth()Public void paintIcon(component arg0,Graphics arg1,int arg3,int arg4)1:标签文字居中Jl.setHorizontalAlignment(SwingConstants.CENTER)jLabel j=new JLabel(“测试”,icon,SwingConstants.CENTER)2:容器背景Container.setBackground(color.white);3:即便是对话框,也能成为容器。4:未设置Layout时,panel默认为流布局的.假若设置为setLayout(null),则必须给每个组件setBounds,同理,若设置了相对布局,则设置setBounds后也是无效,同理setsize();setLocation()都没用。Frame默认的布局管理器为borderLayout4.1:borderLayout中添加组件如果不指定,就默认添加到center区,borderlayout每个区域只能加一个组件,如果加入多个,后面一个会把前面一个给盖住。如果一定要多放,可以把组件放进panel中,再把panel放进区域。5:给标签添加图标有三步:第一步:获取url,URL url=MyImageIcon.class.getresource(“c .jpg”)第二步:实例化IconIcon icon=new ImageIcon(url)第三步:添加图片Jl.seticon(icon)6: 流布局是flowlayout(2,10,10)。2说明靠右摆放(但是依然是从左到右),两个10分别是行间距和列间距。7:网格布局中,组件的大小随着窗体的变化来变,自己的大小setsize无效,窗体的大小,由网格布局的四个参数决定。8:JScrollPane只能包含一个组件,并且不能用布局管理器,如果一定要放多个组件,就把组件都放在JPanel,然后JPanel放进JScrollPane9:构造方法不能有返回值,也不能写void。10:子类对象的构造过程中,必须调用父类的构造方法。Super只能写在子类构造方法的第一行。如果没写super,系统自动寻找父类中无参数的构造方法11:动态绑定:在执行期间,判断所引动对象的实际类型,根据其实际的类型调用其相应的方法。现在有ABCD四个类,A为父类有方法(不是构造)f()printf(A),BC继承与A分别重写方法f()printf(B),f()printf(C),D类有方法L(A x)A.f()那么根据向上转型可以在main()中有D d=new D(B) BC向上转型为AD d=new D(C)那么这个时候在方法L中调用参数A的A.f()方法,f到底是调用A的f(),还是调用B或者C的f()?应该是BC的f();应为A作为一个参数,执行的时候在堆里面先分配一个参数空间,然后把B的值送进空间,空间中的f()指针直接绑定到B的f()上,这样做的优点是,以不同类为参数就可以调用不同类的方法,程序员无需再所有子类中定义执行相同功能的方法,实例化一个继承父类的子类就可以调用相应的方法,只需稍稍修改这个方法。在计算机语言中有两种主要的绑定方式,静态绑定和动态绑定. 静态绑定发生于数据结构和数据结构间,程序执行之前. 静态绑定发生于编译期, 因此不能利用任何运行期的信息. 它针对函数调用与函数的主体,或变量与内存中的区块. 动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息. 在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围.12:多态:允许将子类类型的指针赋值给父类类型的指针。多态的出现必须具有三个条件:要有继承,要有重修,父类引用指向子类对象。这三个条件一旦满足,当调父类里面被重写的方法的时候,实际当中,是调用子类的该方法。多态和动态绑定是一个意思。13:抽象方法相当于C+里面的纯虚函数,C+允许多继承。14:抽象方法 就是专门用来被重写的,并且连大括号都不要Public abstract void f();当一个类中含有抽象方法的时候,这个类必须被声明为抽象类。15:接口是一种特殊的抽象类,里面全部都是抽象方法。16:现在有接口A,有来自这个接口的B,那么这个时候B可以向上转型为A,譬如A a= new B.17:异常分为可抛出异常和不可抛出异常,throwable异常分为error和exception,error是虚拟机错误,我们无法解决的,exception是可以解决的异常,runtimeexception是属于exception,是可以解决的但是不一样要try catch的异常、18:try 后面可以有好多catch19:throw 用于方法体,throws用于方法的声明20:重写方法时,要和原方法抛出一致的异常,或者不抛异常21:string是不可变字符序列,stringbuffer是可变字符序列。区别在于,string类的s1和s2,如果执行s1=s1+s2,会另外开辟一个大区域,把s1和s2全部放进去,然后让s1来指。而可变的stringbuffer类s1和s2执行s1=s1+s2就是直接在s1后面开辟一个s2大小的区域,把s2加进去、22:集合类可以存放不同类型的。23:容器中用remove(“hello”)的执行过程是用hello和容器内部的所有值进行equals。所以,如果你容器内包含的是自己定义的类,java中无法比较equals,那么需要自己为这个类定义一个equals方法。、24:泛型起因:装入集合类的类型都被当做Object对待,失去自己的实际类型,强制转换容易出问题。比如compare,只接受object参数,要用compare就必须转成objext,于是泛型出现了。泛型用来表示表示 只接受string和integer的一对数据,凡是用集合的时候,都使用泛型譬如有泛型定义Map,不用泛型和自动解包。Int i=(integer)m1.get(“two”).intvalue();解:Get(“two”)返回的是一个object类型,要强制转换为integer类型,在用intvalue返回一个int如果用自动解包不用泛型Int i=(integer)m1.get(“two”);直接把integer包赋值给int,系统自动解包、如果用泛型Int i=m1.get(“two”),因为有定义,编译器不用把m1.get(“two”)找出来的东西变成object类型,直接就是integer类型,再用自动解包。25:集合类中,根类是collections,下面有set接口和list接口,set是无序不可重复,list是有序可重复。Map接口是一对一对的往里面存,一个是key,一个是value。26:comparable 接口public interface Comparable public int compareTo(Object o);27:只要是以stream结尾的,都是字节流。28:inputstream的方法read();每read一次,就读一个字节。Read(byte):读取一系列字符串并存入数组Filereader()按两个字节来读注:read是字节流,读出来的数据要强制转换为char,即字符。29:outputstreamWrite(int)写入一个数据,该数据是参数的低8位。Write(byte )向字符数组中写入数据,只能自动建文件,不能自动建目录30: outputstream和inputstream只能按字节读或者字节数组读,十分不便,于是出来了outputstreamwriter和inputstreamreader,这两个套接在outputstream和inputstream上,可以直接读取字符串、31:缓冲区读有一个很好地东西,readline(),很多时候就是为了用这个方法,才去用缓冲区读写的-32:datainputstream和dataoutputstream分别继承自inputstream和outputstream,需要套接在inputstream和outputstream上。datainputstream和dataoutputstream提供了可以存取与机器无关的java原始类型数据()33:thread(runadble )是多态的表现,要求传进一个实现了runable接口的类作为其参数。所以要new两次。或者创建一个类,直接继承于thread,那么这个类本身就是一个线程,只用new一个这个类t,再t.start();34:在哪个线程里调用thread.sleep()方法就让哪个线程睡眠。35:t.start()后,调用errupt,就会出现interruptException36:在某个线程中调用t.join(),就是把t加入到该线程中,t失去了并发的效果,只能先执行完t,再执行某个线程。37:syachronized 来锁定某个方法,只能保证其他线程不能同时调用该方法,不能保证其他线程不使用该方法内的静态变量。38:wait和sleep的区别,wait是object的方法,sleep是thread的方法,wait要放开锁,sleep不用放开锁。39:accept()方法是阻塞的,如果没有接受,就无法运行后面的代码。40:TCP:服务端往客户端写:首先定义一个serverSocket s,然后socket ss=s.accept();用ss接受客户端的,然后Outputstream os=ss.getoutputStream();/绑定服务器的输出数据流。DataOutputstream dos=new DatagetoutputStream(os)/对流进行处理Dos.writeUTF()/对流进行写。41:UDP:服务端Byte buf=new byte2014,创建一个用于存放数据的数组DatagramPacket dp=new DatagramPacketbuf,buf.length/使数组变得有用Datagramsocket ds=new Datagramsocket(5678)Ds.receive(dp);/只要有人发数据,就把数据放在dp中。UDP:客户端B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年海南文昌市校园招聘事业单位人员(海口考点)19人备考题库(5号)含答案详解(培优a卷)
- 2026四川绵阳万江眼科医院招聘备考题库及一套答案详解
- 2026中共舟山市委党校(舟山行政学院)招聘教师3人备考题库(浙江)含答案详解(典型题)
- 2026中邮消费金融有限公司春季校园招聘备考题库含答案详解(培优a卷)
- 2026中铁工程设计咨询集团有限公司社会招聘10人备考题库及一套完整答案详解
- 2026青海海北州门源县就业服务局招聘就业见习基地的备考题库及答案详解(夺冠系列)
- 2026四川成都市武侯区簇锦社区卫生服务中心社会招聘编外专业技术人员5人备考题库及答案详解(名师系列)
- 2025年特岗教师考试常识判断试题及答案
- 扬州大学广陵学院《口腔科学》2025-2026学年期末试卷
- 亳州职业技术学院《农业经济学》2025-2026学年期末试卷
- GB/T 15651.7-2024半导体器件第5-7部分:光电子器件光电二极管和光电晶体管
- 光明电力公司招聘笔试题目
- 成人心理健康教育讲座
- 牛场实习报告
- 成都职业技术学院教师招聘考试历年真题
- 断绝亲情关系协议书
- 四川省高等教育自学考试毕业生登记表【模板】
- 井筒举升设计及实例分析讲课材料详解
- 大学物理考试题库(二)
- 2019新人教高一英语必修第三册-课本听力与视频材料文本
- 临床输血学检验(技术):11输血不良反应与输血传播疾病
评论
0/150
提交评论