Java基础修改1

上传人:公**** 文档编号:506994193 上传时间:2022-07-24 格式:DOC 页数:13 大小:63.50KB
返回 下载 相关 举报
Java基础修改1_第1页
第1页 / 共13页
Java基础修改1_第2页
第2页 / 共13页
Java基础修改1_第3页
第3页 / 共13页
Java基础修改1_第4页
第4页 / 共13页
Java基础修改1_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Java基础修改1》由会员分享,可在线阅读,更多相关《Java基础修改1(13页珍藏版)》请在金锄头文库上搜索。

1、. Java基础1、一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致。2、说说&和&的区别。&和&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。3、在 JAVA 中如何跳出当前的多重嵌套循环?在 Java 中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的 break 语句,即可跳出外层循环。4、IO流的分类根据处理数据类型的不同分为:

2、字符流和字节流根据数据流向不同分为:输入流和输出流精品.5、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String上?在 switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是 int 基本类型或 Integer 包装类型,由于,byte,short,char 都可以隐含转换为 int,按位与操作,所以,这些类型以及这些类型的包装类型也是可以的。显然,long 和 String 类型都不符合 switch 的语法规定,并且不能被隐式转换成 int 类型,所以,它们不能作用于 swtich 语句中。6、sho

3、rt s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?对于 short s1 = 1; s1 = s1 + 1;由于 s1+1运算时会自动提升表达式的类型,所以结果是 int型,再赋值给 short 类型 s1时,编译器将报告需要强制转换类型的错误。对于 short s1 = 1; s1 += 1; 由于 +=是 java 语言规定的运算符,java 编译器会对它进行特殊处理,因此可以正确编译。7、char 型变量中能不能存贮一个中文汉字?为什么?char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含

4、了汉字,所以, char 型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在 unicode 编码字符集中,那么,这个 char 型变量中就不能存储这个特殊汉字。补充说明:unicode 编码占用两个字节,所以,char 类型的变量也是占用两个字节。8、用最有效率的方法算出 2 乘以 8 等于几?2 3,因为将一个数左移 n 位,就相当于乘以了2的 n 次方,那么,一个数乘以8只要将其左移3位即可,而位运算 cpu 直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 3。9、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?使用 final 关

5、键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:final StringBuffer a=new StringBuffer(immutable);执行如下语句将报告编译期错误:a=new StringBuffer();但是,执行如下语句则可以通过编译:精品.a. append( broken!);10、=和 equals 方法究竟有什么区别?“”是看两个对象是否是同一个对象,也就是两个对象引用是否指向同一个对象(Java分配的内存地址一样)当然如果用于int,long,double就不是看两个值是否相等了。 equals()是比较两个对象

6、的内容是否相等,一般如果用户自己不定义针对自己的类的equals()方法,那么就会使用Object的活着你的类的父类的这个方法。如果你的类里没有对象引用的域,就不必要覆盖equals()(注意String域也是对象)String有自己的equals()方法(它已经覆盖了Object的该方法了。 如果你的类中的域有对象引用,那么你需要重写equals() 11、静态变量和实例变量的区别?在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建

7、任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。12、是否可以从一个 static 方法内部发出对非 static 方法的调用?不可以。因为非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而 static 方法调用时不需要创建对象,可以直接调用。13、Integer 与 int 的区别int 是 java 提供的8种原始数据类型之一。Java 为每个原始类型提供了封装类,Integer 是 java 为 int 提供的封装类。int 的默认值为0

8、,而 Integer 的默认值为 null,即 Integer 可以区分出未赋值和值为0的区别,int 则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用 Integer。14、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor 的英文意义是地板,该方法就表示向下取整,Math.ceil(11.6)的结果为11,Math.ceil(-11.6)的结果是-12;最难掌握的是round 方法,它表示“四舍五入”,算法为 Ma

9、th.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。精品.15、请说出作用域 public,private,protected,以及不写时的区别这四个作用域的可见范围如下表所示。说明:如果在修饰的元素上面没有写任何访问修饰符,则表示 friendly。作用域当前类同一包(package)子孙类其他包(package)publicprotectedfriendlyprivate16、Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的

10、类型?Overload 是重载的意思,Override 是覆盖的意思,也就是重写。override 方法不可以改变返回值。17、构造器 Constructor 是否可被 override?构造器 Constructor 不能被继承,因此不能重写 Override,但可以被重载 Overload。18、接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的 main 方法?接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继承具体类。抽象类中可以有静态的 main 方法。19、写 c

11、lone()方法时,通常都有一行代码,是什么?clone 有缺省行为,super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员。20、java 中实现多态的机制是什么?靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。精品.21、abstract class 和 interface 有什么区别?两者的语法区别:1.抽象类可以有构造方法,接口中不能有构造方法。2.抽象类中可以有普通成员变量,接口中没有普通成

12、员变量3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4. 抽象类中的抽象方法的访问类型可以是 public,protected 和(默认类型),但接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。5.抽象类中可以包含静态方法,接口中不能包含静态方法6.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是 public static final 类型,并且默认即为 public static final 类型。7. 一个类可以实现多个接口,但只能继承

13、一个抽象类。两者在应用上的区别:接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,22、String 是最基本的数据类型吗?基本数据类型包括 byte、int、char、long、float、double、boolean 和 short。java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。23、String s = Hello;s = s + world!;这两行代码执行后,原始的 String对象中的内容到底变了没有?没有。因为 String 被设计成不可变(immutab

14、le)类,所以它的所有对象都是不可变对象。在这段代码中,s 原先指向一个 String 对象,内容是 Hello,然后我们对 s 进行了+操作,那么 s 所指向的那个对象是否发生了改变呢?答案是没有。这时,s 不指向原来那个对象了,而指向了另一个 String 对象,内容为Hello world!,原来那个对象还存在于内存之中,只是 s 这个引用变量不再指向它了。24、是否可以继承 String 类?精品.String 类是 final 类故不可以继承。25、什么是Java集合APIJava集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言

15、之,API在上层完成以下几件事:1. 编程更加省力,提高城程序速度和代码质量2. 非关联的API提高互操作性3. 节省学习使用新API成本4. 节省设计新API的时间5. 鼓励、促进软件重用26、 什么是Iterator,Iterator与ListIterator有什么区别?Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。27、 什么是HaspMap和Map?怎样使Hashmap同步?Map是接口,Java 集合框架中一部分,用于存储键值对,HashMap是用哈希算法实现Map的类。HashMap可以通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号