重拾java基礎(十四):數組總結
一、數組的排序
数组排序的核心是:对数组的遍历。 1、冒泡排序 A、冒泡排序一共需要排序arr.length-1次;具体需要多少轮不确定 这个也需要 循环 按最多的轮数进行循B、冒泡排序其实就是arr.lengh-1次数组从第一个开始进行连接两个数的依次比较。 相邻的两个数比大小,小的放前面,大的放后面(交换位置) 代码为: int[] arr = { 6, 9, 8, 3, 4, 6, 8, 1, 2 }; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - 1; j++) { if (arr[j] < arr[j+1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i : arr) { System.out.print(i + " "); } 2、选择排序 A、每一轮反复要做:求出最小值,然后把最小值放到前面(交换位置) 第1轮 把最小的 发到 arr[0] 第2轮 把次小的 发到 arr[1] B、具体需要多少轮不确定 这个也需要循环 按最多的轮数进行 循环 数组.length-1 其代码: int[] arr = { 8, 6, 5, 3, 4, 2, 9, 6, 5, 7, 4 }; for (int i = 0; i < arr.length - 1; i++) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] > arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for (int i : arr) { System.out.print(i + " "); }
二、數組查找
1、顺序查找算法 标签的重要性! int key=5; boolean flag=true; for (int i = 0; i < arr.length; i++) { if(key==arr[i]){ System.out.println("yes"); flag=false; break; } } if (flag) { System.out.println("oh,no"); } 2、二分折半查找算法A、 先确定一个范围,然后找中间只,接下来分三种情况比较B、循环次数不确定 建议用while while(left<=right){ 循环操作 //1.找中间值 //2.分三种情况进行比较 } C、 该算法要求数组必须是有序的 // 折半排序 int key = 9; int min = 0; int max = arr.length-1; int mid = (min + max) / 2; boolean flag = true;//// while (key != arr[mid]) {// if (key > arr[mid]) {// min = mid + 1;// }// if (key < arr[mid]) {// max = mid - 1;// }// if (max < min) {// System.out.println("这个数不存在!");// flag = false;// break;// }// mid = (min + max) / 2;// }// if (flag) {// System.out.println("这个数在" + mid + "位置。");// } while (min <= max) { if (key < arr[mid]) { max = mid - 1; } if (key > arr[mid]) { min = mid + 1; } else { System.out.println("这个数在" + mid + "位置。"); flag = false; break; } mid = (min + max) / 2; } if (flag) { System.out.println("这个数在" + (mid+1) + "位置。"); }類,主要包含了一些對資料進行操作的功能方法,例如排序、查找等等
2. java.util套件
2. java. util包
五、Calendar類
該類別是Java中的日曆類2. Date類中的某些已經過時的方法就被該類的方法替代
5. public static Calendar getInstance(),
5. public static Calendar getInstance(), 功能方法public int get(int field)傳回日曆物件中給定欄位的值public void set(int field, int value),設定日曆物件中的給定欄位的值public final Date getTime(),傳回行事曆中的日期時間對象六、SimpleDateFormat類:日期格式化類
1. format:格式化 (控制格式或风格) 2. 该类专门用于控制日期时间数据的格式 3. 不同国家或地区使用的日期时间的格式是不一样的 4. 创建出来的对象叫格式化器 5. java.text包 6. 构造方法public SimpleDateFormat(),用默认语言环境的日期格式public SimpleDateFormat(String pattern),用给定的日期格式 7. 功能方法public final String format(Date date),将一个 Date对象格式化为日期/时间字符串。 public Date parse(String source),将字符串解析(转换)为Date对象a.必须进行异常处理 b.该方法要求格式化器对象的格式跟字符串格式必须一样 // 让用户在控制台输入“dd/mm/yyyy”格式的日期, // // 然后人工拼接成“yyyy-mm-dd”格式,最后按“xxxx年x月xx日" 格式输出 String s = "1992/08/24"; SimpleDateFormat s1 = new SimpleDateFormat("yyyy/MM/dd"); Date date = s1.parse(s); SimpleDateFormatsDate = new SimpleDateFormat("yyyy-MM-dd"); String s2 = sDate.format(date); SimpleDateFormat pDate = new SimpleDateFormat("yyyy年MM月dd日"); String s3 = pDate.format(date); System.out.println("人工拼接成:" + s2 + ",最后输出:" + s3); // // 3.计算从今天起,100天后是几月几号, // 并以xxxx年xx月xx日的格式输出来 // (提示:查阅帮助文档自学Calendar类的add方法) Calendar c =Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, 100); Date date = c.getTime(); SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日"); String s1=s.format(date); System.out.println(s1);
以上就是的內容,更多相關內容請關注PHPcn)!