天天看点

java大合集复习(一)

c语言是面向对象过程

操作系统就是所有应用软件的平台

java是解释性语言

jdk是java语言的软件开发工具包,主要用于移动设备,嵌入式设备上的java应用程序。jdk是整个java的开发的核心,它包含了java工具和java基础的类库(6.0)。

1.&和&&的亦同?

`
 &和&&都可以做逻辑预算
&&短路与,&逻辑与
有假必假,全真为真
&还可以做位运算`
           

2.什么叫做jvm?jvm跨平台嘛?

java虚拟机,jvm不跨平台,不同的操作系统只能安装对应的jvm

3.数据类型分为那两大数据类型

基本数据类型:byte,int,short,long,Boolean,float,char,double

引用数据类型:数组 类 接口

4.byte的取值范围 -128-127

5.java是按值传递的还是按引用传递的?

按值传递的

6.面向对象的三大特性

封装,继承,多态

7.什么叫封装?

隐藏属性的细节和具体实现,提供公共的访问方法

8.this的两种用法分别是什么?

this.属性或方法 用来指向调用它的对象

this(…)放在构造方法的第一句,用来调用和它重载的构造方法不能循环调用

9.对象和类的关系是什么?

对象是张三,类是人

10.jdk,jre,jvm分别是什么?

jdk:java开发工具包

jre:java运行时环境

jvm:java虚拟机

11.String和stringBuffer的区别?

java平台提供了两个类,string和stringbuffer,他们可以存储和操作字符串,即包含多个字符的字符串数据。这个string类提供了数据不可改变的字符串,而Stringbufer类提供的字符串可以进行修改,当你知道字符数据要该百年的时候,你就可以使用Stringbuffer

12.break和continue的使用场景和作用

break,用来中断循环,continue可以用来继续下一次循环。

13.switch()中可以使用的表达式

整数,字符,枚举,量值

14.++或–如何使用?放钱有什么区别?

++放前面 先自增再复制,++放后面先赋值再自增

–放前先自减,再赋值 --放后先赋值再自减

15.java的三种技术平台

J2SE(Java 2 Platform Standard Edition)标准版(1.5以后更新为 javaSE)

J2ME(Java 2 Platform Micro Edition)小型版

J2EE(Java 2 Platform Enterprise Edition)企业版(1.5以后更新为 javaEE)

16.什么是标识符?什么是合法的标识符?

就是给类,接口,方法,变量等起名字使用的字符序列,

英文大小写字母,数字字符,$和_

17.什么是数据类型转换,数据类型转换有哪几种形式?

自动转换和强制转换

自动转换,小的数据类型大的数据类型

强制转换:会产生溢出和丢失的转换则需要进行强制转换

大的数据类型转为小的数据类型

18.语句在判断多个条件的时候需要注意神?

&&和||?

并且? ||或者?

19.while,do。。。while,for循环的执行顺序是什么?

while(表达式){语句块}先判断在循环

do{语句块}while(表达式);先执行一次在判断

for(表达式1;表达式2;表达式3){语句块}

20.定义一个长度为6的整形的数组

int [] a =new int [6];

  1. 给数组的第5个元素赋值
  2. 基本数据类型的默认初始值是什么

    int 0 byte 0 short 0 long 0L

    double 0.0D float为0.0f boolean为false char为’\0’

23.定义数组,存储1,2,3,4,5

int[] a={1,2,3,4,5}

24.成员变量和局部变量的区别?

成员变量定义在部分定义的变量

局部变量是在方法体内进行定义的变量为局部变量

25.如何调用一个类中的方法?

26.构造方法的格式?构造方法的作用?

与类名相同,无返回值类型的方法,参数可以为空,可以带参用来初始化java类提供的初始化和实例化以便调用

27.封装的好处?

封装可以私有化属性细节,暴露公共方法调用,更加安全

28.权限修饰符有哪些?作用分别是什么?

public:公有的,任何类都可以访问。

protected:受保护的,同一个包的类可以访问。不同包的子类可以访问。

default:同一个包的类可以访问。

private:私有的,在同一个类中才能访问。

29.什么叫方法的重载?

在同一个类中可以创建多个方法,他们具有相同的名字,但是具有不同的参数和定义

30.方法返回值使用哪个关键字?

return

31.抽象类和接口?

1.抽象类的特征:

a.类名前加abstract

b.含有抽象方法(方法由abstract修饰,并且无方法体–>无{ },并且以分号结尾)

