提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 一、项目结构
- 二、idea中的快捷键
- 三、数组
-
- 1.数组的定义格式
- 2.数组的初始化方式
-
- (1)动态初始化
- (2)静态初始化
- (3)初始化默认值
- (4)动态初始化vs静态初始化
- 3.数组元素访问及遍历
- 4.数组操作的两个常见问题
-
- (1)索引越界异常
- (2)空指针异常
- 5.数组应用
-
- (1)数组获取最大值
- (2)数组元素求和
- (3)数组基本查找【应用】
- 6.多维数组—二维数组
-
- (1)动态初始化
- (2)静态初始化
- (3)二维数组访问元素的细节问题
- (4)二维数组的应用
- 四、方法
-
- 1.无参数方法定义和调用
- 2.带参数方法的定义和调用
- 3.通用格式
- 4.形参和实参
- 5. 带返回值方法的定义和调用
- 6.方法重载
- 7.参数传递
-
-
- (1)方法参数传递基本类型
- (2)方法参数传递引用类型
-
- 7.方法应用
- 五、Debug
-
- Debug介绍与操作流程
- 六、 ArrayList 集合 (基础)
-
- 1.基本方法
-
- (1)ArrayList构造方法
- (2)ArrayList的增删改查
-
-
-
- ①add方法-----增
- ②remove------删除元素
- ③set(i , E`)------修改元素方法
- ④get( i )------获取元素
-
- (3)集合的基础应用
-
一、项目结构
·一个项目会被分成多个模块;模块中包含了一些包;包是把一些类规整进一个包内而形成的;类就是创建的一个编译文件(java文件等)

①project:项目(工程)
| 一个项目会被分成多个模块;模块中包含了一些包;包是把一些类规整进一个包内而形成的;类就是创建的一个编译文件(java文件等)
②module:模块
③package:包
| 把一些类规整进一个包
④class : 类
| 创建的一个java文件
二、idea中的快捷键
①psvm + 回车 : 快速生成main方法
②sout + 回车 : 快速生成打印语句
③alt + 1 : 隐藏目录结构
alt +4 : 隐藏工作台
④ctrl + alt + L : 格式化代码
ctrl + D : 向下复制一行
ctrl + X : 剪切当前行
ctrl + / : 批量加入单行注释
⑤alt + Ins(Insert) : 创建方法
三、数组
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
1.数组的定义格式
①数据类型[ ] 数组名 : int[ ] arr;
②数据类型 数组名[ ] : int arr[ ];
·数组要初始化才能使用(实质上就是开辟一块空间)
2.数组的初始化方式
(1)动态初始化
数组动态初始化就是只给定数组的长度,由系统给出默认初始化值
数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];
数组的内存分配 内存是计算机中的重要原件,临时存储区域,作用是运行程序。
我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。
必须放进内存中才能运行,运行完毕后会清空内存。
Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。
(2)静态初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
int[] arr = new int[]{11,22,33};
简化版格式
数据类型[] 数组名 = {元素1,元素2,…};
int[] arr2 = {44,55,66};
(3)初始化默认值
整数类: 0
浮点类型: 0.0
布尔类型: false
字符类型: 空字符
字符串: null
(4)动态初始化vs静态初始化
·动态初始化:
手动指定数组长度,系统给出默认初始化值
静态初始化:
手动指定数组元素,系统根据元素个数,自动计算数组长度
3.数组元素访问及遍历
用到索引 (从 0 ~ n-1 )
数组的遍历

4.数组操作的两个常见问题
(1)索引越界异常
索引范围为0 ~ n-1 , 却访问了n
(2)空指针异常
5.数组应用
(1)数组获取最大值
最大值获取:从数组的所有元素中找出最大值。
讯享网

(2)数组元素求和
需求:键盘录入5个整数,存储到数组中,并对数组求和

(3)数组基本查找【应用】
讯享网

2.需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。

6.多维数组—二维数组
也是一个容器,但存储的是一个数组(本质上仍是数组,存放的东西不同而已)
(1)动态初始化

(2)静态初始化
完整格式:
数据类型[][] 变量名 = new 数据类型[][]{ {元素1,元素2…},{元素1,元素2}…}
int[][] arr = new int[][]{ {11,22,33} , {44,55,66} };
简化格式:
数据类型[][] 变量名 = { {元素1, 元素2…} , {元素1元素2…} , …};
int[][] arr = { {11,22,33} , {44,55,66} };
注意:
静态初始化二维数组,可以用来定义第二维不同的情况
·完整版
int[][] arr = new int[][] { {1, 2,3} , {4, 5} , { 6,7,8,9 } } ;
·简化版
int[][] arr ={ {1,2,3},{4,5},{6,7,8,9} };
一维数组中的静态初始化,可以将定义和赋值分开写
int[] a;
a={1,2,3};
但二维数组的静态初始化不可以这样
(3)二维数组访问元素的细节问题
定义时易错点
①若省略m : int[ ][ ] arr = new int[ ][3] ; ——>会产生编译报错
②若省略n : int[ ][ ] arr = new int[3][ ] ; ——>编译通过
·打印arr[0]、arr[1]、… ——> 结果为null
(因为省略了n,不能确定其地址长度,所以初始化为默认值null)
·打印arr[0][0]、arr[1][0]、… ——> 结果报错,错为空指针异常
(一维数组中元素为空,指向的对象的“指向”不存在,即为空指针异常)
·可以存入提前创建好的数组(另一种定义方法[半动半静]):
如果二维数组中第二维数组的长度不相同,我们可以采用先不指定第二维的长度来初始化数组
(4)二维数组的应用
需求:
某公司季度和月份统计的盈利数据如下: 单位(万元)
第一季度: 22,66,44
第二季度: 77,33,88
第三季度: 25,45,65
第四季度: 11,66,99
①求该公司全年的盈利总和
②分别统计该公司每一个季度的盈利总和

四、方法
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
1.无参数方法定义和调用
java public static void 方法名 ( ) {
// 方法体;
}
2.带参数方法的定义和调用
参数:由数据类型和变量名组成 - 数据类型 变量名(int a)
public static void 方法名 (参数1) {
方法体;
}
public static void 方法名 (参数1, 参数2, 参数3…) {
方法体;
}
调用格式:
方法名(参数);
方法名(参数1,参数2);
题目练习
需求:判断一个数是奇数还是偶数
注意:
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
方法定义时,多个参数之间使用逗号( ,)分隔
3.通用格式
public static 返回值类型 方法名(参数) {
方java基础应用在哪里法体;
return 数据 ;
}
4.形参和实参
- 形参:方法定义中的参数
等同于变量定义格式,例如:int number
- 实参:方法调用中的参数
等同于使用变量或常量,例如: 10 number
题目练习
需求:设计一个方法(print) 用于打印 n 到 m 之间所有的奇数

5. 带返回值方法的定义和调用
定义格式
public static 数据类型 方法名 ( 参数 ) {
return 数据 ;
}
注意:
方法的返回值通常会使用变量接收,否则该返回值将无意义
题目练习
需求:设计一个方法可以获取两个数的较大值,数据来自于参数
6.方法重载
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同 ( 类型不同 、 数量不同 、 顺序不同(但不建议用) )
注意:
- 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
- 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
7.参数传递
对于引用类型的参数,形式参数的改变,影响实际参数的值
- 结论依据:
引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果
(1)方法参数传递基本类型
(2)方法参数传递引用类型
在使用引用类型时,
7.方法应用
- 数组遍历
设计一个方法用于数组遍历,要求遍历的结果是在一行上的。例如:[11, 22, 33, 44, 55]

- 数组最大值
需求:设计一个方法用于获取数组中元素的最大值

- 方法同时获取数组最大值和最小值
需求:设计一个方法,该方法能够同时获取数组的最大值,和最小值
注意: return语句, 只能带回一个结果.
可以尝试把返回值放在一个数组中
,那么定义方法时,注意数据类型部分,要定义int[ ],来返回数组
在最小值min定义时,不要定义为0,当0进入循环时,没有任何值<0,可以定义为数组中的某个数值

五、Debug
Debug介绍与操作流程
- 加断点
选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可

- 如何运行加了断点的程序
在代码区域右键Debug执行

- 看Debugger窗口

- 看Console窗口
控制台窗口,显示执行的内容
- 进行下一步

打断点 —> 通过step over(step into)执行 —> 直接停止Stop,或跳到下一个断点Resume
六、 ArrayList 集合 (基础)
集合和数组的区别
①共同点:都是存储数据的容器
②不同点:数组的容量时固定的,集合的容量是可变的 数组中只能存放一种数据类型,集合中可以存放多种
1.基本方法
(1)ArrayList构造方法
①导入包:
②创建对象
(2)ArrayList的增删改查
①add方法-----增
add(E)
: 将指定元素添加到列表尾部打印结果:
”E“:泛型,是表示集合中 保存的数据的类型


限定集合的数据类型
需要在创建ArrayList对象时添加一个数据类型:
: 是一种特殊的数据类型,泛型它不止可以应用在基本数据类型中,也可以用于
add(I , E )方法:
向集合中指定位置插入指定元素


②remove------删除元素
remove(E)
删除指定的元素,返回删除是否成功(返回的值时布尔类型的值)

remove(i)
删除指定索引处的元素,返回被删除的元素()
(如果指定了不存在的索引,会报出"索引越界"的异常)

③set(i , E`)------修改元素方法
④get( i )------获取元素
获取给定索引处的元素
(3)集合的基础应用
- ArrayList存储字符串并遍历
- 创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

- 创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

- 键盘录入学生信息到集合
需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

- 集合删除元素案例
创建一个存string的集合,内部存储(匿名,八戒,匿名,孙悟空,唐僧,匿名)字符串删除所有的”医名”字串,删除后,将集合剩余元素输出到控制台












版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6749.html