본문 바로가기

Java/☞28

[28] 객체 : Calendar 캘린더 Calendar ㄴ Singleton Pattern으로 설계된 클래스 (객체를 만들어서 사용불가) ㄴ .getInstance() : 클래스 내부에서 선언된 자신의 클래스 객체를 얻어옴 package test; import java.text.SimpleDateFormat; import java.util.Calendar; public class Ex00 { public static void main(String[] args) { Calendar cd = Calendar.getInstance(); long time = cd.getTimeInMillis(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 E요일 hh시 mm분 ss초"); Syst.. 2020. 9. 18.
[27] 객체 : Date package test; import java.text.SimpleDateFormat; import java.util.Date; public class Ex00 { public static void main(String[] args) { Date date = new Date(); System.out.println(date);// Fri Sep 18 20:43:22 KST 2020 System.out.println(date.getHours());// 20 System.out.println(date.getMinutes());// 43 System.out.println(date.getSeconds());// 58 SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월.. 2020. 9. 18.
[26] 래퍼 클래스 래퍼 클래스 Wrapper Class ㄴ 기본 자료형을 클래스로 만들어 놓은 것 package test; public class Ex00 { public static void main(String[] args) { Integer num = new Integer(10);// heap 영역에 Integer객체 생성 System.out.println(num); // 10 Integer num1 = 10; // 자동 박싱 int num2 = 10;// 자동 언박싱 String data1 = "10"; int i = Integer.parseInt(data1); System.out.println("data1의 int값 변환 : " + i);// 10 System.out.println(num.parseInt(data.. 2020. 9. 18.
[25] 은닉성 - get set 메서드 Private 변수 package test; class Time{ private int hour; private int minute; private int second; public Time(int h, int m, int s) { setHour(h); setMinute(m); setSecond(s); } public int getHour() { return hour; } public void setHour(int hour) { if(hour 23) return; // 예외처리 this.hour = hour; } public int getMinute() { return minute; } public void setMinute(int minute) { if(minute < 0 ||.. 2020. 9. 18.
[24] 메서드와 생성자 메서드 . 리턴타입 O . 메서드 이름 자유롭게 생성 . 아무때나 호출(=사용) . 메서드 오버로딩 생성자 . 리턴타입 X . 생성자 명 = 클래스 . new 할 때 딱 한번 호출 . 생성자 오버로딩 package day00; class Rabbit { String name; Rabbit(){ System.out.println("토끼 불렀어?"); } Rabbit(String name){ this.name = name; } void say() { System.out.println(name + "이 깡총깡총"); } } public class Ex02 { public static void main(String[] args) { // 생성자 메서드 : 클래스가 생성될 때 호출되는 자 Rabbit r = ne.. 2020. 9. 17.
[23] member 전역변수와 Static & Instance Member Variable 멤버(전역)변수 (instance) ㄴ 선언 위치 : 클래스 ㄴ heap 메모리에 생성 (개별 공간) Static Variable 정적 멤버(전역)변수 ㄴ 선언 위치 : 클래스 ㄴ static 메모리에 생성 (공용 공간) . 선언 변수 선언 시, 자료형 앞에 static을 붙임 *클래스 영역에서 선언하는 변수는 자동으로 값이 초기화 된다. ㄴ 프로그램이 종료될 때, 해제 package test; class myClass{ static int x; int y; } public class Ex06 { public static void main(String[] args) { myClass.x = 10; myClass mc = new myClass(); System.out.print.. 2020. 9. 17.
[22] 메서드 오버로딩 메서드 오버로딩 overloading ㄴ 매개변수의 유형과 개수가 다르게 하여, 같은 이름의 메서드를 여러개 가질 수 있게함. package test; class Calculator{ int cal(int a) { int result = a; return result; } int cal(int a, int b) { int result = a + b; return result; } int cal(int a, int b, int c) { int result = a + b + c; return result; } int cal(int a, int b, int c, int d) { int result = a +b + c + d; return result; } } public class Ex05 { public s.. 2020. 9. 17.
[21] 메서드 함수 method ㄴ 미리 구현한 기능 (반복되는 코드를 재활용) . 구조 자료형 함수명( parameter ){ 실행문; return; } *숨겨진 변수 this : 메소드의 주소를 저장하고 있음 ① void func1(){ 실행문1; } ② void func2(int P){ 실행문2; } ③ int func3(){ 실행문3; return 10; } ④ int func4(int P){ 실행문4; return P; } . 선언 클래스 안에서 선언 . 호출 함수명( argument ); *메소드를 호출하면, Stack 메모리에 쌓임 *main메소드가 가장 먼저 쌓여 쌓임 package test; class Member{ int num; int age; String name; void print() { Sy.. 2020. 9. 17.
[20] 클래스 기본 클래스 Class ㄴ 설계도 . 구성 키워드 클래스명 { 변수와 메서드 } . 사용 자료형 변수명 = new 자료형(); . 특성 클래스를 사용자 정의 자료형으로 사용 같은 패키지 안의 다른 클래스에서도 사용 가능 package test; // 클래스 class Member{ int num; int age; String name; } public class Ex04 { public static void main(String[] args) { Member mb = new Member(); mb.num = 1004; mb.age = 20; mb.name = "홍희동"; System.out.println(mb); // test.Member@6f539caf System.out.println(mb.num); Sy.. 2020. 9. 17.
[19] 파일 저장/로드 파일저장 FileWriter package test; import java.io.FileWriter; import java.io.IOException; public class Ex02 { public static void main(String[] args) { FileWriter fw = null; try { fw = new FileWriter("test.txt"); fw.write("Do not go gentle into that good night"); } catch (Exception e) { e.printStackTrace(); } finally { if(fw != null) { try { fw.close(); } catch (IOException e) {}} } } } * 프로젝트 파일 선택 후.. 2020. 9. 17.
[18] 문자열 문자열 String ㄴ 문자의 배열 ㄴ index 존재 ㄴ .length() 함수 사용가능 입력받기 공백 기준 단어입력 .next() 문장 라인 전체입력 .nextLine() 비교 (논리형 반환) A.equals(B) ㄴ true : 일치 ㄴ false : 불일치 순서비교 (정수형 반환) A.compareTo(B) ㄴ 0 : 일치 ㄴ - : 사전적으로 A가 앞 ㄴ +: 사전적으로 B가 앞 인덱싱 (문자 한개 추출) .charAt(index) 슬라이싱 (문자 여러개 추출) .substring(index) ㄴ index~끝까지 .substring(start, end) ㄴ endIdx 미포함 스플릿 (구분자로 잘라내기) .split(구분자) 형변환 문자 -> 숫자 (int) Integer.parseInt(st.. 2020. 9. 17.
[17] 다차원 배열 다차원 배열 multiarray . 선언 자료형키워드 변수명[][]; . 초기화 = new 자료형키워드[개수][개수]; . 사용 변수명[index1][index2] = 값; 2020. 9. 17.
[16] 배열 기본 배열 array 같은 종류의 데이터 값을 여러개 저장하기 위한 기술 . 선언과 초기화 자료형키워드 변수명[] = new 자료형[개수]; 자료형키워드[] 변수명 = new 자료형[개수]; 자료형키워드[] 변수명 = {데이터1, 데이터2, 데이터3}; . 인덱스 index 배열에는 0부터 시작하는 방번호(index)가 부여됨 . 사용 변수명[index] = 값; . 주소 int arr[] = {10,20,30} System.out.println(arr); // [I@65b3120a * new ㄴ heap 메모리에 생성 2020. 9. 17.
[15] 보조제어문 : continue, break 2020. 9. 12.
[14] 반복문 : for 반복문 : for 문 구조 키워드 ( 조건문 ) { 실행문 } ㄴ 조건문 : (초기식; 조건식; 증감식) package Day00; public class Ex01 { public static void main(String[] args) { for(int i=0; i 2020. 9. 12.
[13] 반복문 : while while문 키워드(조건식){ 실행문1 실행문2 실행문3 } * ( )소괄호 안의 조건식이 참(true)일 때, if문 { }중괄호 안의 내용이 실행됨 반복문의 종료조건 1. 초기식 2. 조건식 3. 증감식 package day00; public class Ex01 { public static void main(String[] args) { int n = 0; while(n >"); n += 1; } } } do-while do { 실행문1; 실행문2; 실행문3; } while(조건식); package Day00; public class Ex01 { public static void main(String[] args) { int n = 0;// 초기.. 2020. 9. 8.
[12] 조건문 : switch-case switch-case문 키워드(key){ case value1 : 실행문1 case value2 : 실행문2 case value3 : 실행문3 } * case 값과 key가 일치하는 경우 이하의 모든 케이스 실행문이 실행됨. ㄴ 일치하는 case의 실행문만 실행하기를 원하는 경우, break으로 제어 package day00; public class Ex01 { public static void main(String[] args) { int num = 9; switch (num) { case 12: case 1: case 2: System.out.println("겨울입니다."); break; case 3: case 4: case 5: System.out.println("봄입니다."); break; cas.. 2020. 9. 8.
[11] 조건문 : if if문의 구조 키워드(조건식){ 실행문1 실행문2 실행문3 } * ( )소괄호 안의 조건식이 참(true)일 때, if문 { }중괄호 안의 내용이 실행됨 if 조건문 기본 else if 조건문이 여러개 필요할 때 사용 (순차적인 조건 대입), 참(True)이 나오면 나머지 무시 else 앞선 조건문에 모두 해당하지 않을 경우 package day00; public class Ex01 { public static void main(String[] args) { int num = 10; if(true) { System.out.println("실행"); } if(false) { System.out.println("실행X"); } int score = 27; if(score>=60) { System.out.pr.. 2020. 9. 8.
[10] 제어문 제어문 1) 조건문 ㄴ if-esle ㄴ switch-case 2) 반복문 ㄴ while, do-while ㄴ for 3) 보조제어문 ㄴ break ㄴ continue 2020. 9. 8.
[09] 연산자 : 논리연산자 논리연산자 1) and && 모두 참 2) or || 한개 이상 참 3) not ! 논리형을 뒤집음 !true = false package day00; public class Ex01 { public static void main(String[] args) { System.out.println(10 == 10 && 3==3); System.out.println(10 != 10 && 3==3); System.out.println(10 == 10 && 3!=3); System.out.println(10 != 10 && 3!=3); System.out.println(); System.out.println(10 == 10 || 3==3); System.out.println(10 != 10 || 3==3); Sy.. 2020. 9. 8.
[08] 연산자 : 비교연산자 비교연산자 . 비교연산의 결과는 논리형이다. (true or false) 1) 크다 3) == 같다 4) != 같지않다 5) = 크거나 같다 package day00; public class Ex03 { public static void main(String[] args) { // 아래 식의 실행결과를 모두 true로 변경해보세요! System.out.println(10 > 3); System.out.println(10 = 3); System.out.println(10 3); System.out.println(10 > 3); System.out.pri.. 2020. 9. 8.
[07] 연산자 : 대입연산자 대입연산자 = . 대입연산자는 제일 마지막에 실행된다. . 변수는 오직 대입 연산자를 통해서만 값이 변경된다. * 대입될 대상은 연산자 기준 왼쪽 package day02; /* * 3. 대입 연산자 : = * 1) 대입 연산자는 제일 마지막에 실행된다. * 2) 변수는 오직 대입 연산자를 통해서만이 값이 변경된다. * */ public class OpEx04 { public static void main(String[] args) { int num = 10; System.out.println(num+1); System.out.println(num); num = num+1; System.out.println(num); num = num+1; System.out.println(num); num = num+.. 2020. 9. 8.
[06] 연산자 : 산술연산자 산술연산자 1) 더하기 + 2) 빼기 - 3) 곱하기 * 4) 나누기 / 5) 나머지 % package day00; public class OpEx01 { public static void main(String[] args) { System.out.println(10 + 3); System.out.println(10 - 3); System.out.println(10 * 3); // 정수 / 정수 = 정수 // 정수 / 실수 = 실수 // 실수 / 정수 = 실수 System.out.println(10 / 3); System.out.println(10 / 3.0); System.out.println(10 % 3); } } 2020. 9. 8.
[05] 연산자 연산자 (Operator) 1) 산술연산자 2) 대입연산자 3) 비교연산자 4) 논리연산자 2020. 9. 8.
[04] 입력 java.util.Scanner ㄴ 단축) scanner + ctrl + space ㄴ 설명) Sanner 클래스를 import 해서, 내장 메소드를 사용함 ㄴ Scanner scan = new Scanner(System.in); ㄴ scan.메소드명(); .닷 은 chain(연결)의 의미 1) 정수입력 .nextInt() 2) 실수입력 .nextDouble() 3) 문자/열입력 .next() 4) 논리형입력 .nextBoolean() package day00; import java.util.Scanner; /* * # 데이터 입력 받기 * 1. import java.util.Scanner; * 2. Scanner scan = new Scanner(System.in); * 3. 안내문 작성 * Syste.. 2020. 9. 8.
[03] 변수 변수 (Variable) . 변수는 한 개 값만 저장가능 . 변수선언은 한번만 가능 (중복선언불가) . 예약어(keyword)를 변수 이름으로 사용할 수 없음 (public class static void...) . 숫자로 시작되는 변수명 사용불가, 7a(x), a7(o) . 대소문자를 구분 . 변수명에 허용되는 특수문자 : $ _ . 선언 : 메모리 할당 ㄴ 자료형키워드 변수명; 1) 정수 int num; 2) 실수 double pi; 3) 문자 char a; 4) 문자열 String title; 5) 논리형 boolean check; . 초기화 : 값 저장 num = 10; pi = 3.14; a = 'A'; title = "java"; check = true; 변수명 규칙 . 카멜(Carmel) 표.. 2020. 9. 8.
[02] 자료형 1. 정수 2. 실수 3. 문자 : ' '홑따옴표 안에 문자 한 개 작성 4. 문자열 : " "쌍따옴표 안에 문자 여러개 작성 5. 논리형 : true or false package day00; public class Ex01 { public static void main(String[] args) { // 1. 숫자(정수) // sysout + Ctrl + Space System.out.println(10); // 2. 숫자(실수) System.out.println(3.14); // 3. 문자 한 개 : 홑따옴표 System.out.println('B'); // 4. 문자 여러개 : 쌍따옴표 System.out.println("Java"); // 5. 논리형(참과거짓) System.out.println.. 2020. 9. 8.
[01] 출력 System.out.print() ㄴ ( ) 소괄호 안에 출력할 내용을 입력 ㄴ 단축) sysout + ctrl + space ㄴ 종류) print(), println(), printf() . 파일작성 기본구조 //패키지명은 화면 제일 첫 줄에 작성 package day00; public class Ex01 { // 클래스 영역 public static void main(String[] args) { // main 메서드(method) 영역 // 코드는 이 안에 작성 // 문장의 마침표는 세미콜론(;) // 출력문 System.out.print() System.out.println("hello java"); // 저장 ctrl + S // 실행 ctrl + F11 } } escape sequence (이.. 2020. 9. 8.