栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

常见Java知识点【1】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常见Java知识点【1】

1、一个".java"源文件中是否可以包括多个类?有什么限制?
在一个“*.java”文件中可以有多个class定义,但只能有一个 public class定义,且类名要与文件名一致,否则程序无法编译。

2、请解释 PATH 和 CLASSPATH 区别?
PATH : 是操作系统的环境属性,指的是可以执行命令的程序路径。
CLASSPASTH:是所有 *.class 文件的执行路径,java命令执行时将利用此路径加载所需要的 *.class 文件。

3、Java语言的主要特点?
(1)简洁有效 ; (2)可移植性 ;(3)面向对象;(4)解释型;(5)适合分布式计算;(6)拥有较好的性能;(7)健壮、防患于未然;(8)具有多线程处理能力;(9)具有较高的安全性;(10)是一种动态语言;(11)是一种中性结构。

4、Java基本数据类型的大小、范围和默认值

数据类型大小/位可表示的数据范围默认值
byte(字节)8-128 ~ 1270
short(短整型)16-32768 ~ 327670
int (整型)32-2147483648 ~ 21474836470
long(长整型)64-9223372036854775808 ~ 922337203685477580870
float(单精度)32-3.4E38 ~ 3.4E380.0
double(双精度)64-1.7E308 ~ 1.7E3080.0
char(字符)160 ~ 255‘000’
boolean(布尔)-true 或falsefalse

5、int 最大值 和 最小值 ?
int最大值:Integer.MAX_VALUE
int最小值:Integer.MIN_VALUE

6、关于int 和 char 转换
C语言中转换的编码是 ASCII 码,其编码范围:
A ~ Z : 65 ~ 90
a ~ z : 97 ~ 122
大写字母 和 小写字母之间相差 32 ,Java的编码同样地继承了这一特性。

7、char型变量能否保持一个中文汉字?为什么?
能够存储一个中文,Java中以 UNICODE 编码,一个char 占 16字节,所以可以保存一个中文。

8、常用的转义字符

NO.转义字符描述
1f换页
2b倒退一格
3r归位
4t制表符Tab
5\反斜线
6单引号
7"双引号
8n换行

9、如何可以更快地计算出 2 的 3 次方?
直接采用 “ 2 * 2 * 2 " 显然不是最快的,因为需要数学计算过程,由于计算机的数据都是按位保存的,所以针对此问题移位的速度是最快的。

10、请解释 & 和 && , | 和 || 的区别?
逻辑运算上:
> & : 表示普通与,所有的判断条件都要依次执行;
> && : 表示短路与,若干个条件,如果前面的条件返回了false,那么后面的不再判断,结果就是false;
> | :表示普通或,所有的判断条件都有依次执行;
> || : 表示短路或,若干个条件,如果前面的调剂返回了true,后面的不再判断,结果就是true。
位运算上:
&表示位与计算,|表示或计算。

11、switch是否能作用在 byte 数据上? 是否能作用在 long 上? 是否能作用在String 上?
“switch( expression )”中,expression 是一个整数表达式,传递给 switch 和 case 语句的参数应该是 int、short、char 或 byte,而对于 long 却不可使用。在JDK1.7之前,String 都不能作用于 switch,JDK1.7后switch 支持了String 的判断。

12、类与对象的简单理解
“类是对象的模板,而对象是类的实例”,即对象所具备的所有行为都是由类来定义的,按照这种方式理解,在开发中应该先定义出类的结构,之后再通过对象来使用这个类。

13、请编写一个数组排序操作
基本素质的程序之一,在回答此问题时一定不要直接编写“ java.util.Arrays.sort( 数组 )”语句完成排序。标准做法是自己编写代码实现排序,最后补充一句“ java.util.Arrays.sort( 数组 )”可以完成排序。

public class TestDemo{
	public static void main(String args[]){
		int data[] = new int[]{1,3,2,6,10,0,5,8};
		sort(data);
		print(data);
	}
	public static void sort(int temp[]){
		for(int x = 0 ; x < temp.length - 1 ; x++){
			for(int y = 0 ; y < temp.length - 1 ;y++){
				if(temp[y] > temp[y + 1]){
					int t = temp[y];
					temp[y] = temp[y + 1];
					temp[y + 1] = t;
				}
			}
		}
	}
	public static void print(int temp[]){
		for(int x = 0 ; x < temp.length ; x++){
			System.out.print( temp[x] + "、");
		}
		System.out.println();
	}
}

14、请写出二维数组的行列转置

public class TestDemo {
	public static void main(String args[]){
		int data[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
		reverse(data);
		print(data);
	}
	public static void reverse(int temp[][]){
		for(int x = 0 ; x < temp.length ; x++){
			for(int y = 0 ; y < temp[x].length ; y++){
				int t = temp[x][y];
				temp[x][y] = temp[temp.length - x - 1][temp.length - y - 1];
				temp[temp.length - x - 1][temp.length - y -1] = t;
			}
		}
	}
	public static void print(int temp[][]){
		for(int x = 0; x < temp.length ; x++){
			for(int y = 0; y < temp[x].length; y++){
				System.out.print(temp[x][y]+ "、");
			}
			System.out.println();
		}
		System.out.println();
	}
}
15、请解释 String 类中 “ == ” 和 “ equals()” 的区别?
== :比较的是两个字符串内存地址的数值是否相等,属于数值比较;
equals() : 比较的是两个字符串的内容,属于内容比较。

16、查看Java的开发文档

17、Java常用内存区域
Java中主要存在四块内存空间,这些内存空间的名称作用如下:
(1)栈内存空间:保存所有对象名称(更准确地说是保存了引用的堆内存空间的地址)。
(2)堆内存空间:保存每个对象的具体属性内容。
(3)全局数据区:保存static类型的属性。
(4)全局代码区: 保存所有的方法定义。

18、请解释Static Nested Class 和 Inner Class 的不同?
Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
实例化比较:
非static定义内部类: 外部类.内部类 内部类对象 = new 外部类().new 内部类();
static定义内部类:外部类.内部类 内部类对象 = new 外部类.内部类();

19、请解释下 this 和 super 的区别?

区别thissuper
定义表示本类对象表示父类对象
使用本类操作:this.属性、this.方法()、this.()父类操作:super.属性、super.方法()、super()
调用构造调用本类构造,要放在首行子类调用父类构造,放在首行
查找范围先从本类查找,找不到再查找父类直接由子类查找父类
特殊表示当前对象-

20、请解释下方法重载与覆写的区别,当方法重载时能否改变其返回值类型?
方法重载与覆写的区别:

区别重载覆写
英文单词OverloadingOverriding
定义方法名称相同、参数的类型及个数不同方法名称、参数类型及个数、返回值类型完全相同
权限没有权限要求被子类所覆写的方法不能拥有比父类更严格的访问控制权限
范围发生在同一个类中发生在继承关系类中

方法重载时可以改变返回值类型,但一般设计中不会这样做,即方法的返回值参数尽量统一。

21、构造方法 Constructor 是否可被 Override ?
构造方法 Constructor 不能被继承,因此不能重写 Ovrriding,但可以被重载 Overloading。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号