Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- oracle
- 자바 Random클래스
- database
- Java try-catch
- java super( )
- Java 추상 메서드
- Java업캐스팅
- dbeaver
- 자바 try-catch
- 자바 String클래스
- 자바 Wrapper클래스
- 데이터베이스
- 코딩
- 자바 내부 클래스
- 오라클
- Java추상클래스
- Java객체배열
- 자바 추상메서드
- Java다운캐스팅
- nodejs
- 자바 제어문
- Java thorw
- db
- Express
- Java문자열 클래스
- 자바 예제
- Java 내부 클래스
- 자바 문자열 클래스
- DBMS
- 자바 스트링클래스
Archives
- Today
- Total
코딩이란 무엇일까
Java/자바[7일차]-배열,문자열 거꾸로 출력 본문
안녕하세요 오늘 배운 배열에 대해 정리해 보겠습니다.
배열이란?
배열은 같은 탕비의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해 놓은 자료구조를 말합니다.
배열의 특징
- 배열은 같은 타입의 데이터만 저장이 가능합니다.
- int배열은 int값만 저장하고, double배열은 double값만 저장 가능합니다.
- 한 번 생성된 배열은 길이를 늘리거나 줄일 수 없습니다.
- 3개의 값을 저장하는 배열을 생성했다고 가정해봤을 때 프로그램을 실행 도중에 5개 혹은 2개로 값을 저장하는 배열로 수정할 수 없습니다.
배열의 선언
배열의 선언은 두 가지 형식으로 작성이 가능합니다.
형식 1
int []arr1= {67,45,92,12,45,66,92};
형식 2 (new연산자를 사용하여 배열 생성)
int[]arr2=new int[7];
형식 1처럼 배열은 만든 뒤 값을 넣어줄 수 있고 new연산자를 통해 배열의 크기를 지정해 줄 수도 있습니다.
배열의 주소
배열은 참조형 타입이기 때문에 데이터 자체를 저장하는 것이 아닌 데이터의 주소를 저장한 뒤 주소를 저장합니다.
배열 사용해보기
1. 배열 두 가지 방법으로 선언
public static void main(String[] args) {
int []arr1= {67,45,92,12,45,66,92};
int[]arr2=new int[7];
}
2. 배열의 데이터에 접근
배열은 인덱스 번호로 값을 출력할 수 있습니다.
public static void main(String[] args) {
System.out.println("arr[3]=?"+arr1[3]);
System.out.println("arr2[3]=?"+arr2[3]);
}
출력 결과
arr[3]=12
arr2[3]=0
3.for문을 사용하여 배열 출력해보기
public static void main(String[] args) {
for(int i=0;i<7;i++)
System.out.println("arr1["+i+"]="+arr1[i]);
}
출력 결과
arr1[0]=67
arr1[1]=45
arr1[2]=92
arr1[3]=12
arr1[4]=45
arr1[5]=66
arr1[6]=92
배열의 주소 값 확인해보기
다양한 타입으로 배열을 만든 뒤 주소 값을 확인해 보겠습니다.
기본형 타입으로 만든 배열
public static void main(String[] args) {
//1.배열
byte[]b= new byte[5];
short[]s= new short[5];
long[]l= new long[5];
float[]f= new float[5];
double[]d= new double[5];
char[] c = new char[5];
}
클래스로 만든 배열
public static void main(String[] args) {
//2.클래스로 만든 객체
Random r= new Random();
Scanner sc= new Scanner(System.in);
String str="";
String[]st= new String[5]; //문자열 5개를 참조 값 저장하는 배열
}
주소 값 출력
public static void main(String[] args) {
System.out.println(b); //@뒤의 해시코드는 32bit -> 16진수 8자리
System.out.println(s);
System.out.println(l);
System.out.println(f);
System.out.println(d);
System.out.println(c);// 문자열 형태로 출력이 됨
System.out.println(r); //클래스 타입 변수는 @앞에 패키지명.클래스명
System.out.println(sc);//Scanner 클래스는 다른 정보를 추가로 제공하는 문자열로 변형된 것.
System.out.println(str);//문자열 형태로 출력
System.out.println(st); //[L로 시작하면 클래스 타입의 배열
}
출력 결과
기본형 타입으로 만든 배열의 주소 값
[B@47f37ef1
[S@5a01ccaa
[J@71c7db30
[F@19bb089b
[D@4563e9ab
□□□□□
클래스로 만든 배열의 주소 값
java.util.Random@11531931
java.util.Scanner[delimiters=\\p{javaWhitespace}+]//더 있지만 생략
[Ljava.lang.String;@5e025e70
배열 응용문제
사용자에게 문자열을 입력받아 반대로 출력하는 프로그램을 짜 보겠습니다.
public static void main(String[] args) {
//예제 : 입력한 문자열을 거꾸로 만들기
Scanner sc= new Scanner(System.in);
System.out.print("문자를 입력하세요:");
String test=sc.nextLine();
String reserve="";
char [] result=new char[10];
for(int i=0;i<test.length();i++) {
int index=test.length()-1-i; //인덱스 값을 반대로 넣어줌
result[i]=test.charAt(index); //반대로 넣은 인덱스 값을 result[i]에 대입
}
System.out.println("reverse=>"+String.valueOf(result));
//문자열과 +로 연결될 때는 직접 문자열로 변환해야합니다.
}
출력 결과
위의 코드가 어려우시다면 i의 값과 입력한 값을 하나하나 대입해 보면서 생각하면 좋습니다.
이상으로 글 마치겠습니다.
글 읽어주셔서 감사합니다.
'국비지원수업' 카테고리의 다른 글
Java/자바[8일차]-배열에 데이터 삽입/삭제,전역변수,지역변수 (0) | 2022.10.31 |
---|---|
JAVA/자바 프로그래머스 문제 풀기 [모음 제거],[문자열 내 p와 y의 개수],[문자열 다루기 기본 ] (0) | 2022.10.30 |
JAVA/자바[6일차](1)-while문,do-while문 (0) | 2022.10.27 |
JAVA/자바[5일차](2)-for문,break,continue (0) | 2022.10.26 |
JAVA/자바[5일차](1)-증감연산자,복합대입연산자 (0) | 2022.10.26 |
Comments