배열 안 공백제거

배열이름.trim().length()
trim=공백제거
=> 배열의 공백을 제거한 길이

String str1="Have a Nice Day";
		String str2="    Happy Day      ";
		
System.out.println("str2의 길이: "+str2.length());
System.out.println("str2의 앞뒤 공백 제거 후 길이: "+str2.trim().length());
														   //trim 앞뒤 공백 제거.길이
System.out.println("*"+str2+"*");
System.out.println("*"+str2.trim()+"*");

배열 indexOf

배열이름.indexOf('배열안 문자')
=>문자열에서 찾는 문자가 몇 번째 index에 있는지

String str1="Have a Nice Day";
String str2="    Happy Day      ";

System.out.println("str1에서 H의 인덱스: "+str1.indexOf('H'));
													//indexOf(문자열에서 찾는 문자가 몇 번째 index에 있는지
System.out.println("str1에서 D의 인덱스: "+str1.indexOf('D'));
		
System.out.println("str1에서 Nice추출: "+str1.substring(7, 11));

배열 replace

배열이름.replace(바꿀 문자,새로운 문자)
=>한 글자,단어 다 가능

String str1="Have a Nice Day";
String str2="    Happy Day      ";

System.out.println("문자열 일부를 변경");
System.out.println(str1.replace('a', '*')); //문자열이름.replace(바꿀 문자,새로운 문자)
System.out.println(str1.replace("Nice", "Good"));

배열 숫자->문자 변환

String 이름=숫자+"";
String 이름=소수+"";
String 이름=String.valueOf(숫자); //int ==> String
String 이름=String.valueOf(소수); //double ==> String

String b1=12.5+" ";
		
String b2=100+""; //숫자를 문자로 바꿈
		
String b3=String.valueOf(100); //int ==> String

String b4=String.valueOf(12.6); //double ==> String

split 문자열 분리

String 이름1="이름,이름,이름"; => 하나의 문자

String[] 이름2=이름1.split("분리기준")
=>분리 기준으로 잘라서 배열 안 각 index에 값을 넣어줌

String str3="red,blue,green,gray,white"; //하나의 문자이므로 분리하기 위해서는 배열이 필요
System.out.println(str3);
		
System.out.println(",로 분리하여 출력하기");
		
String[] arr=str3.split(","); //,를 기준으로 잘라서 배열로 나눠줌
System.out.println("분리된 색상 갯수: "+arr.length);

//출력
for(int i=0;i<arr.length;i++)
	System.out.println(arr[i]);
		
for(String color:arr)
	System.out.println(color);

Scanner 배열입력

scanner 선언
배열[]=sc.nextLine(); 문자일 경우
=sc.nextInt(); 숫자일 경우

int [] data;
data=new int[5];
		
int sum=0;
		
//값 입력
for(int i=0;i<data.length;i++)
	{
		System.out.print(i+"번째 값: ");
		data[i]=sc.nextInt();
			
		sum+=data[i];
	}

배열 최댓값,최솟값

int max=data[0]; //첫 data를 무조건 최대값에 저장
int min=data[0]; //첫 data를 무조건 최솟값에 저장

public static void main(String[] args) {
		
		int [] data = {5,120,44,66,23,65,88,99,158};
		
		System.out.println("data의 길이: "+data.length);
		
		int max=data[0]; //첫 data를 무조건 최대값에 저장
		int min=data[0];
		
		//두번째값부터 끝까지 max와 비교
		for(int i=1;i<data.length;i++)
		{
			if(max<data[i])
				max=data[i];
			
			if(min>data[i])
				min=data[i];
		}
		
		System.out.println("최대값: "+max);
		System.out.println("최소값: "+min);

	}

순서바꾸기

int a=10,b=20;
		
System.out.println("a= "+a+", b= "+b);

int temp=a;
a=b;
b=temp;

배열 순서 바꾸기

int [] n= {5,7,9};

int temp1=n[0];
n[0]=n[2];
n[2]=temp1;

배열 안에 맞는 수 찾기

public static void main(String[] args) {
		//숫자를 입력해서 그 숫자가 몇 번째 있는지 찾기
		//없으면 없다고, 있으면 그 숫자가 몇 번째 있는지 찾기
		//0입력 시 종료: while(true)
		
		Scanner sc=new Scanner(System.in);
		int su; //입력할 수
		int [] data= {43,63,47,4326,16,9,3,72,89,106};
		boolean flag; //있다 없다가 중요해서 먼저 선언
        
        //여기서 boolean flag=false로 선언해버리면 while문안에서 true로 바뀌는 순간
        다시 false로 돌아갈 수 없기 때문에 while문 안에서 flag=false;로 선언함
        
        =>처음에 boolean flag=false로 초기화 해버리면 while(true)문 안에서
        flag=true로 바뀌는 순간 flag=true인 상태로 while문이 계속 돌아가게 된다.
        (무한루프에 빠짐)
        
        이 때문에, while(true)문 안에 flag=false로 초기화 해주면 flag=true로
        바뀌어도 다시 flag=false로 초기화 해주기 때문에 while문 안에 flag=false로
        초기화 해주어 무한루프에 빠지지 않게 한다.

		while(true)
		{
			System.out.println("검색할 숫자 입력하세요");
			su=sc.nextInt();
			
			//break...0입력시 종료
			if(su==0)
			{
				System.out.println("종료합니다");
				break;
			}
			
			//있다 없다 초기값
			flag=false; //찾으면 true로 변경 //여기서 flase 초기값 준 것
			
			//값 찾기
			for(int i=0;i<data.length;i++)
			{
				if(su==data[i])
				{
					flag=true; //찾은 경우
					System.out.println((i+1)+"번째에서 검색");
					
				}
			}
			
			if(!flag) // == flag값이 참이 아니라면
            		  // !  => 그 변수를 부정하는 값
            		  //flag는 찾은 것 !flag는 못 찾은 것
				System.out.println(su+"는 데이타에 없습니다");
			
		}
	}
profile
백엔드 개발자로서 성장해 나가는 성현이의 블로그~

0개의 댓글