java 基础知识

1、main方法是怎么写的

public static void main(String[] args) {

}


2、变量的命名规则是怎么样的?
采用驼峰命名法,见名知意,以小写字母开始。
常量命名:全部大写。
方法命名: 小写字母开始,驼峰命名。
类命名:首字母大写。

3、if…else…和写两个if 有什么区别
if…else…只执行其中一条,
写两个if,两个都要执行
4、在JAVA中直接写浮点常数,默认是什么类型?
默认是double类型

	double numd = 1.2222d;
	float numf = 1.111f;

double numd(d/D)
float numf(f/F)

5、什么是标识符?它的命名规则是什么?
凡是可以命名的地方都叫标识符。
标识符有两种:1、系统标识符(关键字);
2、用户标识符
以字母、数字、下划线、$复活组成,不能以数字开头
6、什么是变量?
变量是命了名的内存空间,并且空间的值是可以改变的。
7、JDK与JRE分别是什么?
JDK叫java开发工具集,包括编译环境、运行环境、调试环境以及基础类库。
JRE叫java运行环境,包括虚拟机、核心类库、以及健接文件。
8、try-catch-finally三个基本块的作用?catch里的代码是干什么的?
try块表示此处代码可能引发异常
catch块捕获try块的异常
finally块通常用于资源的回收,连接关闭,清理工作等
try-catch-finally不能单独存在,try块后必须跟catch或finally
catch或finally前必须跟try块
9、继承类和实现接口分别怎么做?
继承用extends关键字继承
定义接口用interface关键字
实现接口用implements
10、如何去获得字符串的长度?
调用String类的length()方法

	String str = "nihao";
	int str_len = str.length();
	int[] num = new int[3];
	int num_len = num.length;


11、Java的基本数据类型有哪些?
int 4字节 整型
byte 1字节 整型
char 2字节 整型
short 4字节 整型
long 8字节 整型
double 8字节 浮点
float 4字节 浮点
boolean 布尔
12、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
值传递,Java里没有引用传递
13、列出至少5个最常见到的runtime exception并描述在什么情况下出现
IOException在未找到文件时会抛出
NullPointerExecption在对象引用指向空时会抛出
ArrayIndexOutOfBoundsExecption在数组下标越界时会抛出
NumberFormatException在字符串不能转换成数字时会抛出
ArithmeticException在分母为零时会抛出
14、ArrayList和Vector的区别
vector是线程安全的,所以效率低,
Arraylist是线程不安全的,但是效率高。

15、在IO中字节流和字符流的父类是什么?
字节流父类是InputStrean和OutputStream
字符流父类是Reader和Writer
16、什么是包?定义包有什么好处?
文件夹。
好处:1、可以有效的组织相关类;
2、可以做到信息的隐藏。
17、怎么样知道磁盘一个目录中有哪些文件?
1、File对象.list()方法;
2、File对象.listFile()方法。
18、如何获得一定范围的随机整数?
x+Math.random()*y 其中x是位移数,确定最小范围,y是放大系数,确定最大数。
(x-y)*Math.randon()+y

19、如何获得java当前的工作目录
使用System.getProperty(“user.dir”)能够获得当前工作目录的字符串地址。
20、怎么样判断一个异常类是checked异常还是unchecked异常?
判断当前异常类,是否是RuntimeException的子类,如果是,则是运行期异常否则是编译期异常。
21、log4j一共有几个级别?分别是哪些?级别的高低有什么样的区别.
log4j有五个级别:
DEBUG:调试
INFO:信息
WARN:警告
ERROR:错误
FATAL:崩溃

21、静态变量和成员变量应该怎么访问?

静态变量可以通过对象. 和类名. 的方式访问

成员变量通过对象.的方式访问

public class Main {
	int numa = 1;
	static int numb = 2;

	void getNum() {
		Main main = new Main();
		System.out.println(main.numa + " " + main.numb + " " + Main.numb);
	}
}

22、如何将一个字符串转成一个基本数据类型

Int x = Integer.parselint(“32”);

Double d = Double.parseDouble(“4.5”);

23、如何让JFrame的初始位置居中(在不同的分辨率中)

窗体对象.setLocationRelativeTo(null);

24、谈谈集合的作用

方便对数据进行 存储,检索,操作,传输。

25、类的修饰符能不能是private、static、protected?

内部类可以,因为内部类相当于外部类的属性

26、Try块中是否所有的语句都一定会执行,为什么?

不是,一但try中发生了异常,那么异常发生处下面的语句就不会执行,专区catch块执行

27、什么时候用继承,什么时候用接口?

当需要重用属性和方法时使用继承

当只需要重用方法时用接口

28、finally是不是什么时候都会执行?

