[JAVA] String 클래스 substring 메소드 정리

String 클래스 substring 메소드 정리 String 클래스에 포함된 메소드중 substring에 대하여 포스팅 하겠습니다.해당 메소드는 문자열에서 원하는 부분을 추출 하고자 할때 사용합니다. substring 메소드의 기본 구조는 아래와 같습니다.찾을문자열.substring(찾을문자열의 시작번호, 읽어들일 문자열 갯수) Ex)String str = "ABCDE";String substr = str.substring(1,2);System.out.println("substring: "+substr); 결과substring: BC 아래의 예제는 입력받은 문자열을 한글자씩 회전시켜 출력하는 프로그램입니다.참고하여 작성해보면 훨신 이해가 빠를 것 입니다.

JAVA GUI객체 스윙 (예제 이용)

현재 자바에서 사용할수잇는 GUI 객체는 AWT와 스윙이다.간다하게 설명하자면.AWT는 윈도우 시스템에서 실행된다면 윈도우에서 제공하는 컴포넌트를 사용하게 된다.이 때문에 실행되는 환경에 따라 컴포넌트의 모습이 달라져 일관된 화면을 제공하기 힘들고자바 초기 버전에 제공되던 것이다. 스윙은 자바에서 컴포넌트가 작성되기에 일관된 화면을 보여주며, 현재는 스윙사용을 권장하고 있다. 일단아래의 코드를 실행 하여 간단하게 알바보자. import javax.swing.*;import java.awt.*; public class godja { // 메인 클래스public static void main(String[] args) { // 메인 메소드// TODO Auto-generated method stubMyFra..

JAVA 배열에 들어 있는 데이터 정렬하기

자바에서는 기본으로 제공되는 Arrays 라는 클래스내의 sort()메소드를 이용하여 배열을 정렬할 수 있다.단, sort메소드는 대상 객체가 기본 제공되는 Comparable 인터페이스를 구현하고 있는 경우에만 정렬 서비스를 제공 한다. 이Arrays 클래스를이용하여 배열을 정렬하여보자. 학생을 나타내는 Student 클래스를 작성하고 학생들의 평균 평점을 기준으로 정렬하는 코드를 작성하여 보자. public class Test {public static void main(String[] args) { // 메인 클래스내의 메인 메소드Student[] students = new Student[3];students[0] = new Student("홍길동",3.39);students[1] = new Stu..

JAVA 다형성 - 인터페이스와 추상클래스

자바에서는 다형성이 필수라면 필수일것이다.그러므로 다형성에 대해 확실히 알아두고 제대로 사용할줄 알아야 한다. 다형성(Polymorphism)의 성립 조건- 클래스 계층구조(상속관계)- 메소드 재정의, 동적 바인딩- 업케스팅 후 재정의 된 메소드 호출 위의 세가지 조건을 만족해야지 다형성이 성립 되었다고 할 수 있다. 추상클래스란? (abstract class) 일단 일반 적인 클래스는 세부적이며 아주 구체적이다. ex) 사자, 독수리, 금붕어 등 반면에 추상 클래스는 일반 클래스에 비해 구체적이지 않으며 약간 추상적이다.ex) 포유류, 조류, 어류 등 추상클래스는 반드시 하나이상의 추상메소드를 가지며, 객체를 생성할 수 없다.하지만 슈퍼클래스로 사용할 수는 있으며, 추상메소드를 사용하기 위해서는 반드시..

JAVA 배열(Arrays)의 활용과 팁(tip)

배열(Arrays)이란? - 바로가기 배열을 사용할때 사용자가 0이아닌 임의의 수로 초기화를 하고 싶을 때는 어떻게 하여야 할까?0을로 초기화를 하기 위해서는 그냥 객체를 생성해주면 자동으로 0으로 초기화가 이루어진다.하지만 사용자가 원하는 수로 초기화 하는 방법에는 약간의 차이가 있다 일반적인 배열의 선언과 객체생성 그리고 0으로 초기화int[] num = new int[10]; 사용자가 원하는 수로 초기화int[] num = new int[] {10,20,30,40,50,60};이렇게 작성할 수 있다.배열의 갯수를 적지않는 이유는 주어진 초기값의 갯수만큼 자동으로 배열을 생성해주기 때문이다. 한가지 팁이라면 저 문장에서 굳이 new를 사용하여 생성을 하지 않아도 된다. 모든것이 자동으로 생성이 된다...

JAVA 배열(Arrays)이란?

배열은 같은 타입의 변수들의 모임이며 배열은 하나의 이름을 공유한다.자바에서는 C언어와는 달리 배열은 하나의 객체이다. 따라서 객체들을 생성하고 선언하는 것과 유사한 절차를 거처야 한다.즉 먼저 참조변수를 선언하고 이어서 객체를 생성하여야 한다.- c언어 - 정적 배열- JAVA - 동적 배열c언어 배열 - 바로가기JAVA 객체 - 바로가기 그럼 배열을 사용하는 이유는 무엇일까?만약에 100명 학생의 점수를 입력해야 한다면 변수를 100개 선언해야할까?이작업은 너무나도 귀찮고 힘든 작업이다. 그래서 이러한 상황에 배열을 사용하는 것이다. 간단히 예제를 만들어 보겠다.학생 10명의 점수를 입력받아 합을 구해보자. public class Test {public static void main(String[] ..

JAVA 상속 - super 키워드

super 키워드는 상속 관계에서 슈퍼 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다.슈퍼클래스의 메소드나 필드를 재정의한 경우에 super를 사용하면 슈퍼클래스의 메소드나 필드를 호출할 수 있다.super 키워드는 this 와 비슷한 성질을 지닌다. public static void main(String[] args) {// TODO Auto-generated method stubChild c = new Child("hello"); // child의 객체를 생성하고 생성자 호출}}class Parent {// 전달인자가 있으므로 두번째 메소드(생성자) 실행 - 슈퍼클래스public Parent() {System.out.println("p기본 생성자()");}public Parent(Str..

JAVA 상속 - 재정의(Overriding)와 주해(Annotation)

메소드 재정의(Overriding Method)상속받은 메소드가 변경이 필요하다면 해당 메소드의 헤더는 그대로 두고 메소드의 몸체만 바꾸는 것이다.집으로 치자면 상속받은 집내부의 벽지나 창문이 마음에 들지않아 리모델링하는 것과 같다. 서브클래스에서 오버라이딩(Overriding)을 할 경우 반드시 슈퍼클래스의 메소드의 반환형, 이름, 매개변수의 갯수와 데이터 타입이 일치 하여야 한다. 아래의 코드를 작성하여 실행하여 보면 이해가 빠를 것이다. public static void main(String[] args) { // 메인 메소드// TODO Auto-generated method stubDog d = new Dog();Animal a = new Animal();a.sound(); // 슈퍼클래스 메소..

JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스

상속(Inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것이다. 상속되는 클래스를 부모 클래스라하며 슈퍼클래스(Super class)라고도 한다.자식 클래스는 서브클래스(Sub class)라고도 하며 상속을 받는 클래스를 의미한다. 상속이라고 해서 특별한 의미가 있는 것은 아니다. 현실에서와 비슷하게 그저 부모님의 집을 상속받아 그대로 사용을 하거나 물려받은 집을 보수또는 리모델링(오버라이딩)할 수 있는 것과 같다. 자바에서 클래스를 상속 받기위해서는 클래스 정의후에 옆에 extends를 적고 상속받을 클래스 이름을 쓰면된다.ex) class SubClass extends SuperClass 그리고 서브클래스는 슈퍼클래스의 멤버와 메소드들 마치 자기 것처럼 사용할 수 있으며 슈퍼클래..

JAVA 기초 자료형 종류

자바에서 기초형(Primitive Data Type)은 바이트(Byte), 정수(Int), 실수(Float), 문자(Char), 논리값(Boolean)등의 일반적인 데이터를 나타내는 형으로 모두 8개가 있다. byte - 부호있는 정수 8비트의 크기를 가지며 -128 ~ 127까지 표현가능 short - 부호있는 정수 16비트의 크기를 가지며 -32768 ~ 32767까지 표현가능 int - 부호있는 정수 32비트의 크기를 가지며 -2147483648 ~ 2147483647 까지 표현가능 long - 부호있는 정수 64비트의 크기를 가지며 -9223372036854775808 ~ 9223372036854775807 까지 표현가능 float 실수 32비트의 크기를 가진다. double 실수 64비트의 크기..