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

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

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

数组有一个属性 是 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

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

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 }

393145083025090368ba4514db1bb7f8.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值