[Java 기초] OOP와 Java 언어의 특징
·
프로그래밍/JAVA
이력서를 쓰던중에 spring을 사용할 줄은 알지만 그렇다고 java를 잘 다룬다고는 못한다는 점을 깨달았다. 왜 자바를 사용하는지, 이 언어가 다른 언어에 비해 갖는 이점은 무엇인지, 자바언어의 주요 특징은 무엇이며 어느 경우에 사용하는 것이 좋은지 뭐 이런 기본적인 것에 대해 자문해보았을 때, 전혀 대답을 하지 못했기 때문이다. 그래서 안그래도 할게 많은 취준 공부에 자바 공부가 추가되었다. 화이텡..!우선 자바의 문법들에 대해 알아보기 전에 언어가 갖는 특징부터 공부해보자.객체 지향 언어 프로그래밍(OOP)이란?OOP란 객체 지향적인 프로그래밍으로, C언어와 같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍 하는 것을 뜻한다.절차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행..
[ JAVA ] StringTokenizer()를 사용한 문자열 분리
·
프로그래밍/JAVA
BufferedReader()에 익숙해지기 위해 여러 입출력 문제를 풀던 중 만난 StringTokenizer(). 뭔지 정확히 모르지만 일단 사용하고 문제를 푼 뒤, 위 클래스에 대해 공부해보았다. StringTokenizer() BufferedReader()를 사용하여 입력을 읽어들이면 라인 단위로 읽어들일 수 밖에 없다. 이때 필요한것이 바로 문자열을 분리시켜주는 StringTokenizer인 것이다. 이 클래스를 사용하여 특정 문자에 따라 문자열을 나눌 수 있다. StringTokenizer를 생성하는 방식에는 3가지가 있다. StringTokenizer st = new StringTokenizer(문자열); StringTokenizer st = new StringTokenizer(문자열,구분자)..
백준#17425 약수의 합 구하기
·
알고리즘
문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값을 더한 값은 g(x)로 표현한다. 자연수 N이 주어졌을 때, g(N)을 구해보자. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 100,000)가 주어진다. 둘째 줄부터 테스트 케이스가 한 줄에 하나씩 주어지며 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 각각의 테스트 케이스마다, 한 줄에 하나씩 g(N)를 출력한다. 예제 입력 1 복사 5 1 2 1..
[ JAVA ] 배열 정렬
·
프로그래밍/JAVA
자바는 배열을 정렬할 때 반복문이 필요없다는것을 몰랐다. 백준 문제를 풀면서 자바를 공부하려고 했는데 이론을 먼저 공부 해야되나 고민이 되긴하지만 그랬다가는 너무 속도가 떨어질거같다..ㅜㅜ 역시 독학은 쉽지 않은거같다. Arrays.sort() 배열 오름차순 Arrays.sort(변수명)을 사용하여 간단하게 오름차순 정렬이 가능하다. import java.util.Arrays; public class SortUp public static void main(String[] args){ int[] array = {56, 78, 26, 19, 47}; Arrays.sort(array); //배열 오름차순 정렬 for(int i=0; i
[ JAVA ] 배열
·
프로그래밍/JAVA
배열을 선언할때  참조변수만 먼저 선언하여 크기 및 값을 이후에 초기화 하는 것도 가능하고 최초 선언시 부터 배열의 크기 및 값을 할당해 주는 것도 가능하다.배열의 길이는 최초에 선언된 값으로 고정되며, 숫자 배열은 0으로, 문자열 배열은 null로, boolean 배열은 false로 값이 초기화 된다.import java.io.*;import java.util.Scanner;public class ARRAY{ public static void main(String[] args)throws IOExceptions{ Scanner sc = new Scanner(System.in); int a = sc.nextInt(); //배열 길이용 변수 ..
[ JAVA ] 표준 입출력
·
프로그래밍/JAVA
자바에서는 사용자 요청사항에 대한 응답 메시지를 전달하기 위해 System 이라는 표준 입출력 클래스를 제공한다. System 클래스는 다음 세 가지 필드를 가지고 있다.out : PrintStream / 표준 출력 스트림in : InputStream / 표준 입력 스트림err : PrintStream / 표준 에러 출력 스트림stream은 JAVA의 후반부 내용이어서 아직 정확하게 무엇인지는 모른다..일단은 데이터의 흐름 정도로 알고있자. 표준 출력System.out()print() : 줄바꿈을 하지 않고 출력println() : 줄바꿈을 해주면서 출력printf() : 지정된 형식의 문자열을 출력System.out.print("ABCD");System.out.println("EFGH");int x =..