>Java >java지도 시간 >Java의 기초 회복(14): 배열 요약

Java의 기초 회복(14): 배열 요약

黄舟
黄舟원래의
2017-01-16 10:15:191426검색

자바의 기본을 되찾다(14): 배열 요약

1. 배열 정렬

 数组排序的核心是:对数组的遍历。     
 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 + " ");        
  }

2. Arrays Find

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) + "位置。");        
 }

3. Arrays 클래스

  1. 이 클래스는 주로 데이터 연산을 위한 일부 기능을 포함하는 툴 클래스입니다. 정렬, 검색 등

2. java.util 패키지

3. 배열용 정적 함수 메서드 public static void sort(xxx[] a) a는 오름차순으로 정렬됩니다. public static int BinarySearch(xxx[] a , xxx key), 배열 a의 키는 이진 검색 방법 public static xxx[] copyOf(xxx[] a , int newLength) 를 통해 검색됩니다. a 배열을 복사하여 데이터의 newLength 길이를 새 배열에 복사합니다. public static xxx[] copyOfRange(xxx[] a , int from , int to), 배열 a의 지정된 범위의 데이터를 새 배열 public에 복사합니다. static boolean =(xxx[] a1 , xxx [] a2), 두 배열 a1과 a2를 비교하여 동일한지 확인합니다

4. 날짜 클래스

  1. Java의 날짜 클래스, 날짜 및 시간과 관련된 데이터를 저장하기 위해 특별히 사용됨

2. java.util 패키지

3. = 1000밀리초

4. 시간 초과 표시 사용 예, 이 방법은 여전히 ​​존재하지만 향후 호환성을 보장하기 위해 사용하지 않는 것이 좋습니다.

5.

6. 생성 방법 public Date(), 현재 날짜와 시간을 포함하는 Date 객체를 생성할 수 있는 생성자(서양 형식: Thu Oct 30 15:38:46) CST 2014) public Date(long time), 1970-1-1 이후 시간 밀리초를 나타내는 Date 객체를 생성할 수 있는 매개변수화된 생성자

7. 함수 메서드 public long getTime(), 표시된 밀리초 수를 반환 1970년 1월 1일 00:00:00 GMT 이후 이 Date 객체에 의해 생성되었습니다. 일반적으로 두 날짜를 비교하는 데 사용됩니다.

5. Calendar 클래스

  1. 이 클래스는 Java의 Calendar 클래스입니다

2. Date 클래스의 일부 사용되지 않는 메소드는 이 클래스의 메소드로 대체되었습니다.

3. java.util 패키지

4. 이 클래스는 추상 클래스이며 새 Calendar c =를 통해 객체를 생성할 수 없습니다. Calendar.getInstance();

5. public static Calendar getInstance(), 이 클래스의 인스턴스 객체를 가져오고 반환합니다

6. 함수 메서드 public int get(int field)는 값을 반환합니다. 달력 객체에 있는 지정된 필드의 public void set(int field, int value), 달력 객체에 있는 지정된 필드의 값을 설정합니다. public final Date getTime(), 달력에 날짜 및 시간 객체를 반환합니다

6. 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);


위 내용은 해당 내용입니다. PHP 중국어 웹사이트(www.php.cn)를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.