Java全栈之路--基础篇

    想了很久,才决定把自己的Java学习之路记录下来。我以前学习过Java的简单基础,所以那些基础知识我只会挑一些记录下来,我的重点是JavaWeb。

1.一般人都没有注意到的break语法

public class Main {

	public static void main(String[] args) {
		int a=0,c=0;
	   b:	while(true) {
		   a++;
		   while(true) {
		   break b;//跳转到b标记后面的循环
		   }  
	   }
	}
}

2.循环continue的代表

public class Main {

	public static void main(String[] args) {
		int i = 0, s = 0;
		do {
			if (i % 2 == 0) {
				i++;
				continue;//跳转到if前面,然后再继续if;
			}
			i++;
			s += i;
		} while (i < 7);
		System.out.println(s);
	}
}

3.二分查找法(只针对有序数组)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		int i = 0, s = 0;
		Scanner scanner = new Scanner(System.in);
		int [] arr = {1,3,5,7,9,11,12,16,20,25,26,27};
		System.out.println("要查找的数:");
		int a = scanner.nextInt();
		int index = -1;
		int start = 0;//起始下标
		int end = arr.length - 1;//终止下标
		int minddle;//中间下标
	   while(start<=end) {
		   //找到中间下标所对应的元素值
		   minddle = (start + end)/2;
		   if(a==arr[minddle]) {
			   index=minddle+1;
			   break;
		   }
		   //查找的数大于中间的数
		   //去掉左边左边的数
		   if(a>=arr[minddle]) {
			   start = minddle + 1;
		   }
		   //保留左边的数,去掉右边的数
		   if(a<=arr[minddle]) {
			   end = minddle -1;
		   }   
	   }
	   if(index==-1) {
		   System.out.println("No find");
	   }
	   else {
		   System.out.println("find at"+index);
	   }
	}
}

4.冒泡排序

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 将任意一组数字存入数组
		int temp;
		System.out.println("输入一组数字:");
		String inputString = sc.nextLine();
		String stringArray[] = inputString.split(" ");
		int num[] = new int[stringArray.length];
		for (int i = 0; i < stringArray.length; i++) {
			num[i] = Integer.parseInt(stringArray[i]);
		}

		// 冒泡排序	
		//N个数比较N-1次
		for (int j = 0; j < num.length - 1; j++) {
			//每一轮比较N-i-1
			for (int f = 0; f < num.length - 1 - j; f++) {
				if (num[f] > num[f+ 1]) {
					temp = num[f];
					num[f] = num[f + 1];
					num[f + 1] = temp;
				}
			}
		}

		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i] + " ");
		}
	}
}

5.选择排序法

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 将任意一组数字存入数组
		System.out.println("输入一组数字:");
		String inputString = sc.nextLine();
		String stringArray[] = inputString.split(" ");
		int num[] = new int[stringArray.length];
		for (int i = 0; i < stringArray.length; i++) {
			num[i] = Integer.parseInt(stringArray[i]);
		}

		// 选择排序
		int min = 0;// 保存最小元素得下标

		// N个数比较N-1轮
		for (int i = 0; i < num.length - 1; i++) {
			min = i;
			for (int j = i + 1; j < num.length; j++) {
				if (num[min] > num[j]) {
					min = j;//保存最小数得下标
				}
			}
			//如果第i个小数位置不再i上则进行交换
			if (i != min) {
				int temp = num[i];
				num[i] = num[min];
				num[min] = temp;
			}

		}

		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i] + " ");
		}
	}
}

6.插入排序

猜你喜欢

转载自blog.csdn.net/qq_28979869/article/details/85108905