System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);

이게 기본임을 알려주는거(지금은 다른데, 원래 형태를 보여주는거)
Integer in = new Integer(10);
//디프리캐이티드됭있는 메소드 사용하면 이렇게 표시됨. 안쓰는게맞음
test(in);
public static void test(Object obj) {
5.0이전
Integer in = (Integer)obj;//obj사용하기 위해 Integer타입으로 캐스팅
int myval = in.intValue();
System.out.println("5.0이전버전 : "+myval);
출력 :
5.0이전버전 : 10
int i =10;
test(i);
public static void test(Object obj) {
int myval2 = (int)obj;
System.out.println("5.0이후버전 : "+myval2);
}
출력 :
5.0이후버전 : 10
package api.util;
import java.util.StringTokenizer;
public class StringTokenizerTest {
public static void main(String[] args) {
String str = "java,mysql,oracle,html,css,javascript,jQuery";
StringTokenizer st = new StringTokenizer(str,",");
//내부저장소에 <,로 분리된 문자열(token)> 저장
while(st.hasMoreTokens()) {//내부저장소에 토큰이 있으면
String token = st.nextToken();//내부저장소의 토큰을 꺼내라
System.out.println("토큰:"+token);
}
}
}

package api.util;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CalendarTest {
public static void main(String[] args) {
Calendar cal = new GregorianCalendar();
Calendar cal2 = new GregorianCalendar();
System.out.println(cal);
Date d = new Date(); //util말고 sql에도 있음. 데베랑 연동할땐 그거사용
System.out.println(d);
System.out.println("====================Calendar객체의 사용법=======================");
System.out.print(cal.get(Calendar.YEAR)+"년 ");
System.out.print((cal.get(Calendar.MONTH)+1)+"월 ");
System.out.print(cal.get(Calendar.DATE)+"일 ");
System.out.print(cal.get(Calendar.HOUR)+"시 ");
System.out.print(cal.get(Calendar.MINUTE)+"분 ");
System.out.println(cal.get(Calendar.SECOND)+"초 ");
cal2.set(2013,8,1);
System.out.println(cal2);
}
}
출력:
java.util.GregorianCalendar[time=1711633472720,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2024,MONTH=2,WEEK_OF_YEAR=13,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,DAY_OF_YEAR=88,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=44,SECOND=32,MILLISECOND=720,ZONE_OFFSET=32400000,DST_OFFSET=0]
Thu Mar 28 22:44:32 KST 2024
====================Calendar객체의 사용법=======================
2024년 3월 28일 10시 44분 32초
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2013,MONTH=8,WEEK_OF_YEAR=13,WEEK_OF_MONTH=5,DAY_OF_MONTH=1,DAY_OF_YEAR=88,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=44,SECOND=32,MILLISECOND=720,ZONE_OFFSET=32400000,DST_OFFSET=0]
package api.util;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CalendarTest {
public static void main(String[] args) {
Calendar today = new GregorianCalendar();
Calendar dday = new GregorianCalendar();
//1970년 1/1 자정 (0:0:0)UTC
dday.set(2024,5,18);
long time = dday.getTimeInMillis() - today.getTimeInMillis();
System.out.println(time/1000/60/60/24);
}
}
출력 :
82
p534-535 연습하기
package api.util;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class CalendarTest2 {
public static void main(String[] args) {
Calendar cal = new GregorianCalendar();
System.out.println(Calendar.DAY_OF_YEAR);
//상수라서 변수가 대문자
//Calendar.DAY_OF_YEAR 상수에 설정된 값(세팅 값이 6, 내부에서 사용되는값)
System.out.println(Calendar.DAY_OF_WEEK);
//7 출력
System.out.println(Calendar.DAY_OF_MONTH);
//5 출력
//2024년 1월 1일부터 경과한 day
System.out.println(cal.get(Calendar.DAY_OF_YEAR));
//오늘날짜를 기준으로 DAY_OF_YEAR를 적용한 값, 캘린더 객체에 생성된 걸 가져오는것
//88 출력
System.out.println(Calendar.AM);//0출력
System.out.println(Calendar.PM);//1출력
//현재시간을 기준으로 오전?오후? - 0이나 1을 반환
System.out.println(cal.get(Calendar.AM_PM));
// 오전이냐 오후냐에 따라 0또는 1출력
if(cal.get(Calendar.AM_PM)==Calendar.AM) {
System.out.println("오전");
}else {
System.out.println("오후");
}
System.out.println(Calendar.SATURDAY);
//일요일1,월요일2,..~토요일7
System.out.println(Calendar.SUNDAY);
//1
}
}
Calendar today = new GregorianCalendar();
Calendar dday = new GregorianCalendar();
dday.set(Calendar.YEAR, 2024);
dday.set(Calendar.MONTH, Calendar.JUNE);
dday.set(Calendar.DAY_OF_MONTH, 18);
//dday 계산
int day = dday.get(Calendar.DAY_OF_YEAR) - today.get(Calendar.DAY_OF_YEAR);
System.out.println(day);
출력:
82
package api.util;
public class PrintfTest {
public static void main(String[] args) {
String str ="java programming";
String str2 ="재밌다.";
System.out.printf("%s, %s %n",str,str2);
System.out.printf("[%20s]%n",str,str2);
//[%20s] : 너비 20자로 공강을 두고 출력, 대괄호 안두고 작업해도됨
System.out.printf("%d %n",1000);
System.out.printf("값=> (%d, %d) %n",1000,2000);
System.out.printf("값=> (%f) %n",1000.1234);
System.out.printf("값=> (%5.2f) %n",1000.1234);
//5.2는 전체 자리를 5로하고 소수점은 2자리까지
//5가 넘어가며 너비지정값보다 커지므로 그냥 무시하고 사이즈만큼 출력
System.out.printf("값=> (%10.2f) %n",1000.1234);
System.out.printf("값=> (%5.2f) %n",567898.1234);
System.out.printf("값=> (%5.2f) %n",5.1234);
//5자리에서 남으니 앞에 스페이스로 1자리확보, 자리엔 .도포함
}
}

