예를 들어 Java에서 배열 및 문자열 유형을 사용하는 방법에 대해 설명합니다.

7812 단어 Java수조문자열
Java 배열
수조는 같은 데이터 유형을 가진 한 조의 데이터의 집합이다. 자바는 주로 수조를 지원한다. 1차원 수조의 모든 기본 단원은 기본 데이터 유형의 데이터이고 2차원 수조는 모든 기본 단원이 1차원 수조의 1차원 수조이다. 이런 식으로 n차원 수조의 모든 기본 단원은 n-1을 수조로 하는 n-1차원 수조이다.다음은 1차원 그룹을 예로 들어 자바 그룹의 사용법을 설명한다.
1. 배열 선언
배열은 다음과 같은 두 가지 형식을 나타냅니다(네모난 괄호의 위치는 다릅니다).

int arr[];
int[] arr2;

2. 배열 초기화
그룹 초기화에도 다음과 같은 두 가지 형식이 있습니다. (new를 사용하거나 new를 사용하지 않음).

int arr[] = new int[]{1, 3, 5, 7, 9};
int[] arr2 = {2, 4, 6, 8, 10};

3, 반복 수조
반복 배열은 다음과 같이 for/foreach를 사용할 수 있습니다.
  

 public static void main(String[] args) {
    int arr[] = new int[]{1, 3, 5, 7 ,9};
    int[] arr2 = {2, 4, 6, 8, 10};
    for (int i = 0; i < arr.length; ++i) {
      System.out.print(arr[i] + "\t"); // 1 3 5 7 9
    }
    for (int x: arr2) {
      System.out.print(x + "\t"); // 2 4 6 8 10
    }
  }
4、Arrays.fill () 채우기 그룹
Arrays 클래스의 정적 방법을 사용하려면 import 패키지java가 필요합니다.util.Arrays, 많은 재부팅 방법을 정의했습니다.
void fill (int[] a, int val) 모두 채우기
void fill(int[] a, int from Index, int to Index, int val) 지정된 인덱스를 채우는 요소
       

 int[] arr3 = new int[5];
    for (int x: arr3) {
      System.out.print(x + "\t"); // 0 0 0 0 0  0
    }
    System.out.println();
    Arrays.fill(arr3, 10);
    for (int x: arr3) {
      System.out.print(x + "\t"); // 10 10 10 10 10  10
    }
    System.out.println();
    Arrays.fill(arr3, 1, 3, 8);
    for (int x: arr3) {
      System.out.print(x + "\t"); // 10 8 8 10 10  
    }
    System.out.println();
5、Arrays.sort () 배열 정렬
voidsort(int[]a) 전체 정렬
void sort(int[] a, int from Index, int to Index) 지정한 인덱스 요소 정렬
       

 int[] arr4 = {3, 7, 2, 1, 9};
    Arrays.sort(arr4);
    for (int x: arr4) {
      System.out.print(x + "\t"); // 1 2 3 7 9
    }
    System.out.println();
    int[] arr5 = {3, 7, 2, 1, 9};
    Arrays.sort(arr5, 1, 3);
    for (int x: arr5) {
      System.out.print(x + "\t"); // 3 2 7 1 9
    }
    System.out.println();
6、Arrays.copyOf() 복제 배열
int[]copyOf(int[]original, int newLength) 복제 그룹, 새 그룹 길이 지정
int[]copyOfRange(int[]original, int from, int to) 복사 그룹, 복사된 원수 그룹의 인덱스 지정
     

  int[] arr6 = {1, 2, 3, 4, 5};
    int[] arr7 = Arrays.copyOf(arr6, 5); // 1 2 3 4 5
    int[] arr8 = Arrays.copyOfRange(arr6, 1, 3); // 2 3
    for (int x: arr7) {
      System.out.print(x + "\t");
    }
    System.out.println();
    for (int x: arr8) {
      System.out.print(x + "\t");
    }
    System.out.println();
Java 문자열
Java 문자열 유형은 String 클래스로 문자열을 조작하는 방법에 대해 설명합니다.
1. 문자열 연결
문자열 연결에는 다음과 같은 예에서 "+"기호가 사용됩니다.

    String s = new String("Hello");
    String s2 = new String("World");
    System.out.println(s + " " + s2); // Hello World

2. 문자열 길이 가져오기
문자열 길이를 가져오려면 다음과 같이 str.length () 를 사용합니다.

    String s3 = new String("Hello Java");
    System.out.println(s3.length()); // 10
3. 지정된 문자열의 인덱스 가져오기
지정한 문자열을 가져오는 인덱스는str.indexOf(substr),str.lastIndexOf(substr)를 사용합니다. 다음과 같습니다.

    String s4 = new String("how are you");
    System.out.println(s4.indexOf("o")); // 1  
    System.out.println(s4.lastIndexOf("o")); // 9  

