java学习笔记04

冒泡法

原理:从左往右,两个数比较,将较小的数,放前面。(可以做到从小到大的排序)

package com;

public class Test02 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		//System.out.print("HelloWorld");
		int arr[]={1,6,7,4,5};
		int a=0;
		for(int i=0;i<arr.length;i++)
		{
			for(int j=i;j<arr.length;j++)
			{
				if(arr[i] > arr[j])
				{
					a = arr[i];
					arr[i] = arr[j];
					arr[j] = a;
				}
			}
		}
		for(int b:arr)//foreach
		{
			System.out.println(b);
		}
	}

}

java数组的初始化

java数组是静态的,必须经过初始化后才能使用,并且一旦初始化指定了数组的长度,该长度是不可变的。

两种初始化的方式:
1.静态初始化:初始化时由程序猿显示指定每个数组元素的初始值,由系统决定数组的长度

1.1 简化格式: 数据类型[] 数据名称 = { 值, 值 , 值 , …} ;
int a[] = {1,2,3,4};

1.2 完整格式(推荐使用): 数据类型[] 数据名称 = new 数据类型[] { 值, 值 , 值 , …} ;
eg. int[] i = new int[] { 0 , 1 , 2 , 3 } ;

2.动态初始化:就是与静态初始化相对的撒,其实动态初始化就是在初始化的时候指定数组长度(这时已经分配内存)
int a[] = new int[5];
a[0] = 1;
a[1] = 2;

数组中静态初始化和动态初始化的区别

静态是指在定义的同时就指定了值,一般存放已经知道却不改变的数据,例如性别等
而动态的话,声明时候只是给数组分配了内存大小空间,空间里除了初始值(数值类型是0,引用类型为NULL)什么也没有,实际放什么值是要由后面的程序来指定的,因为一开始放什么,我们也许也并不清楚。动态数组,程序运行时能更改数据

For-Each 循环

JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

语法格式如下:

for(type element: array)
{
System.out.println(element);
}
for(int a:arr)
{
System.out.println(a);
}

Arrays类的sort()方法

首先:sort函数的基本格式(默认排序为升序排序)

Arrays.sort(数组名,起始下标,终止下标);

起始下标,终止下标,可以不写

    import java.util.*;  
    import java.util.Arrays;  
    public class Main {  
        public static void main(String[] args) {  
              
            Scanner in=new Scanner(System.in);  
              
            while(in.hasNext())  
            {  
                int num[]=new int[100];  
                  
                int n;///输出n个数  
                n=in.nextInt();  
                  
                for(int i=0;i<n;i++)  
                {  
                    num[i]=in.nextInt();  
                      
                }  
                  
                Arrays.sort(num,0,n);///排序部分  
                  
                for(int i=0;i<n;i++)  
                {  
                    System.out.println(num[i]);  
                      
                }  
            }  
      
        }  
    }  
https://i-blog.csdnimg.cn/blog_migrate/a49e8414226009cb58fcaa2dad74319d.jpeg

结果为
Alt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值