20/10/16

아라·2020년 10월 16일
0

국비교육

목록 보기
5/30

유효성 검사(Validation Check)

데이터가 프로그램상에서 쓸모가 있는 값인지 아닌지를 판단하는 작업

// a(97)<=입력문자<=z(122)영문 소문자 유효성검사
System.out.print("문자를 입력해주세요. : ");
int numdata=reader.read();
System.out.println(numdata>='a'?(numdata<='z'?true:false):false);

// 한글 유효성검사
System.out.print("문자를 입력해주세요. : ");
int hangeul=reader.read();
System.out.println(hangeul>='가'?(hangeul<='힣'?true:false):false);

// 숫자 유효성검사
System.out.print("문자를 입력해주세요. : ");
int isNum=reader.read();
System.out.println(isNum>='0'?(isNum<='9'?true:false):false);

문자열을 문자코드 값으로 출력하는 방법

// 1. charAt(0);을 이용
System.out.print("문자를 입력해주세요. : ");
String data=reader.readLine();
char newdata=data.charAt(0);
System.out.println((int)newdata);

// 2. reader에서 int자체를 받아오는 법 -> 이 방법이 효율적
System.out.print("문자를 입력해주세요. : ");
int dataint=reader.read();
System.out.println(dataint);

참조형 변수끼리의 비교

String s1="홍길동";
String s2="홍";
String s3=s2+"길동"; // s3는 "홍길동"이 된다.
System.out.println(s1==s3);
// 결과는 false. 잘못된 결과가 나온다.

이런 식으로 문자열을 비교하는 것은 이렇게 잘못된 결과가 나올 수 있으므로 사용하면 안된다. 잘못된 결과가 나오는 이유는 두 값의 참조주소값이 같은지 비교하는 것이기 때문이다.
문자열이 같은지 비교할 때는 아래와 같이 코드를 작성하면 된다.

String s1="홍길동";
String s2="홍";
String s3=s2+"길동";
System.out.println(s1.equals(s3)); // 결과는 true

특수문자의 명칭

~ : 틸드(tild)
^ : carret, xor
` : back quote

메모리영역

  1. Stack영역
  • 개발자가 만든 모든 변수는 이 영역에 생성된다.
  1. Heap영역(managed heap)

0개의 댓글