java에서 지금 시간을 원하는 형식(yyyy-MM-dd)로 출력하기 위한 코드입니다.

 

	private String getToday(){
			//데이트 객체 생성
		Date now = new Date();
		
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		
		return format.format(now).toString();
	}

 

'JAVA를 해보자' 카테고리의 다른 글

[java] controller에서 redirect 방법  (0) 2019.05.22
Java 시간계산 함수  (0) 2019.04.10
객체지향 vs 절차지향  (0) 2018.02.20
java_ 생성자  (0) 2018.01.08
enum_열거형  (0) 2018.01.08

객체지향 vs. 절차지향


객체지향

객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지 를 주고받고, 데이터를 처리할 수 있다.


절차 지향

절차 지향 프로그래밍은 때때로 명령형 프로그래밍과 동의어로 쓰이기도 하지만, 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임을 의미하기도 한다. 프로시저는 루 틴, 하위프로그램, 서브루틴, 메서드, 함수(수학적 함수와는 다르고 함수형 프로그래밍에 있 는 함수와는 비슷한 의미이다.)라고도 하는데, 간단히 말하여 수행되어야 할 연속적인 계산 과정을 포함하고 있다. 프로그램의 아무 위치에서나 프로시저를 호출될 수 있는데, 다른 프 로시저에서도 호출 가능하고 심지어는 자기 자신에서도 호출 가능하다.



'JAVA를 해보자' 카테고리의 다른 글

[java] controller에서 redirect 방법  (0) 2019.05.22
Java 시간계산 함수  (0) 2019.04.10
java_ 생성자  (0) 2018.01.08
enum_열거형  (0) 2018.01.08
java 변수 사용 범위 static  (0) 2018.01.04

생성자


모든 클래스는 인스턴스화 될때 생성자를 사용한다.


생성자의 특징

-생성자는 리턴타입이 없다.

-생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할때 자동으로 만들어짐

-매개변수가 없는 생성자를 기본생성자라고 한다.

-생성자를 프로그래머가 하나라도 만들었다면 기본생성자는 자동으로 만들어지지않는다.


생성자의 역할

-생성자가 하는 일: 객체가 될때 필드 초기화 역할

-자동차가 객체가 될때 반드시 이름을 가지도록 하려면 Car클래스를 다음과 같이 만들어야함


public class Car{

  String name;

  int number;


  public Car(String n){

    name = n;

  }

}

 


위 Car클래스를 이용하여 Car 인스턴스를 생성하는 법

 

public calss CarExam2{

  public static void main(String args[]) {


  Car c1 = new Car("소방차");

  Car c2 = new Car("경찰차");

  //car c3 = new Car(); // 컴파일러 오류가 발생


  System.out.println(c1.name);

  System.out.println(c2.name);

  }

}



Car class는 기본 생성자를 가지지 않는다. 그래서 기본생성자로 Car객체를 생성할 수 없다.



'JAVA를 해보자' 카테고리의 다른 글

Java 시간계산 함수  (0) 2019.04.10
객체지향 vs 절차지향  (0) 2018.02.20
enum_열거형  (0) 2018.01.08
java 변수 사용 범위 static  (0) 2018.01.04
java 자바 스트링 메소드 String class method  (0) 2018.01.03

자바는 열거타입을 이용하여 변수를 선언할때 변수 타입으로 사용할수있다.


열거형은 JDK5에서 추가되었다.

JDK5이전에는 상수를 열거형 대신 사용하였다.


상수를 이용하는 방법

public class EnumExam {

  public static final String MALE="MALE";

  public static final String MALE="FEMALE";


  public static void  main (String[] args {

    String gender1;

    

    gender1 = Enum.MAIL;

    gender1 = FEMALE;

  }

}

상수를 사용했을때 문제점

-String으로 선언된 gender1엔 MALE.FEMALE둘중 한가지 값을 갖기를 원하는데, gender1의 type 이 String 이기 때문에 gender1="소년";이렇게     수행해도 전혀 문제가 되지 않는다.

-실행할때 원했던 값이 MALE,FEMALE이 아닌 다른 값이 들어오게 되므로 문제를 발생시킬수있다.


해결방법

-이런 문제를 발생시키지 않게 하기 위해 열거형을 사용하면 된다.

-열거형의 정의방법

enum Gender{

  MALE,FEMALE;

  } 


열거형 사용방법

  Gender gender2;


  gender2 = Gender.MALE;

  gender2 = Gender.FEMALE;

  

  /Gender type의 변수에는 MALE 이나 FEMALE만 대입이 가능해진다.

   다른 값은 저장할수가없다. 


'JAVA를 해보자' 카테고리의 다른 글

객체지향 vs 절차지향  (0) 2018.02.20
java_ 생성자  (0) 2018.01.08
java 변수 사용 범위 static  (0) 2018.01.04
java 자바 스트링 메소드 String class method  (0) 2018.01.03
java 다양한 형태의 메서드  (0) 2018.01.02



String Class 메소드 

