목록전체 글 276
재밌고 어려운 IT를 이해해보자~!
리스트를 사용한 로또 package lottoExam2; import java.util.ArrayList; import java.util.Collections; import java.util.InputMismatchException; import java.util.List; import java.util.Scanner; public class ListLottoExam { public static void main(String[] args) { //45개 공을 담을 리스트 List balls = new ArrayList(); //로또를 저장할 리스트 List lotto = new ArrayList(); //보너스번호 저장 int bonusNumber = 0; //45개의 공 생성 for(int i=0; i
파일 입출력 스트림을 통해서 파일을 생성하고 읽고 쓸 수 있다. FileInputStream과 FileOutputStream은 OutputStreamWriter, InputStreamReader을 통해 보조받을 수 있다. (인코딩 같은것) BufferedInputStream, BufferedOutputStream을 쓰면 버퍼에 저장해서 한번에 옮기는식으로 하기때문에 시간이 훨씬 단축한다! 바이트단위로 파일 생성 후 쓰기 (FileOutputStream) package study.io.bytes; import java.io.FileOutputStream; import java.io.IOException; public class FileOutTest { public static void main(String..
스레드란 여러가지 작업을 동시에 하기위해 있는 클래스이며 extends Thread로 상속받아 사용한거나 Runnable사용 프로그램은 파일이 존재하지만 아직 메모리에 올라가 있지 않은 상태, 즉 실행되지 않은 코드의 집합을 말한다. 프로그램을 실행하는 순간 메모리에 올라가고 동작하게 되는데 이 상태의 프로그램을 프로세스라고 부른다. 프로세스는 쓰레드일수 있지만 쓰레드는 프로세스 일 수 없다. 프로세스가 스레드보다 큰 범위에 있다. 프로세스는 독립적으로 메모리에 등록된다. Runnable을 상속하여 만든 객체는 Thread 객체에 넣어서 실행해야함. Runnable 사용법- package study.code.thread; public class Flag implements Runnable { @Overr..
배열을 정렬할때는 for if문을통해서 앞뒤순서를 비교하고 바꿔주는 식으로 했지만 List는다르다! collection을 이용해 정렬할 수 있다. package study.code.sort1; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Random; public class ListSortExam02 { public static void main(String[] args) { List list = new ArrayList(); //랜덤 클래스 선언1 Random rand = new Random(); for(int i = 0;..
배열을 통해 자료구조를 배웠었다.자료구조는 프로그램 실행 시 메모리에 자료를 유지하고 관리하기 위해 사용한다. 하지만 배열은 불편한점이 많기에 이를 해결하기 위해 필요한 자료구조를 미리 구현하여 만들어놨다. java.util 패키지 에서 제공하며 이를 프레임워크라고 부른다. 컬렉션은 list, queue, tree등의 자료구조를 뜻하고 프레임워크는 클래스와 인터페이스를 묶어놓은 개념이다. 즉, 컬렉션 프레임워크란 기존에 존재했던 자료 구조에 인터페이스로 설계된 기능을 클래스를 통해 제공하여 데이터 관리에 용이한 자료구조 객체를 구조화한것을 말한다. 제네릭이란 클래스 다루어야할 데이터타입을 명시하는것. 내부가 아닌 외부로부터 받는다. -> 외부라는것은 객체를 선언할때 지정해서! List -> class i..
프로그램에따라 기본 타입의 데이터를 객체형으로 표현해야 하는 경우가 있다. 이를 위해서 자바에서는기본 자료형을 객체로 다루기 위한 클래스를 제공하는데, 이러한 클래스를 Wrapper클래스 라고한다. Wrapper클래스라고 부르는 이유는 기본형의 데이터 타입을 클래스로 포장했기 때문. String은 태생이 클래스이다. 클래스 형태의 데이터 타입을 일반 데이터타입처럼 값을 대입할 수 있는기능을 오토박싱 기능이라고 부른다. Integer a = 10; 원래 int 타입인데 integer이라는 상자에 자동으로 씌워지게된다. package exam18; //WrapperClass public class WrapperTest01 { public static void main(String[] args) { Integ..
String 클래스는 문자열을 처리하는 객체형 데이터 타입. 문자열을 처리하기 위한 다양한 기능들을 제공한다. package exam.code.str; public class StringTest { public static void main(String[] args) { String str = "오늘은 비가 너무 많이 옵니다 비조심."; System.out.println("문장의 길이 " + str.length()); System.out.println("문자추 추출 :" + str.charAt(11));// 해당 위치에 있는 캐릭터 하나 추출 System.out.println("해당 문자 위치 :" +str.indexOf("이")); System.out.println("해당 문자 마지막 :" +str.l..
java.lang 패키지는 자바 프로그램의 기본적인 클래스를 답고 있는 패키지 이다. Scanner를 사용하려면 import 했어야하지만 System, String등과 같은 클래스는 따로 선언 없이 사용 가능했다. 그이유는 기본적으로 제공해주는 java.lang 패키지에 속해 있었기 때문이다! Object - 자바 클래스의 최상위 클래스로 사용 System, String, StringBuffer/Builder, Math 등이 있다. Object클래스가 가닌 대표 메서드 boolean equals(Object obj) - 다른 객체와 자신이 가진 실제 값을 비교 - 객체가 가진 정보로 객체의 동등성을 비교한 결과를 나타내는 메소드 - Object 클래스의 기본 메소드는 객체의 메모리 주소값을 비교한다 - ..