java数组中排序/冒泡排序/选择排序/遍历

面试中会用到的,算法基础--排序问题

-------数组,分为基本数组/自定义数组,

  •     数组有一个属性 是 length--数组长度,比如,age.length
  •     循环,
  •    遍历(增强for 循环)
  •    取值赋值,
  •    排序(冒泡排序和选择排序比较重要)
  1.   ***长度一定要初始化好,不管哪种方法。
  2.   ***长度是固定的,想要再用,可以新建一个数组,把原来的数组里面数字,加里面;

 

 

  • String [ ] name; 字符串数组 ,默认是null—数组可以看做一个对象,
  • String name;  字符串
  •  
  • Int I;
  • Int [] I ; 只能放int类型的数据
  •  
  • Dog dog ;
  • Dog [] dog;  只能放类数组
  •  
  • Int [] age = { 0,1,2,3}; -- 初始化, length(长度)是4,
  •  s.o.p(age.length);  打印数组的长度

1.       静态初始化---age = {1,2,3,4,5};---

2.      动态初始化 (只能初始化数组的长度) ---- int [] age = new int [3];  (长度是3,默认值int类型的是0) --一种初始化方法,不过数组里面的东西不能够被改变,相当于被final,

         int[] age = new int[10];   //

 

3.       比如 int age =10;

          person.age  ; --这样来访问

  **** 数组的访是按照下标来访问的,比如 age是变量名age{1, 2, 3, 4, }

                                                                                        0  1  2  3

     age[0] = 100;数组第一位的,赋值为100,

     length 是属性 ;长度;

可以用for 循环--***增强for 循环来遍历数组内部的数据

for (int a : age) { //a 是临时变量,随便写一个变量名字,age 是数组变量名

}

       for(int I = 0; I <age.length,i++)

              Sop(age[i]);   // 打印age[]的下标数

 

 

                 数组冒泡排序的 length – 1 -  i ;

               选择排序和冒泡排序的案例见下文代码

      

//冒泡排序
public class TestArraySort {
	public static void main(String[] args) {
		int[] age = {2,5,1,9,0,4,5,7,6,8,6}; 
       //冒泡排序
		for (int i = 0; i < age.length - 1; i++) {
			for (int j = 0; j < age.length - 1 - i; j++) {
				if (age[j] > age[j + 1]) {
					int temp = age[j];
					age[j] = age[j + 1];
					age[j + 1] = temp;
				}
			}
		}

		for (int a : age) {
			System.out.println(a);
		}
	}
	
}

 

//选择排序
public class TestArraySort {
  public static void main(String[] args) {
    int[] age = {2,5,1,9,0,4,5,7,6,8,6}; 
       //选择排序
    for (int i = 0; i < age.length - 1; i++) {
      for (int j = i + 1; j < age.length ; j++) {
        if (age[i] > age[j]) {
          int temp = age[j];
          age[j] = age[i];
          age[i] = temp;
        }
      }
    }

    for (int a : age) {
      System.out.println(a);
    }
  }
  
}
//二维数组的遍历--使用增强for循环
public class ArrayInArray {
	public static void main(String[] args) {
		int[][] age = new int[2][];
		int[] a1 = {1, 2, 3};
		int[] a2 = {4, 5, 6, 7};
		age[0] = a1;
		age[1] = a2;

		for (int[] arr : age) {//二位数组的遍历
			for (int num : arr) {
				System.out.println(num);
			}
		}
	}
}
1 public class StringTest3 {
 2 
 3     public static void main(String[] args) {
 4         //定义一个字符串
 5         String s = "Person1314Study";
 6         
 7          //定义三个统计变量
 8         int bignum = 0;
 9         int smallnum = 0;
10         int numbernum = 0;
11         
12         //遍历字符串,得到每一个字符。
13         for(int x=0;x<s.length();x++){
14             char ch = s.charAt(x);
15             
16          //判断该字符到底是属于那种类型的
17             if(ch>='A' && ch<='Z'){
18                 bignum++;
19             }
20             else if(ch>='a' && ch<='z'){
21                 smallnum++;
22             }
23             else if(ch>='0' && ch<='9'){
24                 numbernum++;
25             }
26         }
27         //输出结果。
28         System.out.println("含有"+bignum+"个大写字母");
29         System.out.println("含有"+smallnum+"个小写字母");
30         System.out.println("含有"+numbernum+"个数字");
31         
32 
33     }
34 
35 }

转载于:https://my.oschina.net/allsmallpig/blog/1068418

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值