  • 문자열 길이 구하기
  • str.length() str이 참조하는 문자열의 길이를 구해서 int 타입으로 리턴해주는 메소드 

    System.out.println(str.length());  //str

  • 문자열 붙히기 (concat)
  • str.concat(world) 메소드는 str 이 참조하는 문자열 hello 에 메소드의 인자로 들어온 문자열 world  String 타입으로 리턴하는 메소드
  • String Class는 불변 클래스로, 메소드가 수행되면, 새로운 문자열을 만든다. 그러므로, 원래 클래스는 변하지 않는다.

    String str = new String("hello");

 

    System.out.println(str.concat(" world"));  //hello world

    System.out.println(str);  //hello

  • 문자열 자르기 (subString)
  • str.subString(1,3) str이 참조하는 문자열을 인덱스 1번부터 3번까지 자른 결과
  • str.subString(2) str이 참조하는 문자열을 2번 인덱스부터 마지막까지 자른 결과를 의미
  • 문자열의 인덱스는 0번 부터 시작

    System.out.println(str.substring(1, 3)); //el

    System.out.println(str.substring(2));   //llo world

 

'JAVA를 해보자' 카테고리의 다른 글

enum_열거형  (0) 2018.01.08
java 변수 사용 범위 static  (0) 2018.01.04
java 다양한 형태의 메서드  (0) 2018.01.02
java 필드(field) 선언  (0) 2017.12.31
java String class (스트링 클래스)  (0) 2017.12.31






참조형 타입은 기본형 타입을 제외한 모든 타입

배열도 참조형이고, 클래스도 모두 참조 타입


참조형 변수

String str = new String(hello);


str 변수 앞에 기본형 타입이 아닌 String클래스


이퀄(=)뒤에는 new 다음에 생성자라는 것이 있다.


new 라는 키워드는 클래스를 메모리에 올려준다.

 이렇게 메모리에 올라간 클래스를 인스턴스라고 말함



메모리에 올라간 인스턴스를 가리키는 변수==참조하는 변수==레퍼런스 하는 변수가 str 이다. 


참조한다. 레퍼런스 한다라는 것은 변수가 인스턴스를 가지고 있는게 아니라 말그대로 가리킨다는 의미


str이라는 변수에는 메모리의 위치 값이 저장되는 것이다. 

메모리의 위치값이 저장된다고 하더라도, 어떤 메모리에 저장되는지 그 정보를 알 수 있는 방법은 없다. 

그렇기 때문에 str변수는 String 인스턴스를 참조한다라고만 알아두자.

클래스들은 모두 참조형이다.

'JAVA를 해보자' 카테고리의 다른 글

java 필드(field) 선언  (0) 2017.12.31
java String class (스트링 클래스)  (0) 2017.12.31
java for each 반복문  (0) 2017.12.30
java for 반복문을 이용해서 배열 사용하기  (0) 2017.12.30
java 배열  (0) 2017.12.30

for each

for each에서는 배열의 항목 수만큼 실행부분을 반복하는데

반복이 이뤄질때마다 배열 항목을 순서대로 꺼내 변수에 자동대입해준다.


따로 반복 변수를 선언하거나 배열의 값을 가져오는 작업이 없어 편리하다.

대신 읽을수는 있지만 수정할수는 없다.



'JAVA를 해보자' 카테고리의 다른 글

java String class (스트링 클래스)  (0) 2017.12.31
java 참조형 타입  (0) 2017.12.31
java for 반복문을 이용해서 배열 사용하기  (0) 2017.12.30
java 배열  (0) 2017.12.30
java_for 반복문사용  (0) 2017.12.30


for 반복문을 이용해서 배열 사용하기

배열에 접근할때에는 인덱스를 통해서 접근한다.

    int[] iarray = new int[100];

    iarray[0] = 1; 

    iarray[1] = 2; 


배열에 0번째 인덱스 부터 시작해서 1부터 100까지 넣기


정수를100개 저장 할 수 있는 배열을 생성

    int [] iarray = new int[100];



배열의 길이를 알아내는 방법

    iarray.length 

    //배열을 참조하는 레퍼런스 변수.length 하면 해당 배열의 길이를 리턴한다. 



배열에 1부터 100까지 값넣기

    //배열에 값을 반복적으로 넣어야 하므로, for 반복문을 이용한다. 

    for(int i = 0; i < iarray.length; i++){ 

    //배열의 인덱스는 0부터 시작하므로, 0부터 배열의 길이보다 하나 작을때까지 반복하면 배열의 크기만큼 반복할 수 있다. 

            iarray[i] = i + 1;  

    //배열의 인덱스는 0부터인데 넣고 싶은 값은 1부터 사용해야하므로, 인덱스에 1을 더해준 값을 넣어준다. 

    }



배열에 저장된 값을 모두 더해주기

