java.lang 패키지에 포함된 클래스.수학과 관련된 일련의 작업들을 처리할 수 있는 클래스.Math 클래스의 다양한 메소드들은 전부 static으로 구현되어있으므로 따로 객체를 생성하지않고 사용가능하다. abs()인자로 넘긴 데이터의 절댓값을 반환random()0.
개념대상을 나타낸다클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것속성과 동작으로 이루어져 있다 : 속성을 멤버변수, 기능을 메서드(함수)라고도 한다\-> 흔히 '붕어빵'이라고 표현한다특징OOP의 관점에서 클래스의 타입으로 선언되었을 때 '객체'라고 부
Scanner의 특징이 있다. 바로 char타입으로는 입력을 받을 수 없고, String타입으로 입력받는 것이 2개나 존재한다는 점이다.여기에서 문제가 발생한다.바로 Scanner로는 char타입을 사용할 수 없다는 것이다.그래서 등장한 것이 바로 charAt()이다.
변수, 메소드, 클래스 등의 이름에 일관성이 없고, 쓰임을 분명히 나타내지 않는다면 어떻게 될까? 문제점 코드의 유지보수가 어려워진다. 이름만 보고도 그것의 쓰임을 알 수 있어야한다. 그렇지않다면 코드를 분석해야하는 불필요한 과정이 필요하다. 좋은이름을 짓기위한 시간이
위 코드는 option을 입력받고, 다음줄에 str1, 그다음줄에 str2를 입력받는것을 의도한 코드이다.하지만 실제로 동작해보면 총 2개의 입력만받고 종료된다.option, str2만 입력받고, str1은 스킵된것이다.실제로 출력 결과도 아래와 같이 문자열1은 비어있
Scanner와 유사.System.out.println()과 유사둘은 기존에 쓰던 scanner와 System.out.println()보다 속도 측면에서 훨씬 빠르다.입력된 데이터가 바로 전달되지 않고 버퍼를 거쳐 전달되므로 데이터 처리 효율성이 높다.많은 양의 데이터
DFS 알고리즘을 짜다가 ArrayList를 사용한 2차원 배열을 만드는 것을 처음 알게되었다.이후 유용하게 이용될 것 같아 정리한다.ArrayList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.표준 배열보다는 속도가 느리지만,
문자열을 한 글자씩 쪼개서 char타입의 배열에 집어넣어주는 메소드이다.추가로, char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.
if문 보다 좀 더 정형화된 조건 판단문이다.switch/case문 구조입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문에 속한 문장들이 실행된다. case문에 break가 있으면 switch문을 빠져나간다. 만약 brea
프로그래밍에서는 밑이 2인로그를 많이 사용한다.하지만, Java에서는 불친절하게 밑이 10인 상용로그와 밑이 e인 자연로그를 위한 api만 제공된다.Math.log(double d) : 밑이 자연대수 e인 자연로그 자연로그함수이다. Math.log10(double d)
실수의 소수점 원하는 자리까지 표시하는 방법을 알아보자.DecimalFormat 클래스 사용! DecimalFormat 클래스 선언하며 원하는 자리 수 설정format 함수 호출해서 원하는 값 넣기 정수 표현 : "- 실수 부분만 원하는 자리수 맞춰주기!참고https&
5/100을 하면 수학적으로는 0.05이다.하지만 이렇게 나누면 프로그래밍에서는 정수 0이 return된다.리턴받는 변수를 double형으로 선언해도 0.05는 반환되지않는다.int,long형 변수는 아무리 나눗셈을 해도 소수점은 없애고 정수만 리턴한다.소수점이 제대로
String의 멤버 함수로 substring()과 split() 두가지가 가장 흔하게 쓰이는 방식이다.substring() 함수는 시작지점과 끝지점을 파라미터로 전달받아서 문자열을 자른다.문자열변수명.substring(시작지점, 끝지점) : 시작지점 ~ (끝지점-1)까
대문자인지 구별소문자인지 구별숫자인지 구별boolean isDigit(char ch)boolean isDigit(int codePoint) : codePoint는 Unicode값예시를 살펴보자. isUpperCase(), isLowerCase(), isDigit()는
문자열변수명.toLowerCase()문자열을 모두 소문자로 변환 후 문자열로 반환한다.\-> 따라서, 저장하고싶으면 해당 문자열로 다시 꼭 받아줘야함문자열변수명.toUpperCase()문자열을 모두 대문자로 변환 후 문자열로 반환한다. \-> 따라서, 저장하고싶으면 해
String변수나 배열 같은 곳에 많은 양의 데이터들이 들어가 있을 경우 자신이 바꾸고자 하는 값만 골라서 바꾸기가 쉽지않다.이럴 때 유용하게 쓰일 수 있는 함수가 바로 Replace이다. 문자열 치환 함수 Replace, ReplaceAll, ReplaceFirst
Not a Number 한마디로 숫자가 아니라서 숫자로 표현을 할 수 없는 상태 (숫자이지만, 컴퓨터로 표현할 수 없는 숫자값도 포함)자기자신과 일치하지 않는 유일한 값! 0 / 0 -> ??"String" \* 1000 -> ???Math.sqrt(-9) -> 음수의
indexOf(String str) : 예를들어, "str"일경우 s의 인덱스를 반환 indexOf(int ch)indexOf(int ch, int fromIndex) : fromIndex를 시작점으로 indexOf(String str, int fromIndex) :
빈 문자열은 값이 할당되었지만 길이는 0입니다.null은 값이 없습니다.isEmpty()는 문자열이 ""처럼 비어있을 때 true를 리턴합니다.OR 연산자의 첫 번째 조건에서 먼저 null을 체크해야 합니다. 문자열이 null로 할당되었는데 조건문에서 먼저 null을
보통 문자열을 반복해서 쓰고 싶다면 for문을 사용해서 나열하는 방법만 사용했었는데,repeat을 사용하여 편하게 문자열을 반복 나열 할 수 있다.String 메서드 중 하나로 String 문자열을 파라미터의 주어진 횟수만큼 반복java11에서 새로 추가된 String
dsf
toUpperCase(), toLowerCase() String, Character 모두 사용 가능하다. String을 대표로 어떤 방식으로 동작하는지 파헤쳐보자. 간단히 이 메소드는 문자열을 각각 대문자, 소문자로 변환하는 역할을 한다. 둘은 흐름이 비슷하고 L
Set 인터페이스에서 지원하는 구현 클래스객체 그 자체를 저장한다.순서가 일정하게 유지되지 않는다null 요소도 허용한다내부적으로 HashMap을 사용한다.중복을 허용하지 않는다.중복을 허용하지 않는게 가장 큰 특징이라 할 수 있다.HashSet은 객체를 저장하기 전에
데이터 자료구조 (데이터 컬렉션)중 하나로, 특정한 값들을 저장하는 추상 자료형값들의 순서가 존재하지 않고, 중복되지 않음\-> 유한 집합을 컴퓨터 구현한 것다른 모음(Collection) 타입에서는 특정 원소를 검색하는 것이 주 업무이고, Set은 대상 원소가 집합에
데이터를 주고받을 때, Json 형식을 많이 사용한다.Java에서 org.json 라이브러리를 이용하여 JSON 데이터를 다룰 수 있다.이 라이브러리에서 제공하는 JSONObject, JSONArray 클래스는 JSON 데이터를 갖고 있고, JSON 형식의 문자열로 출
Java11 을 사용하고 있었는데, Java17을 사용해야 할 일이 생겼다.다음에 다시 11로 또 변경해야 할 것 같기도 하고, 나처럼 버전을 변경하려고 하시는 분들이 어려움을 겪지 않았으면 하는 마음에 작성한다.변경할 Java17은 이미 설치한 상황이며, IDE는 I
결론부터 살펴보자. ThreadLocalRandom을 써야 하는 이유 java.util.Random 멀티 쓰레드 환경에서 하나의 인스턴스에서도 전역적으로 의사 난수(pseudo random)를 반환한다. 따라서 같은 시간에 동시 요청이 들어올 경우 경합 상태에서 성능
java.lang 패키지에 속하는 System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있습니다.프로그램 종료, 키보드로부터 입력, 모니터로 출력, 메모리 정리, 현재 시간 읽기, 시스템 프로퍼티 읽기, 환경 변수 읽기등의 일부 기능을 사용할 수 있습니다.