JAVA
Java 문자열 나누기 - substring , indexOf , charAt
String substring( int A ) - substring 함수는 두가지가 있는데, 첫번쨰는 인자값을 하나만 받는 함수이다. 인자값은 int형으로 문자열 인덱스의 시작 부분을 지정하며, 해당 인덱스를 포함한 뒤의 모든 문자열을 리턴한다. String b = "012345"; b.substring(3); b라는 문자열이 있을때, substring(3)을 주게되면 "345"를 리턴한다. String substring ( int beginA , int endA ) 이 substring 함수는 인자값이 두개이다. 첫번째 입력을 받는 인자값이 가져올 문자열의 시작부분을 지정하고, 두번째 입력받는 인자 값은 가져올 문자열의 끝 부분을 지정한다. String b = "012345"; b.substring(3..
![Java 배열 정렬하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlZD5n%2FbtrnCzTMb1d%2FN9rkWVD1tEGURcelMYUbkK%2Fimg.png)
Java 배열 정렬하기
java는 java.util.Arrays 클래스의 sort() 메서드를 사용하면 간편하게배열 및 리스트를 오름차순으로 정렬 할 수 있다. Arrays 클래스는 배열의 복사, 항목 정렬, 검색과 같은 배열 조작 기능을 가지고 있다. 배열의 오름차순 정렬 import java.util.Arrays; public class test { public static void main(String[] args) { int arr[] = { 6, 111, 34, 3453, 457, 57, 234, 435 }; int size = arr.length; Arrays.sort(arr); for (int i = 0; i < size; i++) { System.out.println(arr[i]); } } } 결과 *** Str..
![Java 입력 받은 값을 배열에 저장](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvs5ML%2FbtrnBXAt5Wj%2FlcIlvLvW7pvtAK2ppjvKBk%2Fimg.png)
Java 입력 받은 값을 배열에 저장
package test1; import java.util.Scanner; public class test { public static void main(String[] args) { // 배열생성 String[] names = new String[3]; // 배열의 길이 설정 int[] numbers = new int[3]; // 배열의 길이 int size = names.length; Scanner sc = new Scanner(System.in); for (int i = 0; i < size; i++) { // 문자열 입력 System.out.println("이름을 입력하세요"); names[i] = sc.next(); // 숫자형 입력 System.out.println("숫자를 입력하세요"); nu..
![HashMap이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJONLR%2FbtrdfG2BCQb%2FLTJ1gc5bbhdXekwZl89Q00%2Fimg.png)
HashMap이란?
HashMap은 대표적인 Map 컬렉션 중 하나이다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있다. Map인터페이스를 상속하고 있기 때문에 Map의 성질을 그대로 가지고 있다. 키와 값은 모두 객체이고, 값은 중복저장될 수 있지만, 키는 중복저장될 수 없다. 키를 중복저장하면 기존의 값은 사라지고 새로 등록한 값이 저장된다. HashMap은 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보인다고 한다. 키 (key) 값 (value)은 간단하다. HasMap의 사용법은 HashMap map(내가 설정하고 싶은 이름) = new HashMap(); new로 HashM..
![extends 와 implements의 차이 - 상속](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqAtU2%2Fbtrb9RjkRZ9%2FzgcQ1aAITa76RTl6rQQZx0%2Fimg.png)
extends 와 implements의 차이 - 상속
스프링으로 공부를 하던 중, implements로 서비스나 DAO,Mapper(interface) 등을 상속해서 사용하다가 클래스를 상속해야하는 상황이 생겨서 extends를 사용하게 됐다. 이 차이에 대해 궁금해졌다. 객체지향 프로그래밍의 특징으로는 1. 상속과 인터페이스 (계층성) 2. 다형성,사용편의성(모듈화) 3.캡슐화,정보은닉 4.자료 추상화(모델링) 5.동적바인딩 이 있다. 상속이란 무엇인가? 상자 하나하나는 모두 객체이고 , 객체는 class이다. 계층을 표현하기 위해 만들어 진 것이 상속이고, 하위 객체는 상위 객체의 특징을 물려받는다. 식물class는 stand() , 동물class는 move()라는 메소드가 있으면 동물class 아래의 포유류,조류,파충류 class는 move()라는 메..
![Iterator와 map의 반복문](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvtAHH%2Fbtrbq4dtcb1%2F5R1LarEKKCPcEGKaKwtWN0%2Fimg.png)
Iterator와 map의 반복문
Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다. 컬렉션 프레임워크란 데이터를 저장하는 클래스들을 표준화한 설계이다. 컬렉션 프레임워크는 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다 set은 순서를 유지하지 않는 데이터 집합, 중복x list는 순서를 유지하는 데이터 집합, 중복o map은 키와 값으로 이루어진 데이터의 집합. 순서유지 x 키의 중복x Iterator 메소드에는 hasNext(), next(), remove()가 있다. 각각의 기능은 다음과 같다. hasNext() : 읽어올 요소가 남아있는지 확인하는 메소드이다. 요소가 있으면 true, 없으면 false next() : 다음 데이터를 반환한다. remove()..
indexOf() , lastindexOf- 특정 문자 인덱스 위치 찾기
indexOf() - indexOf(String str) - indexOf(int ch) - indexOf(int ch, int fromIndex) - indexOf(String str, int fromIndex) indexOf() 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스(위치)를 반환하며 만약 찾지 못했을 경우 "-1"을 반환한다 ex) String a = "hello world"; sysout(a.indexOf("o")) //4 sysout(a.indexOf("o " , 5)) //7 sysout(a.indexOf("l")) //2 //배열은 0부터 시작 //공백도 하나한 위치를 잡고 있다 lastIndexOf() - lastIndexOf(String str) - lastIndexOf..
isEmpty와 ==null - 객체가 비어있는지 확인하는 방법
객체가 비어있는지 확인할 때에는 'isEmpty'와 '==null'을 사용한다. 두가지의 차이점은 isEmpty()는 객체가 값이 존재하지 않으면 true를 리턴한다 ex ) String a =""; 이면 true 객체에 ""라는 값(a)이 들어가있어 값은 존재하지않지만 비어있는 상태가 아님 (null은 값이 0이라고(-자세히 말하자면 0도 아님) 비어있는게 아니다) (이것에 대해 자세한 것은 null값에 대한 메모리 할당을 공부하자) ==null은 객체가 비어있어야 true를 리턴한다. ex ) String a=""; 이면 false 객체에 ""라는 값(a)이 들어가있다. 비어있는 상태(null)가 아니기 때문에 false 영화관을 예로들어, 영화관에 자리 예매가 되어있을때 예매한 사람이 오지않으면 i..
getter,setter를 사용하는 이유와 객체의 부품화 (in VO,DTO)
문득 getter,setter 제네레이터를 통해 VO,DTO를 만들고 왜 이렇게 사용할까?하는 생각이 들었다. getter ,setter를 만드는건 제네레이터가 해주기 때문에 쉽게 만들 수 있고 값을 받아오고 입력해줘서 DB와 DAO를 연결해준다는 느낌으로 사용하고 있었다. 일단 getter,setter를 사용하는 이유는 클래스의 필드에 직접 접근하는걸 막기 위해서다. 자바는 고수준(High Level)의 언어인데, 고수준이라는것은 개발자들이 어떤 이론의 밑바닥까지 알 필요가 없다는 것을 의미한다. JAVA를 이용해서 네트워크 통신을 할때 http나 패킷에 대한 것을 몰라도 개발은 할 수 있다. 자세한 것들은 JAVA가 제공하는 클래스들이 알아서 하기 때문에, 개발자는 좀 더 자유롭게 자신이 원하는 기능..