1、Java基础Java基础(总11页)lJava跨平台的秘密lJava基本概念JVM:Java虚拟机JRE:java运行时环境JDK:Java开发工具包JavaSE:Java Standard Edition,标准版。主要用于桌面应用程序的开发。JavaEE:Java Enterprise Edition,企业版。它的核心是一组技术规范与指南,提供基于组件的方式来设计、开发、组装和部署企业应用。JavaME:Java Micro Edition,微型版。为嵌入式开发提供Java语语言平台。GC:Garbage Collection 垃圾回收。当Java虚拟机发觉内存资源紧张时,会自动的去清理无用
2、对象所占用的内存空间。lJDK常用命令javac:编译java:运行javadoc:生成java文档jar:运行jar文件l一个”.java”源文件是否可包括多个类(不是内部类)有什么限制可以,但是只能有一个public类。lJVM能有几个实例每个Java程序对应一个JVM实例,因此JVM实例数量取决于同时执行的程序个数。lJava中有几种注释.*/(多行)/*.*/(文档)lJava中的基本数据类型char(中文 Unicode编码 Java char类型采用UTF-16编码格式。)l&和&区别逻辑与 &短路与功能。lJava中有没有gotoJava中的保留字。java中没有使用。保留字和关
3、键字constlJava中如何跳出当前的多重嵌套循环break 符号;return;异常(0);lswitch语句能否作用在byte上,能够作用在long上,能否作用在String上之前只能作用在int(包含)以下。byte short int char 枚举之后可以作用在String,但还是不能用Long。lshort s1=1;s1=s1+1;有错吗short s1=1;s1+=1;有错吗s1+1会自动提升表达式的类型,编译报错。s1+=1;+=是java语言规定的运算符编译器会特殊处理,编译正确。l最有效方法算出2乘以8等于几23,位运算由cpu直接支持的,效率最高。l存在使i+1子类A
4、静态代码块-父类B非静态代码块-父类B构造函数-子类非静态代码块-子类A构造函数l类(class)、类库(class library)、包(package)、jar(文件)这四个概概念的联系类:实际上是对某种事物的抽象描述。包:为了更好的组织类,Java提供了包机制。类库:用来实现各种功能的类的集合。jar:用于发布和使用类库,可被编译器和JVM直接使用。l匿名内部类是否可以继承其他类是否可以实现接口可以、可以。l写出类的六个常用方法(1)public boolean equals 比较对象的地址值是否相等,如果子类重写,则比较对象的内容是否相等;(2)public native int ha
5、shCode() 获取哈希码(3)public toString() 把数据转变成字符串(4)public final native getClass() 获取类结构信息(5)protected void finalize() throws 垃圾回收前执行的方法(6)protected native Object clone() throws 克隆(7)public final void wait() throws 多线程中等待功能(8)public final native void notify() 多线程中唤醒功能(9)public final native void notifyAll
6、() 多线程中唤醒所有等待线程的功能lString、StringBuffer、StringBuilder区别String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)注意:之后字符串的拼接底层使用的是StringBuilder。l是否可以继承String类String类是final类所以不能继承。java还有Math、Double等类不能被继承。lString s=new String(“xyz”);创建了几个String对象二个。“xyz”放在字符串常量缓冲区。new String放在堆里。lString s=”Hello”;
7、 s=s+”world”;这两行代码执行后,原始的String对象中内容到底变了没有String被设计为不可变类。所以没有变。l下面语句一共创建了多少个对象:String s=”a”+”b”+”c”+”d”一个对象。编译器优化后,相当于直接定义了一个”abcd”字符串。l数组有没有length()方法String有没有length()方法数组是length属性String是length()方法l使用final关键字修饰一个变量时,是引用不能变,还是引用对象不能变修饰一个变量时,是值引用变量不能变,引用变量指向的对象中的内容是可以改变的。final修饰属性=常量final修饰方法=不能被子类覆盖
8、final修饰类=不能被继承l静态变量和实例变量的区别静态变量要用static修饰,实例变量不用。静态变量又称为类变量,不需要创建任何类的实例就能访问。所有类的实例共用。实例变量需要创建类的实例后才能访问,每个类的实例的都有一份自己的实例变量,不共用。static修饰属性=静态属性(类属性)static修饰方法=静态方法(类方法)static修饰代码块=静态代码块l是否可以从一个static方法内部发出对非static方法的调用不可以。当一个static方法调用时,可以不用创建任何实例对象。而非static方法必须通过实例对象才能调用。lInteger和int区别Integer是java提供针
9、对int的包装类。java对8中基本数据类型都提供了对于的包装类。Integer默认值是null,int默认值是0。Java 为每个原始类型提供了包装类型:- 原始类型: boolean,char,byte,short,int,long,float,double- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Doublel为什么为基本类型引入包装类基本数据类型有方便之处,简单、高效。1)但是Java中的基本数据类型却是不面向对象的(没有属性、方法),这在实际使用时存在很多的不便(比如集合的元素只能是Object)。为了解决这个不足,
10、在设计类时为每个基本数据类型设计了一个对应的类进行包装,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。2)包装类和基本数据类型之间的转换包装类- () -基本数据类型包装类字符串基本类型变量12 -11floor:向下取整 11 -12round:四舍五入 12 -11l写clone()方法时,通常有一行代码,是什么();首先要把父类中的成员复制到位,然后才是复制自己的成员。浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。深克隆:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。l数据结构n线性表:数组、链表 n栈 n队列 n树(二叉树) 前序遍历:根-左-右 中序遍历:左-根-右 后序遍历:左-右-根 l给出下面的二叉树先序、中序、后序遍历的序列先序序列:ABDEGHCF;中序序列:DBGEHACF;后序序列:DGHEBFCA。l某二叉树的先序遍历是12453,中序遍历是42513,那么其后序遍历是(A)A45231B.42351C.12345D.54321
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1