面试题整理(持续更新中....)

一. 方法的定义, 方法有哪些调用方式?
    概念: 方法是若干语句的功能集合, 方法的定义是不能够直接使用的, 如果使用, 要在main方法中调用
    格式: 修饰符(public static)返回值类型 方法名称(参数类型 参数名称, ...) { 方法体; return 返回值; }
        修饰符: 现阶段的固定写法 public static
        返回值类型: 也就是方法最终产生的数据结果是什么类型
        方法名称: 方法的名字, 规则和变量一样, 小驼峰(首写字母小写 其余大写)
        参数类型: 进入方法的数据是什么类型
        参数名称: 进入方法的数据对应的变量名称(参数如果有多个 用逗号分隔)
        方法体: 方法需要做的事情, 若干行代码
        返回值: 方法执行后最终产生的数据结果
    return两个作用: 
        1. 停止当前方法;
        2. 将后面的结果返回给调用处;
    方法定义的注意事项:
        1. 方法定义的先后顺序无所谓
        2. 方法定义必须是挨着的, 不能在一个方法的内部定义另一个方法
        3. 方法定义之后不会执行, 如果希望执行, 一定要调用: 单独调用, 打印调用, 赋值调用
        4. 如果方法有返回值, 则必须写上 "return返回值;", 不能没有
        5. return后面的返回值数据, 必须和方法的返回值类型对应起来
        6. 对于一个void没有返回值的方法, 不能写return后面的返回值, 只能写return自己
        7. 对于void方法中最后一行的return可以省略不写
        8. 一个方法当中可以有多个return语句, 但是必须保证同时只有一个return被执行, 两个return不能同时连写
    定义一个方法的三要素: 返回值类型; 方法名称; 参数列表
    方法调用的四个步骤:
        1. 找到方法
        2. 参数船体
        3. 执行方法体
        4. 带着返回值回到方法的调用处
    方法的三种调用格式:
        1. 单独调用: 方法名称(参数); 没有打印没有赋值, 只是让方法调用
        2. 打印调用: System.out.println(方法名称(参数)); 把方法调用写到输出语句, return后面的结果可以打印
        3. 赋值调用: 数据类型 变量名称 = 方法名称(参数); 将结果赋值给变量, 变量可以进行别的操作
    方法小括号中有参数和无参数:
        有参数: 小括号当中有内容, 当一个方法需要一些数据条件, 才能完成任务的时候, 就是有参数, 例如: 两个数相加, 需要知道两个数字格式多少, 才能相加
        无参数: 小括号当中留空, 一个方法不需要任何数据条件, 自己能够独立完成任务, 就是无参数, 例如定义一个方法, 打印固定10次hello
    对比方法有返回值和无返回值:
        注意事项: 对于有返回值的方法, 可以使用单独调用, 打印调用或者赋值调用. 但是对于无返回值的方法, 只能使用单独调用, 不能使用打印调用或者赋值调用

二. 参数的数据类型可以使哪些, 参数的分类有哪些? 
    1. Java数据类型基本概念:
        Java是强类型语言, 数据类型是语言中最基本的单元定义, 本质上可以分为两种: 基本类型和引用数据类型.
    2. 基本数据类型(4类8种: 整数型, 浮点型, 字符型, 布尔型):
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0
short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0
int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0
long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L
float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0
char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空
boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false
3. 引用类型:
    引用类型指向一个对象, 指向对象的变量是引用变量, 这些变量在声明时被指定为一个特定的类型, 变量一旦声明后, 类型就不能改变了.
    所有引用类型的默认值都是null. 引用类型变量在声明后必须通过实例化开辟数据空间, 才能对变量所指向的对象进行访问.


三. 数组的定义,数组与集合的区别及联系?
    概念: 数组是指一组数据的集合, 数组中的每个数据被称为元素. 在数组中可以存放任意类型的元素, 但同一个数组里存放的元素类型必须一致
    数组的定义:
        格式: 数据类型[] 数组名 = new 数据类型[元素个数或数组长度];
    注意事项: 数组中最小的索引是0, 最大的索引是"数组的长度 - 1";
    数组的初始化:
        1. 动态初始化: 在定义数组时只指定数组的长度, 由系统自动为元素赋初值的方式成为动态初始化.
        2. 静态初始化: 在定义数组的同时为数组的每个元素赋值. 静态初始化有两种方式:
            1. 类型[] 数组名 = new 类型[]{ 元素, 元素, ... };
            2. 类型[] 数组名 = { 元素, 元素, 元素, ... } //为了简便, 建议使用第二种方式
    数组Array和集合的区别:
        1. 数组是大小固定的, 并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
        2. Java集合可以存储和操作数目不固定的一组数据
        3. 若程序执行时不知道需要多少对象,需要在空间不足时自动扩增容量, 则需要使用容器类库, array不适用
    数组Array和集合的联系:
        * 使用相应的toArray()和Arrays.asList()方法可以互相转换


猜你喜欢

转载自www.cnblogs.com/harsh/p/10468769.html