🧩 Programming Languages/Java Grammar 10

자바 문법 정리

코딩테스트 문제를 풀면서 새롭게 알게되는 Java의 문법을 정리해보려고한다. 0. 기타식 ? 값1 : 값2: 식이 True라면 값1 을, False라면 값2 를 1. 수식Math.sqrt(숫자): 루트 Math.pow(x, y): x의 y제곱 -> *반환 타입은 double* z.B. Math.pow(2,3) -> 8.0 n : n을 이진수로 변환했을 때 t만큼 왼쪽으로 이동즉, n * (2의 t제곱)2. 문자열문자열1.contains(문자열2): 문자열1 안에 문자열2가 포함되었는지 문자열.length(): 문자열 길이 String[] 배열 = 문자열.split("구분자");: 구분자를 기준으로 문자열을 나눈다. 만약 .split("") 면 한 글자씩 나눈다.특수 문자(예: . | * 등)을 쓸 때는..

JAVA Grammar

0. 기초 세팅public class Main { public static void main(String[] args) { }} 1. 프린트System.out.println(); 2. 하나의 정수를 입력받아 그대로 출력하기import java.io.BufferedReader; // BufferedReader 클래스를 사용하기 위해 importimport java.io.InputStreamReader; // InputStreamReader 클래스를 사용하기 위해 importimport java.io.IOException; // IOException 처리를 위해 importpublic class Main { public static void main(String[] arg..

7. 제어문 (if, switch/case, while, for, for each)

1.  if 문 if (조건문) { ...}else if (조건문) { ...}else if (조건문) { ......} else { ... }  (1) and, or, not 연산자 a.  x && y  : 모두 참이어야 참b.  x || y  : x 나 y 둘 중 하나만이라도 참이라면 참c.  !x  : x가 거짓이면 참  (2)  contains  메서드: 리스트 안에 해당 요소가 있는지 true / falseArrayList pocket = new ArrayList();pocket.add("paper");pocket.add("handphone");pocket.add("money");if (pocket.contains("mo..

6. 형변환

1. 문자열 -> 정수String num = "123";int n = Integer.parseInt(num);System.out.println(n); // 123 출력 2. 정수 -> 문자열int n = 123;String num = "" + n;System.out.println(num); // 123 출력 // 또는 int m = 456;String num1 = String.valueOf(m);String num2 = Integer.toString(m);System.out.println(num1); // 456 출력System.out.println(num2); // 456 출력 3. 소수점이 포함된 문자열 -> 정수String num = "123.456";double d..

5. 집합, 상수 집합 enum, 매직 넘버란?

집합(Set) 자료형 : 집합과 관련된 것을 쉽게 처리하기 위해 만든 것 종류는 HashSet, TreeSet, LinkedHashSet 등이 있는데  주로 HashSet 을 사용  1. 특징 (1)  중복 허용 안 됨 -> 자료형의 중복을 제거하기 위한 필터 역할로 종종 사용 (2)  순서가 없음 -> 인덱싱 불가  그런데 집합에 입력한 순서대로 데이터를 가져오거나 오름차순으로 정렬된 데이터를 가져오고 싶다면 TreeSet 혹은 LinkedHashSet 을 사용하면 된다. - TreeSet : 값을 오름차순으로 정렬해 저장- LinkedHashSet : 값을 입력한 순서대로 정렬  2. 쓰임 아래와 같이 집합 자료형 2개가 있다고 가정한다. 이 두 집합의 교집합, 합집합, 차집합을 구할 수 있다.imp..

4. map

map 맵 : 키(key)와 값(value)을 한 쌍으로 갖는 자료형 맵은 리스트나 배열처럼 순차적으로 요솟값을 구하지 않고 키(key)를 이용해 값(value)을 얻는다. 맵 자료형에는 HashMap, LinkedHashMap, TreeMap 등이 있다. 1.  HashMap  : 가장 기본형  (1)  put  : key와 value를 추가 import java.util.HashMap;public class Sample { public static void main(String[] args) { HashMap map = new HashMap(); map.put("people", "사람"); map.put("baseball", "야구"); }} (2)  ..

3. 배열, 리스트

1. 배열 자료형[] 배열이름 = {a, b, ... 배열 요소들}; 배열은 크기가 정해져있기 때문에 초기값 없이 배열 변수를 만들 때 길이를 정해주어야한다.String[] colors = new String[]; // 이러면 컴파일 오류 발생String[] colors = new String[3];colors[0] = "red";colors[1] = "yellow";colors[2] = "blue";System.out.println(colors[1]); // "yellow" 출력 배열의 길이 구하기배열명.length  반대로 리스트는 크기가 정해져 있지 않아 원하는 만큼 값을 담을 수 있다.리스트 자료형에는 ArrayList, Vector, LinkedList 등이 있는데 그 중 가장 일반적으로 사용하..

2. 정수, 실수, 증감연산, 불, 문자열, 문자열 내장 메서드, 문자열 포맷팅

1. 정수  (1) byte : -128부터 127(2) short  : -32768부터 32767 이 둘은 잘 사용하지 않지만 특정 상황에서 효율적인 메모리 사용이 필요한 경우에 사용   (3) int : -2147483648 ~ 2147483647int age = 10;    (4) long : -9223372036854775808 ~ 9223372036854775807 만약 long 자료형 변수에 값을 대입할 때 int 자료형의 최댓값인 2147483647 보다 크다면,  끝에 L  를 붙여야한다. (컴파일 오류 발생 방지)소문자도 가능하지만 숫자 1과 헷갈릴 수 있기 때문에  대문자로 쓰는 것이 좋다.  long countOfStar = 8764827384923849L;  2. 실수    (1) ..

1. 자바 구조, 작명 규칙, 주석처리

/* 클래스 블록 */public class 클래스명 { /* 메서드 블록 */ [메서드의 접근제어자] [static O or X] [리턴자료형 / 없으면 void] 메서드명(입력자료형 매개변수, ...) { 명령문(statement); ... } ...} 자바 코드는 크게 2가지로 나눌 수 있다. 먼저 접근 제어자는 추후 따로 공부할 예정인데, 간단하게 짚고 넘어가자면 (추후 공부 후 링크 걸 예정)  0. 접근 제어자  (1) 정의 : 변수나 메서드의 사용 권한을 설정(2) 종류 :  private   순으로 많은 접근을 허용한다.   1. 클래스 블록  (1) 가장 바깥쪽 영역 - 중괄호로 둘러싸야한다. (2) 상세설명- public 은 자바의 ..