java基础面试题

1. &&&的区别

&&是短路与,只要表达式条件满足其中一个,后面的表达式就不在执行

&不是短路与,他会把所有的条件表达式都执行完,性能上比&&差一点

&还能做位运算

2. |||的区别

||是短路或,只要表达式条件满足其中一个,后面的表达式就不在执行

|不是短路或,他会把所有的条件表达式都执行完,性能上比||差一点

|还能做位运算

3. breakcontinue区别

a) Break结束最近的一个循环,continue结束当次循环,进入下一次循环

4. 类的命名规则是什么

a) 如果类名使用拉丁字母,那么名字的首字母使用大写字母

b) 类名最好见名只意,当类名由几个单词符合而成时,每个单词的首字母使用大写

5. 类的类体由两部分组成,是那两部分

a) 一部分是变量的定义,用来刻画属性

b) 另一部分是方法的定义,用来刻画功能

6. 什么是隐式类型装换(类型的自动转换),什么是显示类型转换(强制类型转换)

a) 当将占位数少的类型赋值给占位数多的类型时,java自动使用隐式类型转换。运算的时候会向大空间数据的数据类型转换(除了byteshort,他们 两之内计算会转换成int)

b) 当把在空间大的变量的值赋值给空间小变量时,必须使用显示类型转换运算

7. 解释什么是类的成员变量(属性),局部变量,实例成员变量,类成员变量(类属性)

a) 定义在类的大括号里面的变量被称为类的成员变量

b) 在方法体中定义的变量和方法的参数及对象语句块被称为局部变量

c) 成员变量又分为实例成员变量和类成员变量(static修饰)

8. 简述this关键字的用法

a) This关键字使用在实例方法中(对象方法),代表调用该方法的当前对象,通过this可以调用当前对象属性和对象方法

b) 可以使用this来调用本类构造器

9.如何确定方法的返回值类型

a) 方法返回的值得类型就是方法的返回类型,如果无返回值,则使用void来修饰。

 

10.返回值为void的方法,是否有return

可以,但是return后没有任何值

11. 解释什么是类方法,什么是实例方法那个

Static修饰的方法是类方法,可以使用类名和对象名调用,无static修饰的方法是实例方法,只能用对象来调用

12. 简述方法和变量的命名规则

首字母使用小写,如果由多个单词组成,从第二个单词开始首字母使用大写

13. 什么是方法重载

方法的重载值得是一个类中可以有多个方法具有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数的类型不同

14. 什么是构造方法

构造方法是一种特殊的方法,他的名字必须与他所在的类名完全相同,并且没有任何返回值类型

默认的构造是隐藏的,如果类中存在有参数的构造器,隐藏的构造方法就不能用了,要想使用,就必须让隐藏的构造器显示出来

15. 如何创建一个对象

a) 使用new运算符和类的构造方法为对象分配内存,如果类中没有构造方法,系统会调用默认的无参构造方法

16. 系统什么情况下会为类提供构造方法,提供什么样的构造方法

如果类中没有构造方法,系统会提供一个无参数的默认构造方法,

17. 为什么可以直接用类名来访问类成员变量和类方法

因为当类被加载到虚拟机的时候,类成员变量及分配内存,类方法被分配入口地址,所以不用创建对象,可以直接通过类名调用

18. 对象如何调用自己的成员变量和方法

对象使用运算符.”来调用自己的成员变量和方法

19. 类变量有什么特点

a) 一个类的所有对象共享一个类变量

b) 当类(.calss)被加载到jvm的时候类变量就产生了,jvm退出时类变量销毁

20. 类方法有什么特点

类方法只能调用类变量和类方法(同一类中)

21. Package关键字有什么作用,使用中注意什么问题

Package指定一个类所在的包,该语句为源代码第一行

22. Import关键字有什么作用

引入程序中所用到的类

23. 类有几种访问权限,变量和方法有几种访问权限,分别是什么

a) 类(外部类)有两种访问权限:public,友好的

b) 方法和变量的访问权限:publicprotected,友好的,private

24. 简述java的访问权限

 

 

25. 子类能继承父类的那些变量和方法

a) 如果子类和父类同在一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private方法作为自己的方法

