목록JAVA (60)
먹었으면 뇌를 쓰자

InputStream 콘솔에서 System.in으로 1byte(영소문자)를 객체에 .read() 메서드로 입력받는다. Thread 콘솔에서 실행을 Thread.sleep(천 단위=초) 으로 초 단위 지연시킬 수 있다.
String str="a1"; int row=str.charAt(1); //'1'은 49이다. int column=str.charAt(0); // 'a'는 97이다. System.out.println("변경 전 row = "+row); //49 System.out.println("변경 전 column = "+column); //97 int row1=str.charAt(1)-'0'; //'0'은 int형으로 48이다. //따라서 '1'(49)를 1로 만드려면 '0'(48)을 빼주면 된다. //'2'(50)를 2로 만드려면 '0'(48)을 빼주면 된다. int column1=str.charAt(0)-'a'+1; //'a'는 int형으로 97이다. //따라서 'a'(97)를 1로 만드려면 'a'(97)를 뺴주..
개발 업무를 할 때는 대용량 데이터를 처리하는 일이 중요할 것 같다. 배열을 적절히 활용할 줄 알아야겠다. 학원에서 배열 공부를 하면서 푼 문제와 풀이를 정리해서 스스로 필요할 때 써먹을 수 있게 연습하자! 1. boolean으로 배열에 찾는 데이터 있는지 비교하기 int[] arr = {21,4,11,68}; //찾는 데이터가 배열에 있으면 확인할 boolean 변수를 선언한다. boolean flag; while(true){ //필요한 break문 작성 //flag는 false로 초기화한다. flag = false; for(int i=0;i
자바에서 이중 for문이 활용되는 2가지 경우에 대해 정리해보았다. 내가 이해한 개념을 정리한 것이라, 모든 경우에 완벽하게 대응하지는 않는다. 다만 풀어야 할 알고리즘 중에서 비슷한 상황이 있으면 사용할 수 있을 것이다. (이중 for문에 필요한 변수와 로직 이외에는 생략하였다.) 첫번째 for문 (기준데이터, 행) -> 회차당 고정 두번째 for문 (비교데이터, 열) -> 회차당 가변 1. 기준데이터와 비교데이터 (오름차순 정렬) for(int i=0;i
리턴 값이 있는 경우 (void 없음) 1. 입력 값 o, 리턴 값 o 리턴 값 받을 변수 = 객체.메소드명(인수1, 인수2 ...); /* int sum(int a, int b) { return a+b; } Sample sample = new Sample(); int result = sample.sum(3, 4);*/ 2. 입력 값 x, 리턴 값 o 리턴 값 받을 변수 = 객체.메소드명(); /* String say() { return "hi"; } Sample sample = new Sample(); String result = sample.say();*/ 리턴 값이 없는 경우 (void) 1. 입력 값 o, 리턴 값 x 객체.메소드명(인수1, 인수2 ...); /* void sum(int a, in..
interface Predator { String getFood(); default void printFood() { System.out.printf("my food is %s\n", getFood()); } int LEG_COUNT = 4; static int speed() { return LEG_COUNT * 30; } } interface Barkable { void bark(); } interface BarkablePredator extends Predator, Barkable { } class Animal { String name; void setName(String name) { this.name = name; } } class Tiger extends Animal implements Pred..
1. variable(변수) 변수는 값을 대입할 수 있는 수이다. 클래스에서 선언된 변수는 객체 변수이다. 클래스에서 생성되는 것은 객체, 그리고 이 클래스에 선언된 변수는 객체 변수라고 생각하면 쉽다. 그래서 instance variable(인스턴스 변수)라고도 한다. class Animal { String name; // name은 변수 public void setName(String name) { this.name = name; } } public class Sample { public static void main(String[] args) { Animal cat = new Animal(); cat.setName("nero"); // name 변수에 'nero'라는 값을 넣었다. System.ou..

문제 함수형 프로그래밍을 이용해 코드를 구현하기. 내 코드(무려 정상 작동함) Stream api에 대해 새로 알게 된 사실 - 일단 스트림의 함수는 메소드가 아니라 api라고 부름. - filter는 boolean true 타입을 반환함. - map은 연산 결과를 반환함. - toArray는 int 타입 배열로 반환함.

문제 쓰레드 적용해서 실행 시간 단축하기. 내 풀이(무려 정상 작동함) import java.util.ArrayList; class HeavyWork extends Thread{ // Thread 상속하기 String name; HeavyWork(String name){ this.name=name; } public void run() { // 기존의 work() 메소드를 Thread의 run() 메소드로 변경하기 for (int i = 0; i < 5; i++) { try { Thread.sleep(100); } catch (Exception e) { } } System.out.printf("%s done.\n",this.name); } } public class coding { public static..