面试中会用到的,算法基础--排序问题
-------数组,分为基本数组/自定义数组,
- 数组有一个属性 是 length--数组长度,比如,age.length
- 循环,
- 遍历(增强for 循环) ,
- 取值赋值,
- 排序(冒泡排序和选择排序比较重要)
- ***长度一定要初始化好,不管哪种方法。
- ***长度是固定的,想要再用,可以新建一个数组,把原来的数组里面数字,加里面;
- 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 }