Study for Backend/Programming language - Java (33) 썸네일형 리스트형 [Java기초] long, float에 L과 F를 붙여야 하는 이유 고정된 데이터를 리터럴(literal)이라고 하는데, 리터럴들은 자바가 실행될 때 메모리의 별도의 Data Area (Constant pool)에 공간을 할당받아 저장되어 있게 된다. 리터럴의 기본 데이터 타입을 정수의 경우 int로, 실수의 경우 double로 저장이 되게 된다. long 변수에 int 범위 안에 정수를 선언해도 에러가 안나는 이유는 int 리터럴이 자동으로 long으로 형변환 되기 때문이며 float의 경우도 동일하게 실수 리터럴의 기본 데이터 타입인 double로 결정이 되기 때문에, float 타입으로 저장이 되도록 하기 위해서 맨뒤에 F나 f 식별자를 붙여서 선언을 하면 정상적으로 동작하게 된다. 관련link https://kim-oriental.tistory.com/66 [자바.. [Java연습]String 자료형 Practice3 === 문제 설명 --- 자바의 String 자료형에는 많은 연산자 기능들이 있다. 프로그래밍의 기본기를 익히기 위해 일부 연산자들을 제한하고 다음의 기능을 구현하려 한다. - String 의 replace 기능 구현 - String의 replace, indexOf, contains를 사용하지 않고 구현한다. 입출력 예시 --- |입력 문자열|from|to|출력| |---|---|---|---| |"Hello Java, Nice to meet you! Java is fun!"|"Java"|"자바"|"Hello 자바, Nice to meet you! 자바 is fun!"| |POP|P|W|WOW| public class Practice3 { public static String solut.. [Java연습] 사용자가 입력한 알파벳의 대소문자를 변경하는 프로그램 Practice2 === 문제 설명 --- 아스키 코드는 미국정보교환표준부호를 의미한다. 영어로 American Standard Code for Information Interchange 이며, 줄여서 ASCII 라고 한다. 문자를 사용하는 대부분의 장치에서 사용하며 문자 인코딩 방식에 아스키를 기초로 두고 있다. 다음은 아스키의 특징이다. - 7비트로 구성 - 총 128개의 문자로 구성 (출력 불가능한 제어문자 33개, 출력 가능한 문자 95개) - 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 1개의 공백 문자로 이루어진다. 이번 문제에서는 아스키 코드 중 알파벳에 대해서, 사용자가 입력한 알파벳의 대소문자를 변경하는 프로그램을 작성하시오. 입출력 예시 .. [Java연습] 정수 자료형의 숫자를 거꾸로 변환 Practice1 === 문제 설명 --- 입력된 정수 자료형의 숫자를 거꾸로 변환하는 프로그램을 작성하세요. - 예를들어 12345가 입력되면 54321로 변환하여 출력하면 된다. - 100의 경우 001이 되는데 이 경우 1만 출력하도록 한다. 입출력 예시 --- |입력|결과| |---|---| |12345|54321| |-12345|-54321| |100|1| |0|0| public class Practice1 { public static void solution(int num) { int numReverse = 0; //결과를 담음 boolean isMinus = false; //음수 체크 if(num 0){ i.. [Java기초] 스트림 스트림(Stream) 배열이나 컬렉션 등 데이터를 하나씩 참조하여 처리 가능한 기능 for문 사용을 줄여 가독성을 높임 구성 : 데이터소스객체.Stream생성().중개연산().최종연산(); 데이터 처리 연산 스트림은 함수형 프로그래밍 언어에서 일반적으로 지원하는 연산과 데이터베이스와 비슷한 연산을 지원한다. 예를 들어 filter, map, reduce, find, match, sort 등으로 데이터를 조작할 수 있다. 스트림 연산은 데이터를 순차적으로 또는 병렬로 실행할 수 있다. 소스 스트림은 컬렉션, 배열, I/O 자원 등의 데이터 제공 소스로부터 데이터를 소비한다. 정렬된 컬렌션으로 스트림을 생성하면 정렬이 그대로 유지된다. 즉, 리스트로 스트림을 만들면 스트림의 요소는 리스트의 요소와 같은 순서.. [Java기초] 람다 표현식 익명함수로서 메소드 대신 하나의 식으로 표현하는 것 장점 - 일반적으로 코드가 간결해지고 코드 가독성이 높아 생산성 또한 높아짐 단점 - 재사용이 불가능하며 디버깅이 어렵고 재귀함수로는 맞지 않음 link https://ssdragon.tistory.com/14 람다식이란? 람다식(Lambda Expressions) 메서드를 하나의 식(expression)으로 표현한 것! 이름이 없는 메서드! 메서드를 람다식으로 표현하면 메서드 이름과 반환값이 없어지므로 익명 함수(anonymous function)라고도 부 ssdragon.tistory.com https://kihwan95.tistory.com/20 자바 람다식이란(Lambda expression) JDK1.8부터 추가된 람다식(Lambda expre.. [Java기초] 예외 처리 Exception이란 정상적이지 않은 Case이며 그것을 적절하게 처리하는 방법을 Exception Handling(예외 처리)이라고 한다. 정상적이지 않은 Case의 example - 0으로 나누기 - 배열의 인덱스 초과 - 없는 파일 열기 etc. finally 예외 발생 여부와 관계없이 항상 실행되는부분 throw 예외를 발생 시킴 throws 예외를 전가 시킴 link https://brunch.co.kr/@kd4/5 자바의 예외처리 checked exception과 unchecked exception | checked exception과 unchecked exception에 대해서 설명해주세요. checked exception과 unchecked exception에 대하여 설명을 하기에 앞서, .. [Java기초] 컬렉션 프레임워크 Collection Framework란 여러 데이터를 편리하게 관리할 수 있게 만들어 놓은 것. 다시 말하면 다수의 요소를 하나의 그룹으로 묶어 효율적으로 저장하고, 관리할 수 있는 기능을 제공하는 일종의 컨테이너이다. - 자료 구조 및 알고리즘을 구조화 대표적으로 List 인터페이스 , Set 인터페이스 , Map 인터페이스가 있음 1. List 인터페이스 - 순서가 있는 데이터의 집합 - 데이터 중복 허용 - ArrayList, LinkedList, Vector 2. Set 인터페이스 - 순서가 없느 데이터의 집합 - 데이터의 중복 허용 불가 - HashSet, TreeSet 3. Map 인터페이스 - 키와 값의 쌍으로 이루어진 데이터 집합 - 순서를 유지하지 않음 - HashMap, TreeMap .. [Java기초] next()와 nextLine()의 차이점 next()는 개행문자(Enter)를 무시하고 입력을 받고 nextLine은 한줄 단위로 입력을 받기 때문에 개행문자(Enter)도 포함한다. 좀 더 직관적으로 설명하자면 1234를 입력하고 Enter를 쳤다면 버퍼에 1234\n이 존재한다. 이 때 nextInt()가 버퍼의 내용을 가져올 때 분리자를 제외하고 가져오기 때문에 1234만 가져오게 된다. 그러면 버퍼에 \n이 남아있게 되는데 nextLine()은 공백과 개행문자(Enter)인 분리자를 포함시키기 때문에 \n만 가져오고 프로그램이 종료된다. 따라서 공백이 있는 한줄을 리턴받고 싶으면 nextLine() 메소드를 사용하고, 한 단어만 리턴받고 싶으면 next() 메소드를 사용하면 된다. 관련 메소드 참고 link https://summer-l.. [Java기초] 입출력 입출력 프로그래밍을 하면서 변수의 담긴 값이나 문자열을 확인하거나, 데이터를 입력받아 코드를 수행하도록 할 수 있다. 입력 메서드와 출력 메서드를 활용하여 콘솔 창에 입력 및 출력을 할 수 있다. 출력 값이나 문자열을 확인하기 위해 메서드를 활용하여 출력한다. 콘솔에 값을 출력하기 위해서는 System.out.print(), System.out.println(), System.out.printf() 메서드를 활용할 수 있다. System.out.print() 소괄호 안의 내용을 단순 출력하는 것으로 줄 바꿈을 하지 않는다. System.out.print("Hello"); System.out.print(" "); System.out.print("Java"); System.out.print("!!"); //.. 이전 1 2 3 4 다음