Java基础

字符

标识符

命名规则
可以包含数字,但不能以数字开头
除了下划线_,和$符之外,不能有其它特殊字符,如空格
区分字母大小写
不能使用Java关键字
换行符\n要加双引号
System.out.println(“名字”+“\n”);

注释

单行注释://
多行注释:从“/”开始到“/”结束,
文档注释:从“/**”开始到“*/”结束
文档注释可以用javadoc命令提取出来,生成类似于jdk文档的网页文件,以便于他人了解一个类的功能。

变量

变量基本结构:类型 变量名 =值
前面不可以有访问符

数据类型

8种基本数据类型

数值型
  • 整数
    short型(短整型)数据在内存中占用2个字节
    long型(长整型)数据在内存中占用8个字节。
    int型(整型)数据在内存中占用4个字节。
    byte型(字节型)数据在内存中占用1个字节,表示的存储数据范围为:-128~127。
  • 浮点数
    float型(单精度浮点型)数据在内存中占用4个字节。
    float t = 3.1f
    f转为double型
    double型(双精度浮点型)数据在内存中占用8个字节。
    一般小数默认是double型
字符型

char每个字符占2个字节,定义时用单引号’ ’

布尔型

boolean:数据值只有true或false,适用于逻辑计算。

引用数据类型

字符串类型String
最常用的一种存储文本的数据类型,用双引号“”
任何数据+字符串操作结果都是字符串
使用关键字和构造方法来创建 String 对象。
String str2=new String(“Runoob”);
有内置方法
hashCode() 方法用于返回字符串的哈希码。
length() 方法,它返回字符串对象包含的字符数。

流程控制

判断语句
if条件语句
switch多重选择
循环语句
while循环
do while循环
for循环
for (初始条件; 循环检测条件; 循环后更新计数器) {
    // 执行语句
}
break语句通常都是配合if语句使用。要特别注意,break语句总是跳出自己所在的那一层循环
continue则是提前结束本次循环,直接继续执行下次循环

for each循环能够遍历所有“可迭代”的数据类型,包括后面会介绍的List、Map等。

数组

遍历数组

for循环通过索引来访问

        int[] ns = { 1, 4, 9, 16, 25 };
        for (int i=0; i<ns.length; i++) {
            int n = ns[i];
            System.out.println(n);
        }

for each循环直接迭代数组的每个元素

第七章异常
Error严重的错误
OutOfMemoryError:内存耗尽
NoClassDefFoundError:无法加载某个Class
StackOverflowError:栈溢出
Exceptio是运行时的错误,它可以被捕获并处理。
RuntimeException以及它的子类;
非RuntimeException
(包括IOException、ReflectiveOperationException等等)
异常类分为两种
1.错误。一般指与虚拟机相关的问题,这些错误无法恢复和捕获
2.异常(Exception),因编码错误或外在因素导致的问题
两种异常处理机制
1.使用try catch捕获异常
存在多个catch的时候,catch的顺序非常重要:子类必须写在前面
2.trrows抛出异常

三.复习题

简答题

1、java源程序在控制台环境下编译和运行的命令是什么?编译之后生成了什么文件?
编译Javac name.java 生成.class文件
运行Java name

2.Java的数据类型分为哪几种?请列举出8个Java的基本数据类型。
byte short int long double float
char
boolean

  1. 继承的主要作用是什么?如何使用一个子类继承一个父类?
    通过继承,子类可以使用父类的非私有属性和非私有方法,从而提高代码重用性,提高开发效率

4、continue的功能是什么?break的功能是什么?两者的区别?
continue跳出本次循环,直接执行下一次循环
break直接跳出本层循环

  1. toString 方法的功能是什么?如何使用toString 来实现方法重写?
    toString()将对象的内容转换为字符串
    当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法

默认情况下 System.out.println(对象名)或者System.out.println(对象名.toString())输出的是此对象的类名和此对象对应内存的首地址 如果想自定义输出信息必须重写toString()方法

/*注意事项
1.必须被声明为public
2.返回类型为String
3.方法的名称必须为toString,且无参数
4.方法体中不要使用输出方法System.out.println()
语法格式为*/
public String toString(){      }

