본문 바로가기

프로그래밍/Java

문자열과 배열

문자열과 배열 생성시에 되는 코드와 에러가 뜨는 코드

import java.util.Scanner;
public class Note{
    public static void main(String[] args){
        String str1;
        str1="홍길동";
        String str2="홍길동";
        String str3=null;
        str3 = "홍길동";
        String str4;
        str4=new String("홍길동");
        
        
        int[] array1={1,2,3};
        /*int[] array2;
        array2={1,2,3};--------------ERROR*/
        int[] array3=new int[3];
        int[] array4=new int[]{1,2,3};
        int[] array5=null;
        array5=new int[]{1,2,3};
        
        //int result=add({1,2,3,4});-----------ERROR
        int result = add(new int[]{1,2,3,4});
    }
    
    public static int add(int[] array){
        int sum=0;
        for(int i:array){
            sum+=i;
        }
        return sum;
    }
}

 

문자열과 배열의 길이 구하기

문자열의 길이를 구할땐 length()

배열의 길이를 구할땐 length

 

import java.util.Scanner;
public class Note{
    public static void main(String[] args){
        String str="abcdefg";
        String[] str1=new String[]{"ab","cd","ef"};
        int[] array = new int[]{1,2,3,4,5,6,7,8};
        System.out.println("str 문자열의 길이"+str.length());
        System.out.println("str1배열의 길이"+str1.length);
        System.out.println("str1[0]의 문자열 길이"+str1[0].length());
        System.out.println("array배열의 길이"+array.length);
    }
}

 

 

배열 복사하기

 

방법 1 for문사용

import java.util.Scanner;
public class Note{
    public static void main(String[] args){
        int[] array = new int[]{1,2,3,4,5,6,7,8};
        int[] array2= new int[array.length];
        for(int i=0;i<array.length;i++){
            array2[i]=array[i];
        }
        System.out.print("array:");
        for(int a: array){
            System.out.print(a+" ");
        }
        System.out.print("\narray2:");
        for(int a: array2){
            System.out.print(a+" ");
        }
    }
}

 

 

방법 2 System.arraycopy()사용

import java.util.Scanner;
public class Note{
    public static void main(String[] args){
        int[] array = new int[]{1,2,3,4,5,6,7,8};
        int[] array2=new int[array.length];
        
        System.arraycopy(array,0,array2,0,array.length);
        
        System.out.print("array:");
        for(int a: array){
            System.out.print(a+" ");
        }
        System.out.print("\narray2:");
        for(int a: array2){
            System.out.print(a+" ");
        }
    }
}

System.arraycopy(array, 0, array2, 0, array.length);

array의 0번지 부터 array.length만큼 복사해서 array2의 0번지 부터 넣겠다

 

'프로그래밍 > Java' 카테고리의 다른 글

this  (0) 2019.11.11
객체  (0) 2019.11.11
문자열 비교  (0) 2019.11.11
향상된 for문  (0) 2019.11.11
Scanner  (0) 2019.11.11