int num = 1;
Integer wrapper = new Integer( num );
int num = 100;
Integer wrapper = num;
Integer wrapper = New Integer(200);
int num = wrapper;
모든 Wrapper클래스는 static 데이터 형태로 Wrapper 클래스에 대응되는 자료형에 대한 최소값과 최대값을 가지고 있다.
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
int a = 1;
String b = "1";
System.out.println(a + b); // 11
String money1 = "3000";
String money2 = "5000";
String total = moeny1 + money2; // 30005000
String money1 = "3000";
String money2 = "5000";
int m1 = Integer.parseInt( money1 );
int m2 = Integer.parseInt( money2 );
System.out.println(m1 + m2); // 8000
public class Main01 {
public static void main(String[] args) {
// String 객체의 생성 방법
String str1 = "자바 Programming";
String str2 = new String("Java");
// 위와 같다. String str2 = "Java";
System.out.println("str1 : " + str1);
System.out.println("str2 : " + str2);
System.out.println("-------------------------");
// 1. 문자열의 길이를 조회
int str1_len = str1.length();
int str2_len = str2.length();
System.out.println("str1_len : " + str1_len);
System.out.println("str2_len : " + str2_len);
System.out.println("-------------------------");
// 2. 특정 문자열이 처음으로 나타나는 위치를 조회
int str1_pos = str1.indexOf(" ");
int str2_pos = str2.indexOf("a");
System.out.println("str1_pos : " + str1_pos);
System.out.println("str2_pos : " + str2_pos);
System.out.println("-------------------------");
// 3. 특정 문자열이 나타나는 마지막 위치를 조회
int str1_last_pos = str1.lastIndexOf(" ");
int str2_last_pos = str2.lastIndexOf("a");
System.out.println("str1_last_pos : " + str1_last_pos);
System.out.println("str2_last_pos : " + str2_last_pos);
System.out.println("-------------------------");
// 4. A를 B로 변경하기
String new_str1 = str1.replace(" ", "-");
String new_str2 = str2.replace("a", "A");
System.out.println("new_str1 : " + new_str1);
System.out.println("new_str2 : " + new_str2);
System.out.println("-------------------------");
// 5. 대소문자 변경
String upper = new_str2.toUpperCase();
String lower = new_str2.toLowerCase();
System.out.println("upper : " + upper);
System.out.println("lower : " + lower);
System.out.println("-------------------------");
// 6. 문자열의 앞 뒤 공백제거
String input = " enjoy java programming ";
String output = input.trim();
System.out.println("input = " + input);
System.out.println("output = " + output);
// 중간 공백까지 포함한 모든 공백 제거
String output2 = input.replace(" ", "");
System.out.println("output2 = " + output2);
System.out.println("-------------------------");
// 7. 문자열 비교하기
boolean isSam = str1.equals(str2);
if(isSam) {
System.out.println("같다");
} else {
System.out.println("다르다");
}
System.out.println("-------------------------");
// 8. 문자열 자르기
// - 첫 번째 파라미터: 시작위치
// - 두 번째 파라미터: 끝 위치
String sub_str1 = str1.substring(0,2);
System.out.println(str1);
System.out.println("sub_str1 : " + sub_str1);
// 두번째 파라미터가 없는 경우 끝까지 자른다.
String sub_str2 = str1.substring(3);
System.out.println("sub_str2 : " + sub_str2);
//9. 형식에 따른 문자열 출력을 위한 static 메서드 사용
/*
* - %d : 정수
* - %s : 문자
* - %f : float형 소수
* - %3d: 숫자를 3자리로 맞춰서 출력
* 자릿수가 맞지 않으면, 앞에 공백출력
* - %03d: 자릿수가 맞지 않으면 0을 출력
* - %3s : 문자열을 3자리로 맞춰서 출력
* 자릿수가 맞지 않으면 앞에 공백 출력
* (%03s와 같은 형식은 사용 불가)
*/
int yy = 2022;
int mm = 3;
int dd = 20;
String gender = "남자";
String result = String.format("%d년 %02d월 %02d일 %s",
yy, mm, dd, gender);
System.out.println(result);
System.out.println("------------------------------");
// 10. 주어진 글자를 기준으로 잘라내어서 배열로 변환
String src = "C++/Java/HTML/CSS/JavaScript";
String[] data = src.split("/");
for(int i = 0; i<data.length; i++) {
System.out.println(data[i]);
}
}
}
public class Main02 {
public static void main(String[] args) {
//1. 이메일 주소에서 아이디와 도메인을 구별하기
// 단 splite 사용 금지
String email = "student@java.com";
//결과 : 아이디 => student
//결과 : 도메인 -> java.com
System.out.println("아이디 : " + email.substring(0,7));
System.out.println("도메인 : " + email.substring(8,16));
// "@" 가 나타나는 위치 얻기
int s = email.indexOf("@");
// 처음부터 "@"가 나타나는 위치까지 자르기 -> 아이디
String email_id = email.substring(0,s);
// "@"가 나타나는 위치 다음부터 끝까지 자르기 -> 도메인
String email_domain = email.substring(s + 1);
// 결과 아이디
System.out.println("아이디 : " + email_id);
// 결과 도메인
System.out.println("도메인 : " + email_domain );
}
}
package patterncheck;
import java.util.regex.Pattern;
public class Main01 {
public static void main(String[] args) {
// 회원 가입시에 입력한 내용을 가정한 변수값들
String name = "자바학생";
String age = "19";
String email = "student@java.net";
String phone = "01012345678";
//한글여부검사
boolean isKor = Pattern.matches("^[ㄱ-ㅎ가-힣]*$", name);
if(!isKor) {
System.out.println("이름은 한글로 입력해주세요");
// 실행도중 return을 만나면 즉시 중단
// void 형은 return 키워드만 명시한다.
return;
}
//숫자인지 검사
boolean isNum = Pattern.matches("^[0-9]*$", age);
if(!isNum) {
System.out.println("나이는 숫자로만 입력해 주세요.");
return;
}
// 이메일 검사
boolean isEmail = Pattern.matches("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$", email);
if(!isEmail) {
System.out.println("이메일 형식이 맞지 않습니다");
return;
}
// 핸드폰 번호 검사
boolean isPhone = Pattern.matches("^01(?:0|1|[6-9])(?:\\d{3}|\\d{4})\\d{4}$", phone);
if(!isPhone) {
System.out.println("핸드폰 번호가 맞지 않습니다");
return;
}
System.out.println("회원 가입 절차를 진행합니다.");
}
}
package patterncheck;
public class Main02 {
public static void main(String[] args) {
String name = "자바학생";
String age = "19";
String email = "student@java.net";
String phone = "01012345678";
//RegexHelper에서 만든 메서드 사용해서 데이터 검증
if(!RegexHelper.getInstance().isKor(name)) {
System.out.println("이름은 한글로 입력해주세요");
return;
}
if(!RegexHelper.getInstance().isNum(age)) {
System.out.println("나이는 숫자로만 입력해주세요");
return;
}
System.out.println("회원 가입 절차를 진행합니다");
}
}
package patterncheck;
import java.util.regex.Pattern;
public class RegexHelper {
// 싱글톤 객체 생성
// -- 싱글톤 객체 생성 시작
private static RegexHelper regexHelper;
// 객체가 할당되지 않은 경우메나 할당하도록 하여 중복 할당을 방지한다.
public static RegexHelper getInstance() {
if( regexHelper == null ) {
regexHelper = new RegexHelper();
}
return regexHelper;
}
// 객체에 null을 대입하면 메모리에서 삭제된다.
public static void freeInstance() {
regexHelper = null;
}
// 기본 생성자를 private 형태로 정의하면 객체 생성자가 은닉 처리되어
// 외부에서 new 연산자를 사용한 객체할당이 금지된다.
private RegexHelper(){ }
// -- 싱글톤 객체 생성 끝
/*
* 주어진 문자열이 공백이거나 null인지 검사
* @param str - 검색할 문자열
* @return boolean - 공백, null이 아닐 경우 true 리턴
*/
public boolean isValue(String str) {
boolean result = false;
if( str != null ) {
result = !str.trim().equals("");
}
return result;
}
/*
* 숫자 모양에 대한 형식 검사
* @param str - 검사할 문자열
* @return boolean - 형식에 맞을 경우 true, 맞지 않을경우 false
*/
public boolean isNum( String str ) {
boolean result = false;
if( isValue(str) ) {
result = Pattern.matches("^[0-9]*$", str);
}
return result;
}
/*
* 영문으로만 구성되었는지에 대한 형식 검사
* @param str - 검사할 문자열
* @return boolean - 형식에 맞을 경우 true, 맞지 않을경우 false
*/
public boolean isEng( String str ) {
boolean result = false;
if( isValue(str) ) {
result = Pattern.matches("^[a-zA-Z]*$", str);
}
return result;
}
/*
* 한글로만 구성되었는지에 대한 형식 검사
* @param str - 검사할 문자열
* @return boolean - 형식에 맞을 경우 true, 맞지 않을경우 false
*/
public boolean isKor( String str ) {
boolean result = false;
if( isValue(str) ) {
result = Pattern.matches("^[ㄱ-ㅎ가-힣]*$", str);
}
return result;
}
/*
* 영문과 숫자로만 구성되었는지에 대한 형식 검사
* @param str - 검사할 문자열
* @return boolean - 형식에 맞을 경우 true, 맞지 않을경우 false
*/
public boolean isEngNum( String str ) {
boolean result = false;
if( isValue(str) ) {
result = Pattern.matches("^[a-zA-Z0-9]*$", str);
}
return result;
}
}