6、构造方法的作用是什么?
在创建对象时,初始化对象的属性

  1. 什么是抽象方法?什么是抽象类?
    抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类
    抽象方法:抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型,方法名称和所需要的参数,没有方法体,这个方法必须被子类的方法所重写

8 什么是类间的依赖关系?什么是类的关联关系?什么是类的聚合关系?什么是类的组成关系?
依赖关系
在一个类的方法中操作另一个类的对象,则称其依赖于第二个类
例如方法的参数时某个类的对象

关联关系体现为一个类中使用另一个类的对象作为该类的成员变量

聚合关系是关联关系的一种特例,表现为一个类(整体)由多个其他类的对象(部分)作为该类的成员变量

  1. super关键字的主要作用是什么?
    对于有继承关系的类,子类可以通过这个关键字调用父类中的方法
    写法,即 super(构造方法名),而且必须是这个构造方法的第一句。
    在子类的构造方法中调用父类的构造方法
    在子类方法访问父类的属性和方法

  2. this代表什么?this大部分情况下是可以省略的,请说明什么时候不能省略this。
    this是一个变量,保存了当前对象的内存地址,指向这个对象自身。this代表的就是 “当前对象”
    在实例方法或者构造方法当中,为了区分同名的局部变量和实例变量,this不能省略

  3. Java中包含哪几种内部类?什么是成员内部类?什么是局部内部类?什么是最终类?
    包含:成员内部类、局部内部类、静态内部类、匿名内部类
    成员内部类:在“外部类”的内部定义一个类,作为一个成员存在,与外部类的属性、方法并列
    局部内部类:在方法中定义的内部类称为局部内部类,不仅可以访问包含它的外部类成员,还可以访问局部变量
    最终类:最终类有final关键字修饰,最终类不可被继承

  4. 什么是类?类里面包含什么?什么是对象?两者之间的区别是什么?
    类:类是具有相同属性和方法的一组对象的集合
    类包含字段和方法
    对象:对象是一具体事物
    区别:对象是类的一个实例,拥有类定义的属性和方法

  5. java中有哪几种注释?分别用什么符号表示?
    单行注释://
    多行注释:从“/”开始到“/”结束,
    文档注释:从“/**”开始到“*/”结束
    文档注释可以用javadoc命令提取出来,生成类似于jdk文档的网页文件,以便于他人了解一个类的功能。

  6. 什么是缺省构造器?它的作用是什么?缺省构造器什么时候无法产生作用?
    如果一个类没有定义构造方法,编译器会自动创建一个缺省构造器
    作用在创建对象时初始化对象的属性
    如果你已经定义了一个无参构造方法,

  7. public、private、protected三个访问控制符代表了不同的访问级别,请分别进行说明。
    public公共访问权限,可被同一包或不同包的所有类访问
    protected子类访问权限,可以被同一包的其它类访问,也可以被其他包的子类访问
    friendly包访问权限,如果没设置访问符则默认friendly包访问权限,可被同一包中所有类访问
    private 当前类访问权限,只能被当前类的其它成员访问

  8. 什么是多态?多态在代码中的表现形式是什么?多态的作用?
    同一个对象在不同阶段,多种状态
    表现形式:继承、重写、父类引用指向子类对象
    作用:可以将子类对象直接赋值给一个父类引用变量,无须任何类型转换

  9. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
    可以,但只能有一个public类,并且public的类名必须和文件名一致

  10. final关键字的主要作用是什么?
    被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写);

  11. 什么是接口?接口如何定义?接口中能够包含哪些方法?接口和类在继承方面的区别。
    接口可以定义抽象方法,默认方法,类方法
    接口可以多继承,即一个接口可以继承多个接口
    类只能单继承,一个子类只能有一个直接父类

  12. 什么是方法重载?什么是方法重写?两者的区别?
    方法重载是指在同一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或者参数个数
    方法重写是指在子类创建一个与父类中除了方法体的实现不同外,其它都相同的方法,以便实现不同于父类的功能

个人博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值