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

一. 方法的定义, 方法有哪些调用方式?

概念: 方法是若干语句的功能集合, 方法的定义是不能够直接使用的, 如果使用, 要在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()方法可以互相转换

原文地址:https://www.cnblogs.com/harsh/p/10468769.html

时间: 2024-11-05 13:04:35

面试题整理(持续更新中....)的相关文章

阿里笔试题(2015)持续更新中

第一次做阿里笔试题,除了ACM题之外从来没有做过校招网络题呀,完全是裸考,总体感觉吧,对于我来说,感觉时间不够用,不是题不会,感觉时间紧,大脑很混乱,总结这一次的笔试题 废话不多说,直接上题和答案 平均每个人逗留时间为20分钟,那么开场前20分钟一共来了400人,且有20个人逗留时间已经到,但他们不一定出去,注意是平均时间,所有博物馆最少应该容纳500人 双向循环列表,从任何一个元素开始可以遍历全部元素 先和后面的元素相连 s->next=p->next; p->next->pre

一文总结软件测试工程师面试前必背的面试题(持续更新中)

一 软件测试基础理论题 常见的测试方法有哪些? 1 从是否关心内部结构来看分为:白盒,黑盒,灰盒 黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书.一般会有一个输入值,一个输入值,和期望值做比较. 白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖.判定覆盖.条件覆盖.路径覆盖.条件组合覆盖 灰盒是一种综合测试法,它将黑盒与白盒结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执

前端面试题总结——Html5(持续更新中)

前端面试题总结--H5(持续更新中) 1.HTML5 为什么只需要写 <!DOCTYPE HTML>? HTML5 需要doctype来规范浏览器的行为,让浏览器按照它们应该的方式来运行:HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型. 2.HTML5的form如何关闭自动完成功能? 给不想要提示的 form 或某个 input 设置为 autocomplete=off. 3.HTML5 中如何嵌入音频? 当前,audio 元素支持三种音频格式:&l

前端面试题总结——HTML(持续更新中)

前端面试题总结--HTML(持续更新中) 1.什么是HTML? HTML:HyperText Markup Language超文本标记语言 2.XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的标记语言 3.简述一下你对HTML语义化的理解? html语义化让页面的内容结构化,结构更清晰,便于对浏览器.搜索引擎解析; 前端学习圈:767273102 ,从最基础的HTML+CSS+JavaScript.jQuery,Ajax,node,angula

MySQL数据库知识点整理 (持续更新中)

一.修改用户密码 格式(在命令行下输入):mysqladmin -u 用户名 -p旧密码 password 新密码 1. 给root添加密码ab12:  mysqladmin -uroot -password ab12 2. 将root的密码修改为djg345:    mysqladmin -uroot -pab12 password djg345 二.添加新用户 格式:grant 权限 on 数据库名.表名 to 用户名@登录主机  identified by "密码" 1. 增加一

Android 系统中,那些能大幅提高工作效率的 API 汇总(持续更新中...)

前言 "条条大路通罗马."工作中,实现某个需求的方式往往不是唯一的,这些不同实现方式不仅表现在代码质量上,还影响着我们的工作效率.就像,在 Android 系统中,总有那么一些鲜为人知的 API 能够减少我们很多零碎的工作量.于是,就想凭着一些经验,整理一些常用的,找个地方归纳总结,也供日后翻阅. getResources().getIdentifier(String name, String defType, String defPackage) 根据资源名称获取资源 id.正常情况

前端笔试题总结---持续更新

写在前面:.... 1字符串逆序 function reverse(str){ return str.split("").reverse().join("");//直接用函数 var str1="";//从后向前输出 for(var i=str.length-1;i>=0;i--){ str1+=str[i]; } return str1; var len=str.length;//字符串原地逆序 for(var i=0;i<len;

linux学习资料持续更新中

一.LINUX基础教程 1.老男孩系列免费视频: 1) linux高薪入门实战视频教程(第二部)老男孩linux教程 http://edu.51cto.com/course/course_id-1035-page-1.html 2) 跟着老男孩从0开始一步步实战深入学习linux运维(三) http://edu.51cto.com/lesson/id-11909.html linux学习资料持续更新中,布布扣,bubuko.com

Hello World!的各种编程语言程序(持续更新中……)

对于很多学习编程语言新手们,可能接触到的第一个程序就是"Hello World"的输出程序,笔者想在此篇简短的博文中介绍关于各种编程语言的"Hello World"输出程序. 至今,笔者仅仅接触过C++和Python两种编程语言,而且都仅仅是新手,所以此次只能写C++和Python两种语言的"Hello World"输出程序,但此篇博文会随着笔者学习的编程语言种类的增多而不断完善. 1. C++语言 #include<iostream>