b) 如果子类和父类不在同一个包中,那么,子类继承父类的protectedpublic成员变量作为子类的成员变量,并且继承了父类的protected

c) public方法作为子类的方法

26. 子类重写父类的方法,可否降低访问权限

不可以降低

27. Final关键字可以用来修饰什么,分别起什么作用

a) Final可以修饰类,这样的类不能被继承

b) Final可以修饰方法,这样的方法不能被重写

c) Final可以修饰变量,这样的变量的值不能被修改,是常量

28. 简述super关键字的作用

a) 使用super调用父类的构造方法,放在第一行,创建子类的对象的时候,先调用用父类的默认构造器

b) 使用super操作父子类重名的父类的变量和方法

29. 简述什么是对象上转型

a) 假设,A类是B类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,我们称这个父类对象是子类对象的上转型对象,父类引用不能去访问子类的特有的属性和没有被重写的的方法

30. 上转型对象可以操作什么,不可以操作什么

a) 上转型对象不可以操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能

b) 上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法

31. 什么是抽象类,什么是抽象方法,有什么特点

a) 用关键字abstract修饰的类称为抽象类,abstract类不能new对象,必须产生其子类,由子类创建对象

b) 用关键字abstract修饰的方法称为抽象方法,abstract方法,只允许声明,不允许实现

32. 一个类声明实现一个接口,那么这个类需要做什么工作

实现接口里面所有的方法,并且这些方法的访问权限必须是public

33. 简述什么是数组

a) 数组是相同类型的数据按顺序组成一种符合数据类型,通过数组名加数组下标来使用数组中的数据,下标从0开始排序

34. 创建数组是否需要指定数组长度,如何求数组长度

必须指定数组长度,数组调用.length来获取数组的长度

35. Char数组和byte数组如何转化成字符串,如何求字符串长度

利用String类本身的构造方法,String(char a[ ]),String(char  a[ ]), “”.length();

 

以下方法均为字符串中的方法

36. EqualsequalslgnoreCasestartsWithendWith

a) 字符串比较

b) 忽论大小写比较

c) 判断是否以指定字符串开头,结尾

37. compareTocompareTodgnoreCaseindexOf

a) 按字典顺序比较字符串

b) 字符串检索

38. Substringreplacetrim()

a) 字符串截取

b) 字符串替换

c) 去掉字符串前后空格

39. 字符串如何转化为int类型,double类型

Integer.parseInt(“1”);

Double.parseDouble(“24,34”);

40. 简述StringTokenizer的作用

按照指定的分隔符,将字符串解析成若干语言符号

41. 如何判断一个字符是不是数字,是不是大写

a) Character.isDigit(“a”);

b) Character.isUpperCase(“U”);

42. 已知一个java.util.Date对象,如何格式化成如下格式yyyy-mm-dd hh:mm:ss

SimpleDteFormat formate = new SimpleDteFormat formate(“yyyy-mm-dd hh:mm:ss”);

43. 如何生成一个0-100的随机整数

(int)(Math,tandom()*100)

44. 简述java异常处理的机制

当所有的方法都出现异常时,调用者可以捕获异常使之得到处理,也可以回避异常

45. 简述如下关键字用途trycatchthrowthrowsfinally

a) Try:保护代码,如果try中某行代码出现异常,侧try中代码不在继续执行

b) Catch:捕获异常,当try中出现异常,则catch负责捕获异常,并处理

c) Throw:抛出异常

d) Throws:声明异常

46. 什么是I/O流,有什么作用

指数据输入输出的流,I/O流提供一条通道程序,可以使用这条通道吧源中的字节序列送给目的地

47. Jdk是什么,jre是什么

Jdkjava开发工具包,jrejava运行时环境,jdk包括jrejrejvmjava核心类库构成

补充:

1. 类的属性在new对象的时间才会被加载,而静态的代码块和对象的代码块不需要new对象,在类加载的时间就会加载,并且只会加载一次

2. 在类里面的属性,如果是被satic修饰的,代表这个类一旦实例化,所有的对象共享这一个静态的属性

3. 基本数据类型有八种,引用数据类型有:数组,类,接口(接口不能直接创建,必须要有实现他的类)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值