728x90

-String -> char[]

1
char[] charArray=string변수.toCharArray();
cs

 

-char[] -> String

1
2
3
char[] cs= {'가','나','다'};
String string=new String(cs);
System.out.println("string :"+string); //결과 : string :가나다
cs

혹은

1
2
3
char[] cs= {'가','나','다'};
String string=Arrays.toString(cs);
System.out.println("string :"+string); //결과 : string :[가, 나, 다]
cs

이런식으로 두가지 방법이 있는데  ,  Arrays.toString()메소드는 모든타입에 오버로딩되어있어 사용하기 편하지만,

[ ] 와 공백이 추가로 붙는다.

728x90

-상식-

 \n(Line feed 일명 LF) 다음줄의 처음으로 줄바꿈 함 (os별로 처음으로 가지 않는 경우도 있긴함) 
 \r(Carriage return 일명 CR) 커서를 그 줄의 맨 앞으로 이동시킴 

 

-CASE 1 입력값이 방대할 경우-

 

입력값이 방대할 경우엔 Scanner 객체는 느리다.

따라서 비교적 빠르며 BufferedReader 객체를 사용한다.

키보드같은 외부입력장치와의 통신은 연결시마다 높은 비용이 발생한다.

BufferedReader  는 키보드 같은 입력장치와의 통신을 보통 한번만 거치기 때문에 , 

입력이 있을때 마다 입력장치와의 통신을 거치는 Scanner 보다 훨씬 빠르다.

 

-객체 생성

BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); 
-메소드

reader.read();

//스트림에서 한글자씩 문자로 읽는다. 반환값은 양의 정수(아스키값)이다.

//stream의 끝에 도달하였다면 -1을 반환한다.

 

reader.readLine();

//스트림 으로부터 텍스트 한 줄씩 읽습니다.

//한 줄은 줄 바꿈 ( '\n'), 캐리지 리턴 ( '\r') 또는 ("\r\n") 이 3개 중 하나라도 나오면 끝나는 것으로 간주됨.

//리턴 값은 읽은 한줄.
줄 종료문자(윗 3가지) 를 포함하지 않고 스트림이 꽉 찬 경우 null을 반환함

 