4. 지정된 인덱스 문자 가져오기
지정한 인덱스를 가져오는 문자는 다음과 같이 str.charAt(index)를 사용합니다.

    String s5 = new String("Hello Java");
    System.out.println(s5.charAt(4)); // o

5. 문자열의 공백 제거
문자열의 공백을 제거하는 데는 여러 가지 방법이 있습니다. str.trim () 또는str.replaceAll (regex,replacement) 을 사용하거나 StringTokenizer 클래스를 빌려 문자열을 공백으로 구분할 수 있습니다. 사용하기 전에 import 패키지java가 필요합니다.util.StringTokenizer:
      

 String s6 = new String(" Hello Java ");
    String s7 = s6.trim(); //  、 
    String s8 = s6.replaceAll(" ", ""); //  
    StringTokenizer st = new StringTokenizer(s6, " "); //  
    StringBuffer sb = new StringBuffer();
    while (st.hasMoreTokens()) {
      sb.append(st.nextToken());
    }
    System.out.println("\"" + s6 + "\"" + "length = " + s6.length()); // " Hello Java "length = 14
    System.out.println("\"" + s7 + "\"" + "length = " + s7.length()); // "Hello Java"length = 10
    System.out.println("\"" + s8 + "\"" + "length = " + s8.length()); // "HelloJava"length = 9
    System.out.println("\"" + sb.toString() + "\"" + "length = " + sb.toString().length()); // "HelloJava"length = 9
6. 문자열 바꾸기
문자열을 바꾸면 모든 하위 문자열을 바꿀 수도 있고 첫 번째 하위 문자열을 바꿀 수도 있습니다.
       

 String sr = new String("abc abd bcd");
    String sr2 = sr.replace("ab", "xx"); //  
    String sr3 = sr.replaceFirst("ab", "xx"); //  
    System.out.println(sr2); // "xxc xxd bcd"
    System.out.println(sr3); // "xxc adb bcd"
7. 문자열 판정 등
문자열 판정 등은 문자열 내용 판정 등, 대소문자 무시 여부, 메모리 주소 판정 등, 문자열 시작 또는 끝 판단 등 여러 가지 상황이 있다. 다음과 같다.
     

  String se = new String("Summer is so Hot");
    String se1 = new String("Summer is so Hot");
    String se2 = new String("summer is so hot");
    String se3 = se;
    System.out.println(se == se1); // false  
    System.out.println(se == se3); // true
    System.out.println(se.equals(se1)); // true  
    System.out.println(se.equals(se2)); // false
    System.out.println(se.equalsIgnoreCase(se2)); // true  
    System.out.println(se2.startsWith("summer")); // true  
    System.out.println(se2.endsWith("cold")); // false  
8, 문자열 대소문자 변환
문자열 대소문자 변환은 다음과 같습니다.
     

  String sc = new String("hello WORLD");
    String scl = sc.toLowerCase(); // hello world  
    String scu = sc.toUpperCase(); // HELLO WORLD  
    System.out.println(scl + " " + scu);
9. 문자열 구분
문자열은 다음과 같이 구분됩니다.
     

  String ss = new String("abc,def,g,h");
    String[] ss2 = ss.split(","); //  
    for (String x: ss2) {
      System.out.print(x + "\t"); // abc def g h
    }
10. 문자열 포맷
문자열 포맷은 날짜 포맷, 시간 포맷, 진법 변환 등 여러 가지 형식이 있는데 Date 클래스의 사용은 import 패키지java가 필요합니다.util.Date, 다음 예:

    Date d = new Date();
    System.out.println(d); // Wed Jul 22 16:00:36 CST 2015  
    System.out.println(String.format("%tm", d)); // 07  
    System.out.println(String.format("%tH", d)); // 16  24 
    System.out.println(String.format("%x", 256)); // 100  

11. String, StringBuffer, StringBuilder 클래스 비교
String: 문자열 상수, 변하지 않는 대상, 변수 내용이 바뀔 때 실제적으로 새로운 String 대상을 생성합니다. 변수 내용을 여러 번, 빈번하게 바뀔 때 시스템 성능에 영향을 미칠 수 있습니다. 특히 이로 인해 GC가 작업을 시작할 때 프로그램 속도가 매우 느려집니다.
StringBuffer: 문자열 변수, 스레드가 안전하고 변수 내용이 바뀔 때 같은 대상을 조작하는데 효율이 String 유형보다 높다.
StringBuilder: 문자열 변수로 StringBuffer와 호환되지만 안전하지 않습니다. 단일 라인이라면 StringBuilder를 우선적으로 사용합니다. 이것은 StringBuffer보다 빠릅니다.

좋은 웹페이지 즐겨찾기