c.继承抽象类的子类,必须实现父类的抽象方法(实现方法:需要给从父类继承而来的方法加上{ },并且结尾的去掉分号)。d.抽象类不能利用自己的构造方法,创建对象。

e.抽象类也可以创建构造方法、普通变量、初始化块、内部类、枚举。

f.只能用抽象类的子类(非抽象),创建抽象父类的对象。

g.抽象类的普通方法,也可以被子类重写。

h.抽象类的子类也可以是抽象类。

i.抽象方法的权限默认是public(因为抽象类需要被继承,并且抽象方法需要继承者实现)

h.构造方法和static方法是不能被抽象的。

2.接口的特征

a.接口名称被interface进行修饰

b.接口也有抽象的方法

c.接口里的抽象方法默认修饰符是public

d.作为实现类,也必须实现接口内的抽象方法。

e.接口内的方法默认是被public abstract修饰的。属性是被public static final所修饰。

f.接口中不能出现public修饰的方法

g.接口内可以出现default及static修饰的普通方法(带{ })

h.建立接口的对象方法是,通过此接口的实现类建立接口的对象。(实际接口对象是实现类的对象)

i.接口也可以进行多态,通过接口的实现类进行多态。

Writer w = new LiQi();//Writer是接口,而LiQi是实现类

3.接口:彻底抽象的类(纯粹的抽象的类)

4.接口与抽象类的相同点:都具备抽象的方法。

5.接口与抽象类的异同点:抽象类本质还是一个类,内部还具备类的特点,那么接口,它是行为的抽象,内部已经与抽象类不同了。

6.实现类不能重写接口内的static修饰的方法,因为static修饰的方法,权限默认是private。default修饰的方法,可以被实现类重写。

7.抽象类也可以作为一个实现类来使用,也可以重写接口内的抽象方法。

32.用户定义数据类型的关键字

基本数据类型

数值型 整数:byte(字节)short(短整型)int (整型)long(长整型)

浮点数: float(单精度浮点数)double(双精度浮点数)

字符型 char(字符型)

布尔型 boolean(布尔型)

引用数据类型

class(类)

interface(接口)

void(表示函数的返回值是无返回值类型)

33.用于定义数据类型值的关键字

true(真)

false(假)

null(空)

34…用于定义流程控制的关键字 选择结构 if(如果)else(否则)

选择结构 switch case default(默认)

循环结构 while do for

其他流程控制语句 break(跳出) continue(继续) return(返回)

35.用于定义访问权限修饰符的关键字

private(私有)

protected(保护)

public(公有)

36.用于定义类,函数,变量修饰符的关键字

abstract(抽象)

final(最终)

static(静态)

synchronized(同步)

enum(枚举)

37.用于定义类与类之间的关键字

extends(继承类)

implements(实现接口)

38.用于定义建立实例及引用实例,判断实例的关键字

new(实例化类)

this(本类对象)

super(父类对象)

instanceof(判断对象类型)

39.用于异常处理的关键字

try(检查异常)

catch(抓住异常)

finally(发生异常后最终执行)

throw(程序中实例化异常抛出)

