Java基础总结

Java的特点:

1、平台无关性 

2、多线程

3、安全性高

4、面向对象

5、结构简单

6、面向网络的程序设计语言

八大基本类型:(从小到大)

整数型:byte    short  int  long

浮点型:float   double

字符型:char

布尔型:boolean(ture(真) false(假))

 

1、"= ="与[equals]的区别

答:基本数据类型只能用“= =”来比较,比较的是值

    引用类型用“= =”比较的是内存地址,用equals比较的是值

 

2 、java的变量和常量:

1、变量是可变的量。

2、常量是用final修饰的量;(final修饰的值是不可改变的)。

 

4、java的对象:

1、java中除了八大基本类型以外的类型称为引用类型或对象

2、数组和String都是对象,不给对象赋值就会报:null

3、八大类型只要一声明就有内存,引用类型和对象,

必须new才会有内存,String要赋值才有内存。

 

5.java的数组:

数组的定义:数组是用于储存相同类型数据的一种数据结构

 

6、java的方法:

方法的定义:把相同功能的代码块放在一起或把某个功能封装在一起。

 

7、形参和实参:

实参:已定义并赋初始化的变量和对象,数实实在在的数据。

形参:方法在定义的过程中为此过程定义一个框架,和需要参与运算的变量数据。

 

8、java的方法重载(overload):

1、重载发生在在同一个类里面。

2、方法名相同,参数的类型、个数、顺序不同。

3、与返回类型无关。

 

9、调用方法时要注意的:

1、方法不存在,却调用时,会因找不到方法而报错

2、使用方法时,传递的参数必须匹配(个数、类型、顺序)

3、String对象、默认为null;八大基本类型有默认值

4、方法调用时会自动根据参数匹配

