java SE教程05

打印图形:

外层循环控制行,  内层循环控制列

1.  先根据行数编写外层循环次数
2.  再根据外层循环的变量(i) , 去分析, 这个变量与内层循环列数的关系 !

(1)

*
* *
* * *
* * * *
* * * * *

for(int i=0;i<5;i++){
    for(int j=0;j<=i;j++){
        System.out.print("* ");
    }
    System.out.println();
}

(2)

----*
---***
--*****
-*******
*********

    for(int i=0;i<5;i++){
        for(int j=4;j>i;j--){
            System.out.print(" ");
        }
        for(int j2=0;j2<=i*2;j2++){
            //0*2+1  : 1个*
            //1*2+1  : 3个*
            //2*2+1  : 5个*
            //3*2+1  : 7个*
            //4*2+1  : 9个*
            System.out.print("*");
        }
        System.out.println();
    }

(3)
—-*
*
*
-*
*
*
—-*

       for(int i=0;i<4;i++){
            for(int j=4;j>i;j--){
                System.out.print(" ");
            }
            for(int j2=0;j2<=i*2;j2++){
                //0*2+1  : 1个*
                //1*2+1  : 3个*
                //2*2+1  : 5个*
                //3*2+1  : 7个*
                //4*2+1  : 9个*
                System.out.print("*");
            }
            System.out.println();
        }   
        /**

        --*****
        ---***
        ----*

        */

        for(int i=0;i<3;i++){
            for(int j=0;j<i+2;j++){
                //0:    2
                //1:    3
                //2:    4
                System.out.print(" ");
            }
            for(int j2=0;j2<=(2-i)*2;j2++){
                //(2-0)*2+1:    5个
                //(2-1)*2+1:    3个
                //(2-2)*2+1:    1个
                System.out.print("*");
            }
            System.out.println();
        }

(4)

----*
---* *
--*   *
-*     *
--*   *
---* *
----*

----*
---***
--*****
-*******
--*****
---***
----*


 for(int i=0;i<4;i++){
            for(int j=4;j>i;j--){
                System.out.print(" ");
            }
            for(int j2=0;j2<=i*2;j2++){
                //0*2+1  : 1个*
                //1*2+1  : 3个*
                //2*2+1  : 5个*
                //3*2+1  : 7个*
                //4*2+1  : 9个*
                if(j2==0||j2==i*2){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }

            }
            System.out.println();
        }   
        /**

        --*****
        ---***
        ----*

        */

        for(int i=0;i<3;i++){
            for(int j=0;j<i+2;j++){
                //0:    2
                //1:    3
                //2:    4
                System.out.print(" ");
            }
            for(int j2=0;j2<=(2-i)*2;j2++){
                //(2-0)*2+1:    5个
                //(2-1)*2+1:    3个
                //(2-2)*2+1:    1个
                if(j2==0||j2==(2-i)*2){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }

            }
            System.out.println();
        }

多层 循环的退出

break;

默认情况下, 跳出最近的循环

案例:
    计算0-10的数字相乘,  找到结果为21的第一对数字

for(int i=0;i<10;i++){
    for(int j=0;j<10;j++){
        System.out.println("正在运算");
        if(i*j==21){
            System.out.println("寻找到了第一个数字:"+i+","+j);
        }
    }   
}

练习:

    计算0-10的数字三数相乘(三层循环) , 找到结果为12的第一组 三个数,并打印

for(int x=0;x<10;x++){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
System.out.println(“正在运算”);
if(i*j*x==12){
System.out.println(“寻找到了第一组数字:”+x+”,”+i+”,”+j);
}
}
}
}
编程规约

尽可能的使用空格与缩进:

例如 变量的定义:  

    int a = 10; 

例如: 括号与代码的缩进
class Demo{
    public static void main(String[] args){
        int a = 10;
        if(){
            int b = 10;
        }
    }//tab 制表符
}


类名:   使用驼峰命名法: 所有单词的首字母大写,  其余字母小写!

    class WhileDemo

变量名与方法名: 使用驼峰命名法:  首单词首字母小写 , 其余单词首字母大写, 其他字母小写

    int personAge

    int dongFei 

    int xdl_java_15 = 120;

数组:
基本数据类型

int a = 10;

引用数据类型
{1,4,7,9};

int 1 4 7 9 11 12 15

容器: 杯子 , 班级

定义:

是一组相同数据类型数据的容器 !

我们通过下标的方式, 访问数组中的元素,  下标是从0开始的  

数组的最小下标为0 , 数组的最大下标为length-1(长度减一)

数组是定长的, 定义完毕长度后, 无法再修改 !

定义的格式:

格式1.
    定义一个指定长度的空数组    

    数据类型[] 数组名 = new 数据类型[长度];

例如: 

    int[] array = new int[10]; 


格式2.
    定义一个指定长度, 且指定具体内容的数组

    数据类型[] 数组名 = {元素1,元素2,...元素n};
    //大括号表示数组 ,里面的元素使用逗号隔开 , 大括号中的元素数量,  就是数组的长度 !


格式3.    

    仅定义变量名, 不进行初始化!

    数据类型[] 数组名;

格式4.

    数据类型[] 数组名 = new 数据类型[]{元素1,元素2...元素n};



错误案例: 

    int[] arr;
    arr = {1,2,3,4,5};

数组中访问数据

我们通过下标的方式, 访问数组中的元素,  下标是从0开始的  

数组的最小下标为0 , 数组的最大下标为length-1(长度减一)

格式:

数组名[下标]

数组中存储数据

格式:

数组名[下标] = 值;

将一个值, 赋值给数组中的一个下标, 如果原本有值 ,则覆盖 !
如何获取数组长度

格式:

int length = 数组名.length;

数组的遍历

指的是, 将数组中的所有元素, 依次取出的过程 !

for(int i=0;i<数组名.length;i++){
System.out.print(“—>>>>”+数组名[i]);
}
常见错误:

  • 空指针异常
    Exception in thread “main” java.lang.NullPointerException
    at Demo6.main(Demo6.java:8)

    导致错误的原因,在于使用了未赋值的数组;

  • 数组下标越界

    访问的下标超出了边界
    练习:

    已知一个空的int数组如下:

    int[] arr = new int[10];

    通过循环接收用户输入, 来为这个数组中的十个下标赋值 !

    再通过循环遍历, 将数组中的所有数字进行打印

    import java.util.Scanner;

    public class Demo8{
    public static void main(String[] args){
    int[] arr = new int[10];
    Scanner input = new Scanner(System.in);
    //通过循环接收用户输入, 来为这个数组中的十个下标赋值 !
    for(int i=0;i<10;i++){
    System.out.println(“请输入第”+(i+1)+”数字:”);
    arr[i] = input.nextInt();
    }

        for(int i=0;i<10;i++){
            System.out.println(arr[i]);
        }
    
    
    }
    

    }
    练习:

    已知有两个数组如下:

    int[] arr1 = {5,4,22,56,78,93};

    int[] arr2 = new int[12];

    通过代码, 将arr1中的所有元素, 赋值给arr2对应的下标 ! (数组的复制)

    for(int i=0;i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值