public class FormatTest {
public static void main(String[] args) {
Calendar cal = new GregorianCalendar();
// 날짜출력
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일");
//이런포맷으로 작업을 하겠다는 말
//날짜객체에 SimpleDateFormat에 정의한 패턴을 적용
//SimpleDateFormat의 format매소드를 적용해서 패턴에 맞게 출력되도록 처리
String data = sdf.format(cal.getTime());
System.out.println("format을 적용한 날짜데이터=>"+data);
}
}
format을 적용한 날짜데이터=>2024년 03월 28일
public class FormatTest {
public static void main(String[] args) {
//숫자출력
DecimalFormat df = new DecimalFormat("#,###");
System.out.println(df.format(123456789));
DecimalFormat df2 = new DecimalFormat("#,###.##");
System.out.println(df2.format(123456789.12345));
//소숫점은 반올림
}
}
123,456,789
123,456,789.12
public class FormatTest {
public static void main(String[] args) {
//숫자모양을 하고있는 문자열에 포맷적용하기
String decimaldata = "123456.785";
System.out.println(Double.parseDouble(decimaldata));
try {
double num = (double)df2.parse(decimaldata);
System.out.println(df2.format(num));
System.out.println("parseDouble이용=>"+df2.format(Double.parseDouble(decimaldata)));
}catch (ParseException e) {
e.printStackTrace();
}
}
}
123456.785
123,456.79
parseDouble이용=>123,456.79
package api.util;
import java.time.LocalDateTime;
//LocalDate, LocalDateTime, LocalTime =>8버전에서 추가
public class LocalDateTimeTest {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
System.out.println(now);
LocalDateTime date1 = LocalDateTime.of(2024, 3, 28, 13, 20, 10);
System.out.println(date1);
LocalDateTime date2 = date1.plusYears(1).plusMonths(2).plusHours(2);
System.out.println(date2);
}
}
출력:
2024-03-28T23:45:38.080700200
2024-03-28T13:20:10
2025-05-28T15:20:10
package api.util;
import java.util.Calendar;
import java.util.Locale;
public class LocaleTest {
public static void main(String[] args) {
// java플랫폼에서 사용할 수 있는 로케일 정보 구하기
// 나라별 언어정보 싹 뜸.
// Locale[] locales = Locale.getAvailableLocales();
// for(Locale data:locales) {
// System.out.println(data);
// }
// Locale.Builder builder = new Locale.Builder();
// builder = builder.setLanguage("en");
// builder = builder.setRegion("US");
// Locale local2 = builder.build();
// 위를 아래로 표현하는거!!
Locale locale1 = new Locale.Builder()
.setLanguage("en")
.setRegion("US")
.build();
Locale locale2 = new Locale.Builder()
.setLanguage("ko")
.setRegion("KR")
.build();
//언어와 국가 설정 내용을 기본 설정된 로케일에 맞춰 출력하기
System.out.println(locale1.getDisplayName());
System.out.println(locale1.getDisplayName(Locale.CHINESE));
//중국어로 쓰기
System.out.println(locale1.getCountry());
------------------------------------------
System.out.println();
Calendar cal1 = Calendar.getInstance(locale1);
getInfo(cal1);
//Locale을 US로 설정 - TimeZone확인
//Calendar에 Locale을 설정해도 Calendar객체를 만들때 설정된 타임존 정보를 갖고 있으므로 별도로 설정해주는 작업을 해야한다. 그래서 한국시간으로 뜨는듯
System.out.println(cal1.getTimeZone());
}
public static void getInfo(Calendar cal) {
System.out.print(cal.get(Calendar.YEAR)+"년 ");
System.out.print((cal.get(Calendar.MONTH)+1)+"월 ");
System.out.print(cal.get(Calendar.DATE)+"일 ");
System.out.print(cal.get(Calendar.HOUR_OF_DAY)+"시 ");
System.out.print(cal.get(Calendar.MINUTE)+"분 ");
System.out.println(cal.get(Calendar.SECOND)+"초 ");
}
}
출력 :
영어 (미국)
英语 (美国)
US
2024년 3월 29일 0시 2분 17초
sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null]
public class TimeZoneTest {
public static void main(String[] args) {
Calendar cal1 = new GregorianCalendar();
//TimeZone정보출력
String[] idInfo = TimeZone.getAvailableIDs();
// 관련자료 주르르륵뜸
// for(String data:idInfo) {
// System.out.println(data);
// }
TimeZone timezone = TimeZone.getTimeZone("America/Los_Angeles");
Calendar cal2 = Calendar.getInstance(timezone);
getInfo(cal2);
TimeZone timezone2 = TimeZone.getTimeZone("Australia/Sydney");
Calendar cal3 = Calendar.getInstance(timezone2);
getInfo(cal3);
}
public static void getInfo(Calendar cal) {
System.out.print(cal.get(Calendar.YEAR)+"년 ");
System.out.print((cal.get(Calendar.MONTH)+1)+"월 ");
System.out.print(cal.get(Calendar.DATE)+"일 ");
System.out.print(cal.get(Calendar.HOUR_OF_DAY)+"시 ");
System.out.print(cal.get(Calendar.MINUTE)+"분 ");
System.out.println(cal.get(Calendar.SECOND)+"초 ");
}
}
출력:
2024년 3월 28일 8시 5분 52초
2024년 3월 29일 2시 5분 52초
package api.util;
import java.util.Vector;
public class VectorTest {
public static void main(String[] args) {
//1.Vector생성
Vector<Integer> v1 = new Vector<Integer>();
//int[] arr = new int[10] 와 같음
//2.벡터에 데이터 저장하기
v1.add(10);//arr[0]=10
//3.Vector에 저장된 요소의 갯수
System.out.println("현재 벡터에 저장된 요소의 갯수=>"+v1.size());//arr.length
System.out.println("현재 벡터의 용량=>"+v1.capacity());
for(int i =1;i<=10;i++) {
v1.add(i);
}
//용량10인데 자리 부족하네? 용량 2배증가
System.out.println("현재 벡터에 저장된 요소의 갯수=>"+v1.size());//arr.length
System.out.println("현재 벡터의 용량=>"+v1.capacity());
//4.Vector에 저장된 요소를 꺼내기 - 요소번호는 0번
System.out.println("1번 요소에 저장된 값=>"+v1.get(1));//sysout(arr[1])
//5.Vector에 저장된 모든 요소를 꺼내기
for(int i=0;i<v1.size();i++) {
int data = v1.get(i);
System.out.println(i+"번째 요소=>"+data);
}
//향상된 for문
System.out.println("=================");
for(int data:v1) {
System.out.println(data);
}
}
}

