RE:JAVA学习-循环应用和数组

一.3种循环结构的更佳适用情况:
1)while:”当…”
2)do…while:”直到…”
要素1与要素3相同时首选do…while
3)for:固定次数循环
二.嵌套循环:
1>循环中套循环(一般多行多列,外层控制行,内层控制列)
2>执行规则:外层循环走一次,内层循环走完.
3>建议:嵌套的层数越少越好
(若业务必须要通过三层以上的循环才能解决,说明设计有问题)
4>break只能跳出一层循环

public class Multiplication {
    public static void main(String[] args) {
        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}

三.程序=算法+数据结果
1>算法:解决问题的流程
2>数据结构:将数据按照某种特定的结构来保存

四.数组:
1>相同数据类型元素的集合
2>数组是一种数据类型(引用类型)
3>数组的定义:
int[] arr=new int[10];
4>数组的初始化:
int[] arr=new int[4];//0,0,0,0
int[] arr={1,4,7,9};
int[] arr=new int[1,4,7,9]//1,4,7,9

    int[] arr;
    arr={1,4,7,9};// 编译错误
    arr=new int{1,4,7,9}//正确
5>数组的访问:
    5.1>通过(数组名.length)来获取数组的长度
    5.2>通过下标/索引来访问数组中的元素
        (下标从0开始,最大为length-1 arr[0]=1; arr[arr.length-1]=11;)
6>数组的遍历.
7>数组的复制.
    7.1>System.arraycopy(a,1,a1,0,4);
    7.2>int[] a1=Arrays.copyOf(a,5);
        a=Arrays.copyOf(a,a.length+1);//扩容
/**
 * 找出最小值并将其插到数组第一个位置
 */
public class MinOfArray {

    public static void main(String[] args) {
        int[] arr=new int[10];
        int min=100;
        for(int i=0;i<arr.length;i++){
            arr[i]=(int)(Math.random()*100);
            if(min>arr[i])
                min=arr[i];
            System.out.print(arr[i]+" ");
        }
        System.out.println("\nmin="+min);
        arr=Arrays.copyOf(arr,arr.length+1);
        System.arraycopy(arr, 0, arr, 1, arr.length-1);
        arr[0]=min;
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+" ");
    }
}
8>数组的排序.
    8.1>Arrays.sort(arr);对arr进行升序排列
    8.2>冒泡排序法
public static void main(String[] args) {
    //冒泡排序
    int[] a=new int[10];
    for(int i=0;i<a.length;i++){
        a[i]=(int)(Math.random()*100);
        System.out.print(a[i]+"  ");
    }
    System.out.println();
    for(int i=0;i<a.length-1;i++){
        for(int j=0;j<a.length-1-i;j++){
            if(a[j]>a[j+1]){
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
    for(int i=0;i<a.length;i++){
        System.out.print(a[i]+"  ");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值