5、传值、传引用`      

 

10、数据的结构:

1、数据:计算机的信息化。

2、数据元素:它是数据的基本单位,及数据集合的个体,或称节点或记录。

3、数据项:它是独立含义的数据最小命名单位,又称域或字段。

4、数据对象:具有相同特征的数据元素的集合。

5、结构:数据元素之间的关系。

 

11、链表:

链表的定义:用一组任意储存单位,存放线性表的数据元素,用指针相连接节点的序列叫做链表。

 

12、链表与数组的区别:

链表是动态的分配内存,长度可以根据需求增加或减少,便于插入和删除,可以直接通过指针指向节点。

数组是静态分配的内存,便于查询和修改,通过下标拿元素。

 

13、如何理解static:

(1) 静态方法的声明类型。

(2) 静态的方法和属性不能直接访问非静态的方法和属性,如果要调用必须先进行new操作。

(3) 非静态的方法可以访问静态的方法和属性,以及访问非静态的方法和属性。

(4) Static不能以任何方式访问this和super.

(5) Static修饰的变量属于类,而不属于某个对象。

(6) Static修饰的方法和属性可以直接用类名就可以调用。

(7) Static不可以修饰类。

14.什么是对象?

答:就是现实世界中的某个具体存在的事物(类是对对象的抽象的描述)。

15.面向对象的三大特征?

答:封装,继承,多态;

16.面向对象的优点?

答:(1)与人类的思维一致

2)可重用性

   (3)可扩展性

(4)可管理性

面向对象:以数据为核心。

面向过程:以方法为核心。

18.什么是封装?

把对象的属性和操作结合为一个独立的整体,并尽可能的隐藏对象的内部实现细节。

扩展1

把过程和数据包围起来对数据的访问只能通过已定义的接口。

19.什么是继承?

答:Java中的继承是通过extends关键字来实现,子类可以继承父类除private所修饰的有属性和方法。

20.什么是构造方法?

答:构造方法是一种特殊的方法,方法名要和类名相同,没有手动写一个构造方法的时候,java虚拟机会提供一个空的构造方法,在new一个对象的时候,会自动调用。

21.构造方法的特性:

(1)便面上无返回值,实际底层返回的是本类类型

(2)初始化成员变量

(3)方法名和类名相同

(4)满足方法重载的原则

(5)有四种修饰权限

 

 

22.Java平台两大组件:

1、java虚拟机(JVM)

一、类装载器:

1、负责类中静态变量初始化(分配内存)。

2、分为两种,一是本地类,二是外部类。

3、类装载器的最小执行单位是一个class文件。

4、类装载器的原则是谁用谁装载。

 

二、字节码校验器:

1、变量在使用前的初始化。

2、方法调用与对象引用类型的匹配。

3、运行时堆栈是否溢出

 

三、解释执行器:

1、解释.class文件执行。

2、Java应用程序编程接口。

3、Javac开发环境。

 

2、java应用程序编程接口

(API 全写:Application programming interface)

 

25、封装:

定义:把一个具体的,实际存在的事物用java语言来描述。

从抽象到具体:用java语言来解决实际事物。

从具体到抽象:把实际事物用java语言来解释。

26、继承:

定义:子类可以继承父类除private修饰以外的方法和属性。

继承的好处:

1)减少代码的冗余,提高代码的可重用性。

(2)使代码维护变得更加简单。

(3)使系统更容易扩展。

27.Final关键字:

1、可以修饰类,可以修饰方法和属性。

2、修饰的类称为最终类,不能被继承。

3、修饰的的变量叫做常量,不能调用。

4、修饰的方法不能被重写。

28.什么是构造方法:

1、方法名和类名相同的方法。

2、表面没有返回类型,实质返回本类类型。

3、初始化成员变量。

4、遵循方法从载的原则。

5、可以使用四种修饰权限。

29、构造方法的特性:

1、当没有构造方法的时候,java会提供默认的构造方法,

当提供了构造方法,new一个对象,系统会自动寻找构造方法。

3、在继承的基础上:首先找到子类,运行的时候先运行父类里面的,

再运行子类里面的,子类默认的查找父类里的构造方法。

4、构造方法能调用普通方法,普通方法不能调用构造方法。

5、构造方法的作用:调用该类前初始化数据。

 

30、this与super的区别:

一、this指当前类里面的全局变量,this可以用在构造方法的互调(本类的);放在第一行。

二、super用于调父类的方法和属性,也要放在第一行。

总结:this调本类,super调父类。

 

31、什么是方法重写:

1、建立在继承的基础上。

2、方法名相同,参数相同,返回类型相同。

3、子类的封装类型要大于或等于父类封装类型,子类一定要重写父类的所有方法。

4、发生在多个类中。

方法重写的好处:当父类的方法不满足子类的需求,子类可以重写父类的方法。

 

32、方法写与方法重载的区别:

1、,重写发生在多个类中,重载只发生在一个类中。

2、重写在继承的基础上。

3、重写的参数列表相同,返回值一致,重载参数列表不同,与返回值无关。

   4、重写的修饰符大小大于等于父类的权限

33、多态:

多态的定义:       

多态是建立在继承基础之上,基础机制判断允许将某个对象看成父类,因为有了这种能力,可以将多个类看成一个类,子类从写父类的方法,当方法被同一个类调用时,会根据对象所属类而产生不同行为,叫做多态。

 

34、抽象:

定义:逆着类的继承关系,越父类越抽象,越子类越通用。

在父类里只声明方法,不具体操作其逻辑,这种方法叫抽象方法。

如果一个类包含抽象方法,那么这个类就叫抽象类。

 

抽象类的特性:(abstract)

1、抽象类不能实例化(不能被new);

2、抽象方法没有方法体;

3、子类继承父类的抽象类,子类必须从写父类所以的抽象方法,或者子类也变成抽象方法。

4、抽象类不能private来修饰。

5、final不能同时和abstract同时使用。

 

35、接口:(interface)

定义:接口是类似于类的一种结构,属于纯抽象类。没有任何实现的细节,不与任何存储空间关联。

接口的优点:支持多实现,接口与接口可以多继承,用逗号隔开。

接口的特点:

1、接口里没有方法体,接口里的属性默认被public,final,static修饰。

    2、接口不能被实例化(new),只能做对象应用的形式。

3、接口不能继承类,也不能实现类,类可以实现(implements)接口,不能继承接口。

4、接口与接口之间可以多继承,接口不可实现接口。

5、接口里的方法不能用private修饰方法。

 

36.二叉树三种删除方式:

 A:删除叶子节点;

B:删除只有一个左儿子或者右儿子的情况;

  C:删除一个节点既有左儿子又有右儿子的情况

 

37、二叉树三种遍历:

先序遍历:根 右。

中序遍历:左 右。

后序遍历:左 根。


1、构造方法能不能重写:

答:不能,重写发生在继承的基础上,构造方法不能被继承。

构造方法要类名和方法名相同,重写方法名相同,所以构造方法不能从写。

 

2、static用于多态合适吗?

答:不合适,因为多态的概念是父类引用指向子类对象,

static修饰的属性和方法属于类而不属于某个对象。

 

3、接口和抽象类的共同特征:

答:1、都不能被实例化(new);

2、里面都是抽象方法,都没有方法主体;

3、接口和抽象类的方法都不能被private和final修饰。

 

4、接口和抽象类的区别:

答:1、接口里的属性默认被public、static和final修饰。

2、抽象类可以有抽象方法、普通方法和属性。接口里只有抽象方法。

4、抽象类里可以有构造方法,而接口没有。

5抽象类只能单继承,而接口可以多实现,弥补了java单继承的缺陷。

 

5、你如何理解static:

1、静态方法可以直接访问静态变量,普通方法可以调用静态变量。

2、Static 修饰的方法和属性属于类而不属于某个对象。

3、Static不能修饰类。

4、Static不能以任何方式访问this和super。

5、Static可以用四种修饰符修饰。

6、Static 修饰的方法和属性属于静态方法和静态属性。

6、同步和异步有何异同,在什么情况下分别使用他们?举例说明。

答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

7、在java中如何跳出多重循环。

break; return 方法。

8.接口可以做形参吗?

可以.

9.Java为什么可以跨平台?

答:主要是jvm的作用,一次编译到处运行。

10、八大基本类型和八大基本包装类的区别:

八大基本类型是按值传递,包装类是按引用传递。

11、String 和StringBuffer StringBuild 的区别:

答: String  是不可变的, 因为String的内存分配方式跟数组的一样,都是静态分配的。

        String 里面的方法是异步的。 StringBuffer 的方法是同步的。StringBuild的方法是异步的。异步的性能要高,同步的安全性高。

      

 

13、String a = "abc";

   String b = "abc";

a = = b?

答:等于, 因为当常量池里面有了“abc”后。它就不再开辟新的内存了,而是共享同一个常量池。

 

14. Hashtable 和 HashMap 的区别:

答:HashMap里面的方法是异步的,效率要高,键值都可以为null,不能重复。

Hashtable里面的方法是同步的,但是它保证了数据的一致性和唯一性,它的键值都不为null;不能重复。

 

15、简单讲解一下Java.Io流

答:Io流分为字节流和字符流,字节流以字节为最小单位读取,字符流以字符为最小单位读取。

字节流每次读取8个字节单位的数据,而字符流每次读取16个字节单位的数据。

流的体系由InputStream,OutputStre 基类衍生出来。

 

16、wait() 和 sleep()方法的区别:

:wait( )是Object类里面的方法,运行时会释放锁,让别的线程执行。

sleep( )是Thread类里面的方法,不会释放锁。

           

17、深克隆和浅克隆有什么区别:

浅克隆是就只是调用父类,他对那些引用类型的变量地址不进行克隆.

深克隆就是自己重写父类的clone方法达到自己想要达到的目的

 

18、自动装箱和自动拆箱:

答:自动装箱就是把基本数据类型的值直接赋给包装类型,自动拆箱就是把包装类型的值直接赋给基本类型。

 

19、 中断线程的三个方法,

答:interrupt(), interrupted( 因斯r普 特),isInterrupted(is int rup d )

 

20、.进程和线程的区别:

答:一个进程中可以包括多个线程,进程运行时可以单独执行,而线程不能单独运行,没有进程线程就不能运行。因为线程是共享进程的虚拟空间,线程共享的环境包括进程代码块。

 

21、线程的两种实现方法以及它们的优缺点

答:

一、继承Thread(斯瑞的)类,直接调start(斯达特),重写run( )。

二、实现Runnable接口,可提供系统可扩展性。这弥补了Java单继承的不足。

22、线程和进程的区别:

进程定义:本质上说是一个正在执行的程序,拥有独立的数据空间,占一定cpu资源。

线程定义:线程是进程的细分,线程不能独立运行,依赖某个进程运行。

44. 什么是死锁?

     答案:所以线程都调用了suspend(苏斯盘的)方法被挂起了,都等待着另一条线程调用resume(瑞斯蛮的)方法来唤醒自己。

 

45. 什么是线程安全?

    答案:线程安全就是保证数据的完整性。

 

23、线程的生命周期

1.新建  2.就绪  3运行 4挂起 5死亡

2.精灵线程没有生命周期,所以它的优先级别高。

 

24、什么是死锁

答:当多条线程同时运行时,在一定的时间内所有的线程都已经处于挂起状态,都是等特其它的线程来唤醒,这时候就会导致死锁。

 

25、什么是优先级

  答案:优先级就是决定线程执行的时间长短,先后顺序的。

 

26、Error 和 Exception的区别

答:error 表示不可恢复的错误。比如说内存溢出。程序很难处理这种情况。

exception 表示一种设计或实现问题,是可修复的错误。

 

27、什么是垃圾。为什么要有垃圾回收

答:垃圾就是在程序运行后,内存被分配的内储不再被需要的情况,那么这些内储对程序来讲就是垃圾。

 

28、java中实现多态的机制是什么?

答:方法的重写(Override)和重载(Overload)是Java多态性的不同表现。

32、异常:

一是编译时检测出语法错误,二是运行错误;

运行错误的三种情况(1代码逻辑错误、2用户输入错误、3硬件设备错误)

 

33:序列化和反序列化:

序列化:对象任意时刻的状态保存在外部储存设备上。

反序列化:把外面介质里面的东西还原的过程。

 

序列化注意:

1、对象序列化要实现Serializable接口。、、、、

2、Static修饰的变量不会被序列化。

 

 

34、形参和实参:

实参:已定义并赋予初始化的变量和对象,是实实在在的数据。

形参:方法在定义的过程中为此功能定义了一个框架,以及参与运算的变量数据。

 

 

35、 如果并没有手动用super关键字调用父类的构造方法,子类会不会调用父类的构造方法?

   答案:一定会,而且是必须的。

每个子类都会调用父类默认的构造方法,一级一级的调用上去,直到调用到所有类的基类Object类中的构造方法。

 生成对象时,也是如此,先从父类的构造方法一级一级向下执行下来。

 

36、一个类的成员属性在什么时候初始化?

   答案:在new这个类的对象的时候。

 

37、子类在调用父类的有参数的构造方法时,能不能把自己的属性当作值参传过去?

   答案:不能,因为在调用父类构造方法的时候,子类的属性还没有被初始化。

 

38、用static修饰的属性或方法在什么时候初始化?

  答案:在类装载的时候,系统就分配了内存块给static修饰的属性和方法。

 

39. ArrayList 和 LinkedList 、Vector有什么不同?

答案:ArrayList数组存储,查询,修改方面性能高,异步进行的,性能高,速度快。

LinkedList链表储存,异步,插入,删除方面性能高。

    Vector数组储存, 同步,安全性高,便于查询和修改。

 

40、 什么是线程同步?

     答案:线程同步就是一次只允许一条线程访问临界资源。

 

41、 什么是临界资源?

     答案:多条线程间共享的数据就叫临界资源。

 

 

42、为什么不提倡使用suspend 和resume 这两个方法?

答案:这二个方法都容易发生死锁。

 

43、什么是并发和并行?

    答案: 并发:一个cpu为多个线程服务

           并行:多个cpu给多个线程服务。

 

46. 什么是对象序列化?

    答案:对象序列化就是把对象任意时刻的状态保存下来。

 

47. 包装类的 “= =” 比较的是什么?

答案:比较的是值。

 

48、请你说一下递归?

递归是定义自身属性的一种事物过程,就是方法通过直接或简接调用本身自己的方法。

 

49、java是按值传递的,还是按引用传递的!

也可以按值传递,也可以按引用传递,按值传递的时候传递的值得拷贝,而按引用传递的时候传递的是一个内存地址。

 

50、构造方法是编译器开辟内存空间 还是运行期开辟内存空间

   运行期。

 

51、构造方法能不能被重写?

重写是在继承机制之上,因为构造方法不能被继承所以不能被重写,

重写是要和方法名一样,而构造方法要与类名一致,所以不能重写构造方法。

 

52、if  if  if 与if  if  else那种情况效率更高?

后者效率更高,因为if情况判断了正确的情况下它还有继续下面的判断,

而后者它 只要进了一个if其余的情况就不进.

 

53、switch语句和if语句的区别?

    1.swith只能判断相等的情况,而if可以判断任意类型的布尔表达式。

    2.在同一个switch语句中不能有2个相同的case常量。switch可以嵌套。

 

 

54、什么是向上转型和向下转型

 向上就是子类转父类,向下是父类转子类的

 

55、接口可以做形参吗?

可以。

 

56、java中实现多态的机制是什么?
  方法的重写(Override)和重载(Overload)是Java多态性的不同表现。

 

57、数组中有length()方法吗?

   没有它只有length的属性

 

58、List与Set、Map接口的区别?

 List储存结构是线性结构,而set储存结构是映像,Map存储结构是映射。

  List里面储存进去的对象是有序的,而set是无序的,Map是无序的。

  List可以允许多个null,允许重复,set里面最多允许一个null,而且不能重复。

Map不能包含重复的键。

 

60、TreeMap 和 TreeSet 的区别?

      相同点:都可排序,放进去的类型要统一,异步进行。

      不同点:TreeMap 实现了Map接口;

              TreeSet  实现了Set 接口;

              TreeMap 是键值对映射,TreeSet是映像。

 

61、throws与throw分别有什么作用?

答:throws往方法外部抛出异常, throw是往方法内部抛出异常。

 

62、final,finally,finalize的区别?

答:final是一个关键字。finally是异常清除操作块。finalize是垃圾回收器。

 

63、Join能造成死锁吗?在什么情况下会造成

   : 能,只有在本类中,用当前的对象调用Join方法,就会造成死锁。

 

64、局部变量的生命周期

   答: 随着方法的结束而结束

 

65、default 在那些地方使用过。

   答:修饰类,方法,变量,还有在switch语句中。

 

66、传参有几种类型?有几种特殊类型?

   答:(1)基本类型 (2)对象类型

    有一种 String  它既可以看成对象,也可以看成是值。

 

67、Java语言最大的特点?

答:跨平台

 

68、什么导致一个线程阻塞(死锁)?

   读取一个文件的时候还有sleep() 、wait() 、join();

 

69、初始化的过程?

   静态块 普通方法  构造函数

 

70、数据类型的作用?

什么样的数据类型决定存储什么类型的数据

决定了存储数据的大小

数据类型决定了分配字节的大小

 

80、字节码的校验是什么?

  1.变量在使用前的初始化

  2.方法调用与对象引用类型之间的匹配

  3、运用时的堆栈是否溢出

 

81、传值和传址是什么?

一、传值:在八大基本类型里就是传值,是将实际参数的值copy了一份给形式参数,然后传递。在不同的内存区域进行操作,

不返还就不改变原值(八大基本类型)

二、传引用:而引用对象就是传址引用类型只有一个内存,默认值为空,在同一内存区域进行操作,不返还也改变原值

三、传地址:引用类型的时候,传的是首地址   

 

82、包的作用?

防止重命名现象,控制包中类,接口,成员变量,和方法的可见性

 

83、constract(构造方法)能不能重写?

子类不能重写父类的constrct()   因为方法名 要和类名一样

 

84、什么是临界资源?

临界资源就是多个线程操作同一个数据。

 

85、类的初始化大致上有这么几个方面。

a.静态变量的初始化 b.一般实例变量的初始化 c.构造函数的初始化

 

86、使用数组前应该注意的什么?

数组在使用之前,必须要保证给其分配内存(系统会用默认值初始化),不可只定义。

 

87、如果一个类继承了父类,父类里有一个静态块,子类里也有个静态块,对子类进行实例,父类的静态块先执行还是子类的先执行?

   答:父类的先执行(因为在装载子类时必须检查父类的错误所以先执行父类的静态块)

 

88、.静态块与动态块有什么特点?

   答:静态块只加载一次,动

态块new一次就加载一次。

 

92、排序有那些方法:

A希尔排序法b冒泡排序法c选择排序法d插入排序法

 

93、抽象方法只能放在那个类当中?

答:只能放在抽象类和接口中。

 

96、迭代器有哪几种 ;

     iterator

     ListIterator

     Enumeration

 

97、main方法可不可以用final 修饰;

   可以;能运行;

 

89、iterator 与 ListInterator的区别;

    iterator 迭代的方式是从头到尾;

    ListIterator 迭代方式是从头到尾也可以从尾都头;

 

99、浅clone()注意哪三点?

答:1.实现Cloneable接口 2.重写clone();  3.缺省行super.clone();

 

100、final修饰的变量必须赋初始值吗?

   答:必须赋初始值,因为final修饰的变量在类装载的时候必须赋初始值。

 

101、在API里八大基本类型有什么方法能把基本类型封装成它的包装类?

   答:valueOf();方法。

 

102、树与二叉树的区别?

   树:没有顺序关系,树的节点有很多,树不可以为空。

   二叉树:节点是有顺序关系,树的节点最多为二个节点 可以为空。

 

103、满二叉树与完全二叉树?

   满二叉树:除叶子节点外,其余节点都不为空。成为满二叉树。

   完全二叉树:最后一层,从左到右不能空的为完全二叉树。

   完全二叉树一定为满二叉树。

 

104、泛型,枚举是jdk一点几新增的?

答;1.5版本;

 

105、java对象操作的方法:

1.对象序列化

2.传参

3.反射

4.数组

5.返回值

 

106、io中有哪一个流可以设置追加模式?

答:FileOutputStream。

 

107、instanceof的作用?

   答:测试对象是否是某类的实例。

 

108、普通方法的方法名可以与类名一致吗?

   答:可以。

 

109、在什么情况下局部变量会覆盖全局变量?

    局部变量与全局变量重名的时候。

 

110、变量命名的规则有哪几点?为什么java支持中文,日文命名?

   答:1)不能用纯数字 2)开头不能用数字 3)java支持中文、日文作为变量名 4)两个或多个英文组合时第一个英文的首写字母要小写;5)注意:一个字符赋给int型是表示ASCII码,赋给char是字符。

 

111、Abstract为什么不能与,private,final,同时使用?

因为abstract强烈要求继承它,而private是不能被继承的,final是强烈反对继承。所以abstract与private,final冲突。

 

112、System.exit(0);

答:终止JVM

 

113、HashSet与TreeSet区别:

答:HashSet以哈希码存储,不排序,重复则覆盖,可以有一个null;

    TreeSet以树存储结构,默认升序,不能有重复元素,类型要是一样;它实现sorteset接口 ,如有需要可以实现comparator接口重写compare方法;

 

114、Collection与Collections的区别:

答:Collection是集合类的最父类;

    Collections是集合类中的一个帮助类,它提供的都是静态方法;

 

115、字符流与字节流的桥梁:

     答:InputStringReader类; OutputStringWriter类;

 

116、在序列化中什么修饰符不能被序列化:

     答:被transient修饰的变量不能序列化,被static修饰的属性是初始值;

 

117、如何将一个用户线程转换成一个精灵线程?

      答:Setdaemon()调用该方法将一个用户线程转换成一个精灵线程。

 

118、在java.lang包中启动一个程序用那个类?

答:ProcessBuider(String)中,用start()启动程序;

 

119、如何声名一个静态块?

static{  语句块(不能有方法)      }

 

120、int 和 Integer 有什么区别

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

 

121、什么是临界资源?

 答案:多条线程间共享的数据就叫临界资源。

 

 

 122、&和&&的区别。

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。

 

123、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。

区别主要答两点:

a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型

b.逻辑操作不会产生短路

 

124、java的基本类型有哪些?它们的存储空间是多少?

  Byte 1个字节,short 2个字节,int 4个字节,long8个字节,

Char2个字节,float 4个字节,double 8个字节,boolean 1个字节。

 

125、char型变量中能不能存贮一个中文汉字?为什么?

    是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

 

126、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

    short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译)

 

 

128、float型float f=3.4是否正确?

    不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 ;

 

 

129、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

 

 

130、线性表的七种运算方式:

增、删、查、改、合并、拆分、插入。

 

131、Stack(栈) 和team(队)的区别:

栈的特点:先进先出。

队的特点:先进后出。

 

132、完整的java体系:

1、Jvm(java虚拟机)

2、API(java应用编程接口)

3、类文件格式

4、Java编程语言

 

134、 jvm虚拟机的三个典型特征:

1、多线程

2、动态链接

3、异常处理

 

 

135、什么是JVM?有什么作用?

这是一种抽象机器,安装在具体的操作系统之上,具有一套虚拟机指令。有自己的堆栈及寄存组器。

作用:可以一次编译,到处运行。

 

136、 请你说出你所知道的线程同步的方法?

        (1)wait()

        (2)sleep()

        (3)notify()

        (4)notifyAll()

 

137、什么是抽象:

 忽略一个主题中与当前目标无关的方面,已便充分的注意与目标有关的方面。抽象并不打算了解全部问题,只了解它一小部分。

 

138、default 在那些地方用过:

 修饰类、方法、属性、switch语句中。

 

139、多态的效果:

当用户发送一个信息,而实现出来的东西,由接收对象做决定。

 

139、变量和常量的区别?

变量是可改变的变量,常量是用fianl修饰的,是不可变的。

 

 

140、“&”和“&&”有什么区别?“|”和“||”有什么区别?

&:两边都是数字,是位运算符,而&&两边都是条件,是逻辑运算符。

|:两边都是数字,是位运算符,而“||“两边都是条件,是逻辑运算符。

 

141、在Java中常用的循环有哪些?

For循环、do while循环、while循环。

 

142、声明变量的要点?

全局变量:不需要赋值,但必须要加“static“否则会报无法从静态上文中引用非静态方法。

局部变量:必须赋值,否则会报尚未初始化变量。

 

143、什么是引用类型或对象?

New出来的都是引用类型,比如数组和String。

八大基本类型只要一声明就分配了内存,而引用类型必须要赋值才有内存。

 

144、八大基本类型都有默认的默认值,有哪些?String的默认值是什么?

整形的默认值是:0

字符型的默认值是:空格

小数点型的默认值是:0.0

布尔型的默认值是:false

String的默认值是:null;

 

145、什么叫传值、传址?

 传值:把实参的值复制一份给了形参,形参可操作实参,如果不返回则不改变实参的值。

传址:把实参的首地址赋值一份给了形参。

 

146、单链有何缺点?

只能顺着指针的直接后继查找结点。.

 

147、请说说单链和双链?

单链:链表中的结点包含一个指针域,称作单链。

双链:由前指针、数据域、后指针组成。

 

148、方法的好处:

可以提高代码的可重用性。

 

149、for循环的增强版:

for一起循环。

 

150、start方法是否会立即执行。

不会,它通过线程的队列排序进行就绪,等待才cpu资源的检验运行。

 

151,什么是反射?

使代码灵活,编译期不加载,运行期加载。

152,list

  是一个接口,有序的。以数组存储数据,增加下标的双向迭代。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值