하단의 글은 예시이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class TestMethod {
    public static void main(String[] args) {
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String string="";
        try {
            while(!"q".equalsIgnoreCase(string)) {
                    string=reader.readLine();
                    System.out.println(string+" 헷 ");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
cs

하단은 콘솔입력과 출력의 결과이다.

 

-CASE 2 문자열을 토큰으로 구별해야할 경우-

 

String[] line = bf.readLine().split(" "); 처럼 split을 이용하여 쪼갤수도 있으나,

StringTokenizer 객체를 이용하면 더 간단한 관리가 되는 듯 하다.

 

-객체생성

StringTokenizer st = new StringTokenizer(문자열, " "); // 둘째 인자는 구분자

 

-메소드이용

1
2
3
4
5
while(st.hasMoreTokens()){
    ~
    System.out.println(st.nextToken());
    ~
}
cs

 

st.hasMoreTokens()  //이 메서드가 true를 반환하면  nextToken() 후속 호출이 성공적으로 토큰을 반환합니다. 

공식처럼 st.hasMoreTokens()와 nextToken() 가  함께 이용된다.

nextToken() 의 반환형은 String.

 

하단은 샘플이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class TestMethod {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String line = bf.readLine();
        System.out.println("line : "+line);//안 녕 하세요!
        StringTokenizer st = new StringTokenizer(line, " ");
        System.out.println("st : "+st);//st 주소 출력
        while(st.hasMoreTokens()) 
            System.out.println(st.nextToken());
        System.out.println("끝");
    }
}
cs

콘솔 입력 출력 결과 이미지

 

-CASE 3 문자열의 끝 부분에 삽입,삭제가 일어날 경우-

 

StringBuilder , StringBuffer

 

-CASE 4 출력값이 많을 경우-

BuildWriter 적용

 

 

참고 : JAVA 8 공식문서

스트림, 버퍼 의 개념 : https://real-dongsoo7.tistory.com/70 

BufferedReader : https://ict-nroo.tistory.com/61 

'21년이전 > JAVA' 카테고리의 다른 글

JAVA 알고리즘 - String <-> char[]  (0) 2021.06.17
JAVA - 랜덤숫자+영문대문자 생성하기  (0) 2021.06.06
728x90

-MIME (Multipurpose Internet Mail Extensions)

-요약

아스키코드 텍스트만을 사용해야 했던 인터넷 전자메일에서 다양한 포맷과 형식을 쓸 수 있도록 지원하는 데이터 부호화 방식이다.

 

 

-참고

https://terms.naver.com/entry.naver?docId=3350025&cid=40942&categoryId=32848

'21년이전 > IT용어' 카테고리의 다른 글

대칭키, 공개키 , SSL 암호화방식  (0) 2021.07.04
오버헤드  (0) 2021.06.14
AOP ( Aspect Oriented Programming )  (0) 2021.04.28
Maven  (0) 2021.04.23
sp (stored procedure)  (0) 2021.04.21
728x90

-오버헤드

-요약

프로그램을 수행하기 위해 추가적으로 요구되는 시간,자원을 말한다.

 

특정한 목표를 달성하기 위해 간접적 혹은 추가적으로 요구되는 시간, 메모리, 대역폭 혹은 다른 컴퓨터 자원을 말한다.

'21년이전 > IT용어' 카테고리의 다른 글

대칭키, 공개키 , SSL 암호화방식  (0) 2021.07.04
MIME타입  (0) 2021.06.14
AOP ( Aspect Oriented Programming )  (0) 2021.04.28
Maven  (0) 2021.04.23
sp (stored procedure)  (0) 2021.04.21
728x90

-replace, replaceAll(문자열A,문자열B) 

ex) 문자열C.replace(문자열A,문자열B); 은   ,  문자열C내부의 문자열A를 문자열B로 치환하여  결과를 반환합니다.

 

-innerHTML

문자열내에 html태그가 있을 경우 , html태그는 HTML로 파싱하여준다.

 

하단은 통합검색시 이용하는 자바스크립트 명령어로 , 입력한 텍스트(inputText)를 색칠 해준다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function colorizeText(inputText, inputType) {
    /*select specified things*/
    var items;
    if (inputType == "subject") {
        items = document.getElementsByClassName("subject");
    } else if (inputType == "all") {
        items = document.getElementsByClassName("all");
    } else if (inputType == "name") {
        items = document.getElementsByClassName("name");
    } else {
        return;
    }
 
    for (var i = 0; i < items.length; i++) {
        var item_text = items[i].textContent;
        item_text = item_text.replaceAll(inputText,
                '<span style="background-color:#F4F895;">'
                        + inputText + '</span>');
        items[i].innerHTML = item_text;
    }
}
cs

 

하단은 검색으로 1을 입력 해보았을 경우이다.

'21년이전 > front-end' 카테고리의 다른 글

html - disabled , readOnly 의 차이  (0) 2021.06.06
js - 숫자 앞에 0을 붙이기  (0) 2021.06.06
js - var, let , const  (0) 2021.06.06
front - jquery ajax (동기식)  (0) 2021.06.04
front - modal  (0) 2021.06.04
728x90

html 태그의 기본 속성중  , disabled와 readOnly 가 있다.

 

공통점 :  두개다 사용자가 쓰기기능을 못하게 하고 오직 읽는 것만 가능하게 해준다.

 

차이점 : form 태그를 통해서 Server로 데이터를 전송하려 할때 , 

disabled="disabled" 된 태그는 읽혀 지지 않는다.

반면 , readOnly 가 지정된 태그는 읽혀 진다!

'21년이전 > front-end' 카테고리의 다른 글

js - 특정 문자열에 칼라주기.  (0) 2021.06.11
js - 숫자 앞에 0을 붙이기  (0) 2021.06.06
js - var, let , const  (0) 2021.06.06
front - jquery ajax (동기식)  (0) 2021.06.04
front - modal  (0) 2021.06.04
728x90
1
2
3
4
function numberPad(n, width) {
        n = n + '';
        return n.length >= width ? n : new Array(width - n.length + 1).join('0'+ n;
}
cs

1 : parameter는 정수와 0을포함한 정수의 길이이다 (ex 001 은 width 가 3)

2 : n을 문자열로 만든다.

3 : new Array(숫자) 가 의미 하는 것은 배열의 노드를 숫자 만큼 만들어 주겠다는 의미이고 ,

배열객체.join(문자) 의  의미는   ,  생성된 배열 노드 노드 사이마다  문자 를 넣어주겠다는 의미이다.

 

참고 

알고리즘 참고 : https://matthew-jo.tistory.com/8 

js에서 배열을 생성하는 방법 : https://gent.tistory.com/294 

배열 객체.join : http://blog.naver.com/diceworld/220213913009 

 

'21년이전 > front-end' 카테고리의 다른 글

js - 특정 문자열에 칼라주기.  (0) 2021.06.11
html - disabled , readOnly 의 차이  (0) 2021.06.06
js - var, let , const  (0) 2021.06.06
front - jquery ajax (동기식)  (0) 2021.06.04
front - modal  (0) 2021.06.04
728x90

var -    변수 재선언 가능  ,근본없음   

let -     변수 재선언 불가 , 변수값변경가능

const - 변수 재선언 불가 ,  변수값변경불가능(상수화)

 

자세한 설명과 호이스팅내용등 설명은 하단을 참고하도록 한다.

https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90

'21년이전 > front-end' 카테고리의 다른 글

html - disabled , readOnly 의 차이  (0) 2021.06.06
js - 숫자 앞에 0을 붙이기  (0) 2021.06.06
front - jquery ajax (동기식)  (0) 2021.06.04
front - modal  (0) 2021.06.04
css - box-shadow  (0) 2021.06.03
728x90
1
2
3
PrintTime=function(totalTime=180){
    ~~
 }
cs

위와 같이 함수를 정의할경우, 180이 기본값으로 설정되며 , 실제 호출시엔 PrintTime() 같이  인수를 작성해주지 않아도 된다.

PrintTime(140) 와 같이 인수를 넣어줄 경우 , 파라미터가 140으로 변경된다.

 

728x90

- 기본개념

Random rnd= new Random();

rnd.nextBoolean();   // return true or false 

rnd.nextInt(숫자X); //0~X-1중 하나 리턴 

1
2
3
4
5
6
7
8
9
10
11
12
//인증키 생성
public String getKey(int key_len) {
    Random rnd=new Random();
    StringBuffer buf=new StringBuffer();
    for(int i=1;i<=key_len;i++) {
        if(rnd.nextBoolean())
            buf.append((char)(rnd.nextInt(26)+65));   // 0~25(26개) + 65 
        else
            buf.append(rnd.nextInt(10));
    }
    return buf.toString();
}
cs

 

4 : 문자열에 계속해서 무언가를 추가할것이기에, 삽입 삭제에 유리한 StringBuffer를 이용한다.

7 : 대문자 알파벳이 나온다. 

알파벳은 총 26글자이며 , A의 ASCII는 65이다.

숫자로 아스키값을 먼저 계산후 char 로 형변환하여 문자화 시켜주었다.

'21년이전 > JAVA' 카테고리의 다른 글

JAVA 알고리즘 - String <-> char[]  (0) 2021.06.17
JAVA - 알고리즘을 위한 클래스,메소드  (0) 2021.06.15

+ Recent posts