嵌套循环和方法
1.嵌套循环
嵌套循环
为了让大家能够给更好的理解循环嵌套之后的一个操作,后期代码
中,一些算法中,都会使用到嵌套循环。
1.1 入门
class Demo1 {
public static void main(String[] args) {
int line = 20;
for (int i = 1; i <= line; i++) {
for (int j = 1; j <= line; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
1.2 再入门
class Demo2 {
public static void main(String[] args) {
int line = 30;
for (int i = 1; i <= line; i++) {
for (int j = 1; j <= i; j++) {
System.out.print('*');
}
System.out.println();
}
}
}
1.3 再再入门
class Demo3 {
public static void main(String[] args) {
int line = 30;
for (int i = 1; i <= line; i++) {
for (int j = 1; j <= line - i; j++) {
System.out.print(' ');
}
for (int k = 1; k <= i; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
1.4 稍稍的难度一丢丢
class Demo4 {
public static void main(String[] args) {
int line = 20;
for (int i = 1; i <= line; i++) {
for (int j = 1; j <= line - i; j++) {
System.out.print(' ');
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
1.5 加一点佐料
class Demo5 {
public static void main(String[] args) {
char ch = 'A';
for (int i = 1; i <= 26; i++) {
for (int j = 1; j <= 26 - i; j++) {
System.out.print(' ');
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(ch);
}
System.out.println();
ch += 1;
}
}
}
1.6 加点辣椒
class Demo6 {
public static void main(String[] args) {
int line = 25;
for (int i = 1; i <= line / 2 + 1; i++) {
for (int j = 1; j <= line / 2 + 1 - i; j++) {
System.out.print(' ');
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print('*');
}
System.out.println();
}
for (int i = 1; i <= line / 2; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(' ');
}
for (int k = 1; k <= (line / 2 - i) * 2 + 1; k++) {
System.out.print('*');
}
System.out.println();
}
}
}
2.方法
2.1 为什么使用方法
开发中,存在代码复用的情况。虽然循环可以解决一部分代码复用
的问题,但是无法从根本上解决需要多处使用的情况。这里需要用
到方法。
代码中使用循环解决复用的问题
1.代码冗余
2.维护性极差
3.阅读性极差
2.2 方法格式
public static :表示公开静态方法。
void:返回值类型; void 表示当前方法没有返回值
返回值类型是当前方法运行完成之后对方法的一个返回数据。
方法名:方法一个名字,要求符合命名规范
小驼峰命名法,见名知意,动宾结构
(形式参数列表):当前方法运行所需的外来数据,这里需要告知调用者数
据类型
{}:方法体
方法格式:
public static 返回值类型 方法名(形式参数列表) {
}
public static returnType methodName(Arguments){
Method Body
}
2.3 第一次自定义实现方法
2.3.1 方法分析过程
需求:
使用方法展示一个Hello World
方法分析:
固定格式: public static 公共的静态方法
返回值类型:
这里不需要返回值类型,采用void
方法名:
printHelloWorld
见名知意,动宾结构,小驼峰命名法
形式参数列表:
当前方法没有任何的外来数据需求,不需要参数
()
【方法声明】
public static void printHelloWorld()
2.3.2 方法实现过程
public static void main(String[] args) {
System.out.println("Hello world");
}
2.3.3 方法在代码中实现的位置
方法存放的位置
1.class 大括号以内[目前要求]
2.其他方法之外
2.3.4 自定义方法调用过程
记住一句话
方法就是狗,哪里需要那里吼
1.在需要调用方法的位置,使用方法调用方法
2.方法和变量最大区别
方法后面一定有小括号!!!
2.3.5
1.目前我们有且只考虑在main方法中调用其它方法
2.main方法是目前我们现在程序的唯一入门,如果想要哪一个代码执行,
哪一个方法调用,需要经过main方法完成
3.方法书写一定要注意代码格式
4.方法位置在class以内,其他方法之外
2.4 无形式参数无返回值方法
class Method2 {
public static void main(String[] args) {
BBQ();
}
public static void BBQ() {
for (int i = 1; i <= 10; i++) {
System.out.println("烤羊排...");
}
}
2.5 有参数无返回值的方法
2.5.1方法实现过程
public static void printIntNumber(int num) {
System.out.println(num);
}
2.5.2 调用带有参数的方法注意事项
1. 方法如果需要参数,必须在调用过程中给予对应的参数
2. 方法如果没有给定参数,报错!!!编译不通过
3. 方法如果给定的实际参数,数据类型不符合形式参数列表要求的数据
类型,报错!!!编译不通过,数据类型一致化问题!!!
4. 方法如果在调用的过程中给定的参数个数,不是方法所预期的参数个
数,报错!!!编译不通过
2.6 形式参数和实际参数是什么?
形式参数:
我要做菜
烤羊排:
材料列表:
羊排,孜然粉,烧烤料,辣椒粉,葱姜蒜,洋葱
以上就是做烤羊排需要的材料!!!【形式参数列表】
public static void printIntNumber(int num)
int num 只是告诉调用者,这里需要的是一个int类型数据
实际参数:
从菜市场,JD上采购羊排
买了2斤羊排
孜然粉 100G
烧烤料 100G
辣椒粉 50G
葱一根
姜 50G
蒜 5-6瓣
洋葱一个
这里是实实在在,采购回来的物料,【实际参数】