public class VectorExam {
public static void main(String[] args) {
Vector<Integer> exam = new Vector<Integer>();
exam.add(78);
exam.add(99);
exam.add(100);
exam.add(95);
exam.add(100);
int sum=0;
int size = exam.size();
for(int i=0;i<size;i++) {
sum = sum+exam.get(i);
}
//향상된for문
for(int j:exam) {
sum=sum+j;
}
System.out.println("총점 : "+sum);
System.out.println("평균 : "+sum/size);
}
}
출력:
총점 : 472
평균 : 94
public class ArrayListTest01 {
public static void main(String[] args) {
ArrayList<Integer> v1 = new ArrayList<Integer>();//int[] arr = new int[10]
v1.add(10);//arr[0]=10
System.out.println("현재 ArrayList에 저장된 요소의 갯수=>"+v1.size());//arr.length
for(int i =1;i<=10;i++) {
v1.add(i);
}
System.out.println("현재 ArrayList에 저장된 요소의 갯수=>"+v1.size());//arr.length
System.out.println("1번 요소에 저장된 값=>"+v1.get(1));//sysout(arr[1])
for(int i=0;i<v1.size();i++) {
int data = v1.get(i);
System.out.println(i+"번째 요소=>"+data);
}
System.out.println("=================");
for(int data:v1) {
System.out.println(data);
}
}
}