throws(标识方法抛出异常

40.用于包的关键字

package(创建包名)

import(引入包名)

41.标识符的命名规则:

(1) 数字不可以开头

(2) 不可以使用关键字

(3) Java中严格区分大小写

42.标识符的名称规范:

(1) 包名:多个单词组成时,所有字母小写 ? e.g. xxxyyyzzz

(2) 类名和接口名:多个单词组成时,所有单词首字母大写 ? e.g. XxxYyyZzz

(3) 变量名和函数名:多个单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写 ? e.g. xxxYyyZzz

(4) 常量名:多个单词组成,所有字母大写,每个单词用下划线连接 ? e.g. XXXYYYZZZ

43.Java的注释有三种:单行注释,多行注释,文档注释

1.注释的作用:

(1) 注解说明程序,但是注意不要每一行都加注释,不然会导致中英文结合地非常密,阅读性差

(2) 调试程序(很重要的应用)

2.注释的问题:

(1) 单行注释中能够使用单行注释

(2) 多行注释中能够使用单行注释

(3) 多行注释中不能使用多行注释,文档注释

(4) 文档注释中不能使用文档注释,多行注释

3.注释的分别用法:

(1) 类上面加的是文档注释

(2) 函数上面加的是文档注释

(3) 如果修饰符有改变的话,加多行注释

(4) 代码中的某几句话,加单行注释

43.常量不能被改变数值

(1)整数常量

(2)小数常量

(3)布尔型常量:true,false

(4)字符常量:’4’,单个字母

(5)字符串常量:”abc”

(6)null常量,值为null

44.变量

变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。(Java是强类型语言)

45…变量的初始化:

(1)Java在方法中定义的变量不会自动初始化,必须要我们给它初始化后才能使用它。

(2)在类中定义的变量会自动初始化

46.变量的作用域:

Java中变量的作用域——大括号划分

47.运算符

运算符包括:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符。

赋值运算符: =,+=,-=,=,/=,%=

算数运算符: +,-,,/,%,++,–

关系运算符(比较运算符,条件运算符): ==,!=,>,>=,<,<=

逻辑运算符: &,|,^,!,&&,||

位运算符: &,|,^,~ ,>>,>>>,<<

三元运算符:(条件表达式)? 表达式 1 : 表达式 2; =>一定有结果

(1)如果条件为true, 运算后的结果为表达式 1;

(2)如果条件为false,运算后的结果为表达式 2;

48.静态变量和成员变量的区别

静态变量也叫类变量 成员变量也叫对象变量

1.所属不同

静态变量属于类,所以也称为为类变量

成员变量属于对象,所以也称为实例变量(对象变量)

2.内存中位置不同

静态变量存储于方法区的静态区

成员变量存储于堆内存

3.内存出现时间不同

静态变量随着类的加载而加载,随着类的消失而消失

成员变量随着对象的创建而存在,随着对象的消失而消失

4.调用不同

静态变量可以通过类名调用,也可以通过对象调用

成员变量只能通过对 象名调用

.抽象类特点

a:抽象类和抽象方法必须用abstract关键字修饰

abstract class 类名 {}

public abstract void eat();

b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口

c:抽象类不能实例化 ?那么,抽象类如何实例化呢?

按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。

d:抽象类的子类,要么是抽象类,要么重写抽象类中的所有抽象方法

5.0.封装的概述

是指封装隐藏对象和实现细节,仅对外提供公共访问方式。

51.封装的好处

提供了安全性

提高了代码的复用性

因此实现细节,提供公共的访问方法

52.封装的原则

将不需要对外提供的内容都隐藏起来,

把属性隐藏,提供公共方法对外访问。

53.继承

让类与类之间产生关系,子夫类关系

54.继承的好处

a:提高了代码的复用性

b.提高了代码的维护性

让类与类之间产生关系,是多态的前提

55.继承的弊端:

类的耦合性增强了。

55.方法重写和方法重载

方法重写:子类中出现了和父类中方法声明一模一样的方法,与方法值类型有关,返回值是一致(或者是子类的)

方法重载:本类中出现的方法名一样,参数列表不同的方法,与返回值类型无关。

56.java中的类的继承特点

a.java只支持单继承,不支持多继承。(一个儿子只能有一个爹)

b.jva支持多层继承(继承体系)

57.方法重写和方法重载

方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子夫类)的

方法重载:本类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

58.多态的概述及其代码体现

A·多态(polymorphic)概述 食物存在的多种形态

B:多态前提

a·要有继承关系

b.要有方法重写。

c要有父类引用指向子类对象。

c:多态的好处

a·提高了代码的维护性,继承保证

b.提高了代码的扩展性(由多态保证)

D.多态的弊端

不能使用子类的特有属性和行为。

59.抽象类的概述及其特点

a.抽象类的特点

a抽象类和抽象方法必须用abstract关键字修饰

abstract类名{}public abstract void eat();

b抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口

c.抽象类不能实例化那么,抽象类如何实例化呢?

按照多态的方式,由具体的子类实例化,其实这也是 多态的一种,抽象类多态。

b.抽象类的子类

要么是抽象

要么重写抽象类中的所有抽象方法

60.抽象类的成员特点

a.成员变量:既可以是变量,也可以是常量。abstract是否可以修饰成员变量,不能修饰成员变量

b.构造方法:有。

用于子类访问父类数据的初始化

c.成员方法:既可以是抽象的,也可以是非抽象的。

61.接口的概述及其特点

a。接口概述 从侠义的角度来讲就是java中的interface

从广义的角度讲对外提供规则的都是接口

b:接口特点

a.接口用关键字interface表示

interface 接口名{}