是当虚拟机关闭,System.exit(0),finally内容不会执行;

29、什么是主线程?

当main()方法执行时会产生主线程,1最先开始 2最后结束

3产生其他子线程

4回收资源

30、进行IO流操作时,如果操作的文件不存在会发生什么情况?

读取流在文件不存在时,会抛出文件未找到异常

写入流在文件不存在时,会创建文件,但如果该文件所在目录不存在,同时会抛出文件未找到异常

31、IO流操作的步骤是怎么样的?

创建流 操作流 关闭流

32、finally的作用是什么?

无论是否有异常都会执行的代码块,一般用于资源回收,比如流动关闭、数据库的关闭

34、当一个线程进入一个对象的一个同步方法后,能否进入其它非同步方法? 么?一般在什么时候使用?

可以,但不能进入其他同步方法。

33、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行?

Finally{}在程序开启时只执行它本身里的代码。

会执行,在方法返回前执行

35、如何启动线程,它直接调用run()方法有什么区别?

启动线程调用start方法,用start方法启动线程后,是多个线程同时进行,

使用run()是普通方法,是不会产生新的线程,是单线程。

36、数组有没有length()这个方法? String有没有length()这个方法?

数组有length属性,String有length方法

37、GC是什么? 为什么要有GC?

GC叫做垃圾回收器,为了回收内存不再使用对象,释放内存空间,避免内存溢出。

38、线程同步化会带什么样的结果?

1:可以使数据安全

2:效率会降低

39、什么是线程安全?

当两个或两个以上线程,访问同一个资源时,为了保证数据的安全,只允许同一时间

只能有一个线程访问该资源。

40、服务器类有一个while循环,能否直接while(true)?

可以,但这样缺乏灵活性,没有办法控制循环结束,最好使用boolean变量来控制

循环的运行和结束。

41、java帮助文档是如何生成的?
Javadoc.exe
42、什么时候类名和文件名必须一致?
当类的定义为Public时,类名必须与文件名保存一致

43、如何将实现包装类和基本数据类型转化?
包装转基本1:包装类对象.xxxvalue(值);2直接赋值
基本转包装1: Integer = new Integer(90);2直接赋值

44、类InputStream中方法read()的返回值是什么?读出的是什么?
Read()返回的是int,,读取的数据
read(byte[]) 返回int 当前读取的字节数

45、如果一个类实现一个接口,可不可以不实现接口里定义的所有方法?
可以,但这个类只能是抽象类

46、构造方法和方法有什么区别?构造方法能不能被重载,能不能被重写?
构造方法和雷鸣相同,构造方法没有返回类型,在对象创建时,被调用。
构造方法可以重载,不能重写。

47、请列举switch( )括号中能接受的所有数据类型。
Char byte short int

48、GUI的布局管理器常见的有哪几种?
绝对布局
边界布局管理器
卡片布局管理器
流布局管理器
网格布局管理器
49、断言有什么作用?
断言是一个布尔表达式,当表达式为真继续执行,表达式为假,则抛出一个断言错误,主要用于测试。

50、String和StringBuffer的区别?
String具有长度不可变的特性,当String做添加、删除\修改时,会产生一个新对象
StringBuffer是String类的一个改进版,是缓冲区的一个对象,当对该对象进行字符的
添加、修改时,不会产生新对象。

51、接口里方法修符是什么?
Public abstract

52、接口里可以定义变量吗?
不行,就可中的变量修饰符是public static final 只能定义常量

53、说几个String常用的方法
String.length() split() substring() equals() indexOf() lastundexOf()

54、在Dos界面下如何编译并执行Java程序?
Javac 文件名
Java 类名

55、创建一个线程有几种方法?
集成 thread 类
实现Runnable接口

56、项目开发的流程是怎么样的?
市场调研,需求分析,概要设计,详细设计,编码,测试 ,维护。

57、java语言的特点是什么?
简单,面向对象,分布式,健壮,可移植,解释性,安全,多线程,垃圾回收

58、main方法中有个参数String[] args。这个参数的值是由谁传递给它的。
执行java类时 ,由控制台传入

59、java中采用什么字符编码集?char类型能不能放入一个中文字?
Unicode 该字符集一个字符有2个字节。,
char是两个字节可以放一个中文,因为中文是两个字节

60、byte的取值范围
-128~+127(-2的7次方to2的7次方-1)

61、GET方式和POST方式提交时,流有什么不同?
GET和POST是HTTP协议请求服务器的两种方式
GET方式页面参数,是附加在URL后面。/login?userName=XXX
POST方式,页面的参数是放在流最后的

原文地址:https://www.cnblogs.com/xiaoxian1369/p/2225739.html