public static void display(List<String> list2) {
System.out.println("====================");
for(String data:list2) {
System.out.println(data);
}
}
public class ArrayListTest02 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("java");
list.add("oracle");
list.add("servlet");
list.add("jsp");
list.add("spring");
display(list);

//set은 수정(업데이트), 4번요소의 값을 수정~!
list.set(4, "spring & spring boot");
display(list);
System.out.println("사이즈=>"+list.size());

//add는 마지막에 요소추가
list.add("spring & spring boot");
display(list);
System.out.println("사이즈=>"+list.size());

//지우기
//여러개가 있으면 첫번째 요소를 찾아서 제거
list.remove(1);
display(list);
list.remove("spring & spring boot");
//저장된 객체를 지정해서 삭제, 중복중 첫번째것이 지워짐
display(list);

//이게 포함되냐
System.out.println(list.contains("java"));
//이게 비어있냐
System.out.println(list.isEmpty());
출력:
true
false
List<String> list2 = new ArrayList<>();
//list가 상위타입이라 이렇게 가능
list2.add("Mybatis");
list2.add("JPA");
list2.add("MongoDB");
display(list2);
list2.addAll(list);
display(list2);
}
}

public class ArrayListExam01 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random rand = new Random();
//랜덤수를 저장하는 for
for(int i=0;i<6;i++) {
list.add(rand.nextInt(50)+1);
}
//ArrayList에 저장된 데이터를 꺼내는 for
for(int data:list) {
if(data%2==0) {
System.out.print(data+"(짝수),");
}else {
System.out.print(data+"(홀수),");
}
}
}
}
출력 :
39(홀수),17(홀수),8(짝수),16(짝수),40(짝수),43(홀수),
public class ArrayListExam02 {
public static void main(String[] args) {
String[] strArr = {"java","servlet","jsp","spring"};
//2. changeArrayList메소드를 호출
ArrayList<String> clist = changeArrayList(strArr);
//3. 메소드 호출결과 출력
for(String data:clist) {
System.out.println(data);
}
}
//배열을 어레이리스트로 변환해서 리턴하는 메소드를 정의
//1. changeArrayList메소드를 정의
public static ArrayList<String> changeArrayList(String[] strArr) {
ArrayList<String> clist = new ArrayList<>();
int size = strArr.length;
for(int i=0;i<size;i++) {
clist.add(strArr[i]);
}
//또는
for(String data:strArr) {
clist.add(data);
}
return clist;
}
}
출력:
java
servlet
jsp
spring
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.