    int sum = 0; 

    //값을 누적하기위한 변수는 반복문 밖에서 선언한다. 


    for(int i = 0; i< iarray.length; i++){  

    // 배열의 크기만큼 반복한다.         


        sum = sum + iarray[i];

        //반복문 밖에서 선언한 변수에 반복적으로 값을 누적한다. 

    }


    System.out.println(sum);

    //배열에 들어있는 모든 값 누적한 변수를 출력한다. 

'JAVA를 해보자' 카테고리의 다른 글

java 참조형 타입  (0) 2017.12.31
java for each 반복문  (0) 2017.12.30
java 배열  (0) 2017.12.30
java_for 반복문사용  (0) 2017.12.30
산술연산자 / 대입연산자  (0) 2017.12.15



1차원 배열

배열은 같은 데이터 타입을 가진 연속된 메모리 공간으로 이우어진 자료구조

같은 데이터 타입을 가진 여러개의 변수가 필요할때 사용


배열 생성방법

정수를 4개 저장 할 수 있는 배열을 생성 하는 방법

int[ ] array1 = new int[4];


배열에 값을 저장하는 방법

    array1[0] = 1;

    array1[1] = 2;

    array1[2] = 3;

    array1[3] = 4;

    //자바에서 배열의 인덱스는 0번 부터 사용한다. 4개짜리 배열은 0부터 3까지의 인덱스를 가지게 된다.

    //배열인덱스 0번부터 3번까지 차례로 1,2,3,4 값을 저장한다. 


배열에 저장된 값을 꺼내서 사용하는 방법

    int value = array1[2]; 

    //array1 이 참조하는 배열의 2번 인덱스에 해당하는 값 3을 꺼내서 int형 변수 value에 담는다. 

    System.out.println(array1[1]); 

    //array1 이 참조하는 배열의 1번 인덱스에 해당하는 값 2가 콘솔에 출력된다. 


선언과 동시에 초기화하는 방법

    int[ ] array2 = new int[ ]{1,2,3,4,5};

    //int 값을 5개저장 할 수 있는 배열이며, 해당 배열에는 1,2,3,4,5가 순서대로 저장되게 된다.

'JAVA를 해보자' 카테고리의 다른 글

java for each 반복문  (0) 2017.12.30
java for 반복문을 이용해서 배열 사용하기  (0) 2017.12.30
java_for 반복문사용  (0) 2017.12.30
산술연산자 / 대입연산자  (0) 2017.12.15
바이트(byte)  (0) 2017.12.15

산술 연산자:

계산에 이용되는 +/-같은 것들을 연산자라고 한다.

 

수치계산에 사용되는 연산자

연산자

기능

사용 방법

의미

+

더하기

a=b+c

bc를 더한값을 a에 대입

-

빼기

a=b-c

b에서 c를 뺀값을 a에 대입

*

곱하기

a=b*c

bc를 곱한값을 a에 대입

/

나누기

a=b/c

b에서 c를 나눈값을 a에 대입

c0이면 오류

%

나머지

a=b%c

b나누기 c의 나머지를 a에 대입

c0이면 오류

=

대입

a=b

b값을 a에 대입

 

 

2+2 4입니다.

2-20입니다.

2*24입니다.

2/21입니다.

2/2의 나머지는 0입니다.

 

대입 연산자

변수에 값을 대입하는 ‘=‘연산자는 좌변은 변수 우변은 값으로 간주한다. 따라서 int형 변수 a 그자체의 값을 2증가시키고 싶을 때 다음과 같이 사용한다.

a값을 2 증가시킨다는 것을 아래와 같이 사용할수도 있다.

a += 2;

‘=’ ‘+=’를 대입연산자라고 한다.

연산자

기능

사용법

의미

+=

더한 값을 대입

a+=b

a+b의 값을 a에 대입

a=a+b와 동일

-=

뺀 값을 대입

a-=b

a-b값을 a에 대입

a=a-b와 동일

*=

곱한 값을 대입

a*=b

a*b값을 a에 대입

a=a*b와 동일

/=

나눈 값을 대입

a/=b

a/b값을 a에 대입

a=a/b와 동일

%=

나머지를 대입

a%=b

a%b값을 a에 대입

a=a%b와 동일

실행값

9010을 더하면 100입니다.

'JAVA를 해보자' 카테고리의 다른 글

java 배열  (0) 2017.12.30
java_for 반복문사용  (0) 2017.12.30
바이트(byte)  (0) 2017.12.15
비트(bit)  (0) 2017.12.15
논리연산자(Logical Operator)  (0) 2017.12.15

+ Recent posts