想了很久,才决定把自己的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.插入排序