数组
存储一些具有相同类型的数据的容器
定义格式:
格式一:数据类型[ ] 变量名 //推荐使用
范例: int[ ] array;
格式二:数据类型 变量名[ ]
范例: int array[ ];
初始化:
动态初始化:
数据类型[] 变量名 = new 数据类型[变量名.length];
静态初始化:
数据类型[] 变量名 = {元素1,元素2,元素3,......};
注意:
1 数组定义完之后长度不可变
2 []写在变量名的前面后面都可以,但是推荐写在前面
double[] a={1,2};
double a[]={1,2};
都是正确的
3 =右边[]{}不能同时出现!!
方法
方法的定义:
方法也叫函数,他是一段具有独立功能的代码集.
* 调用之后执行
* 方法解决什么问题/有什么用:
* 降低代码重复度,提高代码复用性
* 两个明确:1.明确参数列表2.明确返回值类型
* 方法的声明:
* public static 返回值类型 方法名(形参列表){
* 方法体;
* return 返回值;
* }
* public:表示方法可被其他类调用
* static:表示方法属于类,而不是对象
* void:表示方法没有返回值
* 返回值类型:方法的返回值的数据类型
* 方法名:方法名必须和类名不同
* 方法的调用:数据类型 变量名 = 方法名(实参列表);
* 1.如果没有实际参数,就不写
* 2.如果没有返回值,就不用变量接收
* 方法的注意事项:
* 1.先定义,再调用,不调用不执行
* 2.方法不能嵌套:方法里面不能写方法
* 3.我们自己定义的方法和main是平级关系
* 4.我们自己写的方法也可以调用其他方法
* 5.同时调用多个方法时,方法的执行顺序按照被调用的顺序执行
* 6.方法名小驼峰命名
* 7.main是程序的入口,jvm只认主方法
* 基本数据类型当作参数传递的时候,形式参数的改变,不影响实际参数的值
* 引用数据类型当作参数传递的时候,形式参数的改变,会影响到实际参数的值
* (因为引用数据类型传递的是地址)
* (所有的引用数据类型都遵循这个规则,字符串除外)//Day8讲 字符串常量值
*进栈 压栈 出栈(弹栈)
*
* 主方法是jvm自动调用的,不需要我们手动调用
*
* 形参:全称形式参数,是指在定义方法时,所声明的参数
* 实参:全称实际参数,调用方法时,实际传入的参数
* 方法调用时,形参和实参的数量和类型必须相匹配,否则将出现编译错误
* 参数列表可以接收引用数据类型
*
* 手动弹栈:return可以单独使用,弹栈,结束方法!(此时返回值为void)
* 自动弹栈:如果方法体中有return语句,
* 那么方法体中其他代码将不会被执行,直接返回到调用处,并结束方法
*
*ctrl+alt+m+n 选中一部分代码,快速生成方法,再一次C+A+mn,改方法类型和名字
* 想快速生成方法:在主方法中写了 getMax(a,b,c);按Alt+Enter,可以快速生成方法
*
* 方法重载(Overload):
1.定义:在同一个类中,方法名相同,参数列表不同(类型/顺序/个数)的方法叫重载
2.与返回值无关
3.解决:同一个功能不需要起多个名字
4.原理:jvm在调用方法时,会根据方法名和参数列表的实际参数去匹配对应的方法.
* 嵌套循环:循环里面套着循环
* 1.千万不要带进去数,容易晕
* 2.嵌套循环最好控制在两层以内
* 3.嵌套循环就是找规律,外层循环控制什么,内层循环控制什么,最后直接进行拼接即可
* 4.外层循环走一次,内存循环走一圈
*
* 打印的时候"\t"是java里的制表符
*
* 细碎知识:
* 声明就是定义
* 在main方法中调用方法:
代码的层次更清晰,各个小功能组成一个大功能
方便给别人看代码,方便检查,方便调用