일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오버라이딩
- js datepicker
- 2020정보처리기사실기요약
- crud게시판
- 게시판만들기
- Oracle기초
- 정처기실기정리
- 자바 정규표현식 예제
- CRUD게시판만들기
- jsp 날짜팝업
- 자바기초
- 2020정보처리기사실기정리
- 오라클설치
- 스프링 CRUD게시판
- 프로그래머스 쿼리문
- 2020정보처리기사실기
- 자바배열예제
- jsp 팝업띄우기
- PLSQL
- 정보처리기사실기정리
- spring crud
- spring crud게시판
- 스프링 crud
- 자바연산자
- 프로그래머스 SQL
- 프로그래머스 MYSQL
- jsp게시판만들기
- 스프링게시판만들기
- html기초
- 날짜지정팝업
- Today
- Total
영보의 SystemOut.log
[Java] Java / 데이터 타입 / 변수 종류 / 연산자의 종류 / 기본 API 클래스 or 인터페이스 / String 클래스의 사용 빈도수가 높은 메소드 본문
[Java] Java / 데이터 타입 / 변수 종류 / 연산자의 종류 / 기본 API 클래스 or 인터페이스 / String 클래스의 사용 빈도수가 높은 메소드
영보로그 2021. 9. 27. 20:37자바/스프링 기반 디지털 융합 웹 개발자 양성과정 1일차
Java
자바가 프로그래밍 언어임에도 단순한 언어의 차원을 넘어 자바 컴퓨팅(Java Computing)으로 까지 불려지고 있는 것은 막강한 API(Application Programming Interface)와 오픈소스 라이브러리가 있기 때문.
# 이식성이 높은 언어
# 객체지향 언어
# 함수적 스타일(functional-style) 코딩을 지원
# 메모리 자동관리
# 풍부한 기능을 제공하는 오픈 소스 – 자바 개발 키트(JDK)
# 멀티 스레드(Multi-Thread)를 쉽게 구현
자바 개발 환경 구축
1. 자바 JDK 설치
JDK(자바 개발 키트)는 자바 프로그램을 개발하는 필요한 라이브러리와 플랫폼이 포함되어 있다. 자바 프로그램을 만들기 위해서는 반드시 JDK가 있어야 한다. 자바 프로그램을 실행하기 위해서는 JRE(자바 실행 환경)가 필요하다.
2. Eclipse 설치
이클립스(Eclipse)는 통합 개발 환경(IDE)으로 자바 프로그래밍을 하는 데 꼭 필요하다.
* c:\DEV 폴더 생성 후 -> 이클립스 압축 푼 eclipse 폴더를 DEV에 넣음
자바 버전
# 자바5 (JDK 1.5) - 진화계
- 향상된 for문 제공
- 가변인자(Varargs) 사용 가능
- 제네릭(Generic) 타입 추가
# 자바8 (JDK 1.8) - 혁명계
1. 인터페이스에 - 디폴트 메소드
→ 정적 메소드 선언이 가능
2. 람다식(Lambda Expression) 지원
→ 즉 함수적-스타일(functional-style) 지원
→ "함수적 프로그래밍"을 위해 람다식을 지원하면서 기존의 코드 패턴이 많이 달라졌다.
3. 스트림(Stream) 추가
→ 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는
반복자이다.
자바의 데이터 타입
1. 기본 타입 : 8개
# 정수 타입 – byte(1), short(2), int(4), long(8)
# 실수 타입 – float(4), double(8)
# 문자 타입 – char(2byte, Unicode)
# 논리 타입 – boolean(1byte, true 또는 false)
* 단, 기본 타입으로는 자바에서 문자열을 표현할 수 없다 String 클래스를 이용하여 문자열을 표시할 수 있다.
2. 참조 타입 : 1개 참조 타입은 한 가지이지만 용도는 4가지이다.
# 배열 타입
# 클래스 타입
# 인터페이스 타입
# 열거 타입
# 예제
package 변수와자료형;
public class CharEx {
public static void main(String[] args) {
char c1 = 'A';
char c2 = 65;
char c3 = '\u0041';
char c4 = '가';
char c5 = 44032;
char c6 = '\uac00';
int unicode = c1;
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
System.out.println(unicode);
}
}
자바 변수의 종류와 특징
변수의 종류를 결정짓는 요소는 ‘변수의 선언된 위치’가 된다.
변수의 종류 | 선언위치 | 생성시기 |
클래스 변수 (공통 속성) | 클래스 영역 | 클래스가 메모리에 올라갈 때 |
인스턴스 변수 (개별 속성) | 인스턴스가 생성되었을 때 | |
지역 변수 | 클래스 영역 이외의 영역 (메소드, 생성자, 블록 { } 내부) | 변수 선언문이 수행되었을 때 |
- 클래스 변수 선언 방법은 인스턴스 변수 앞에 static을 붙이면 된다. 클래스 내에 Static 키워드로 선언된 변수
- 클래스 변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다.
- 클래스 변수는 인스턴스를 생성하지 않고도 언제라도 바로 사용 가능
- 그리고 public을 앞에 붙이면 프로그램 내에서 어디서나 접근할 수 있는 ‘전역 변수(global variable)'의 성격을 갖는다.
- 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우, 인스턴스 변수로 선언한다.
# 예제1 - Utils.java
package 금액에콤마넣기;
import java.util.*;
public class DecimalFormatEx {
//입력 받은 금액에 천 단위마다 콤마 넣기 함수 구현
public static void main(String[] args) {
String amount;
System.out.println("결제 금액을 입력하세요 >>>");
Scanner in = new Scanner(System.in);
long totalamount = in.nextLong();
// 추가
amount = Utils.toNumberFormat(totalamount);
System.out.println("결제 금액 : " + amount);
}
}
# 예제2 - DecimalFormatEx.java
package 금액에콤마넣기;
import java.util.*;
public class DecimalFormatEx {
//입력 받은 금액에 천 단위마다 콤마 넣기 함수 구현
public static void main(String[] args) {
String amount;
System.out.println("결제 금액을 입력하세요 >>>");
Scanner in = new Scanner(System.in);
long totalamount = in.nextLong();
// 추가
amount = Utils.toNumberFormat(totalamount);
System.out.println("결제 금액 : " + amount);
}
}
연산자의 종류와 우선순위
종류 | 연산자 | 연산 방향 |
단항 연산자 | 증감(++,--), (dataType) | ← |
산술(*, / , %) | → | |
산술(+, -) | → | |
쉬프트(<<, >>) | → | |
비교(<, >, <=, >=, instanceof) | → | |
비교(==, !=) | → | |
논리곱(&&) | → | |
논리합(||) | → | |
삼항 연산자 | 조건( ? : ) | → |
대입 연산자 | 대입(=, +=, -=, *=, /=, %=) | ← |
제어문
유형 | 제어문 |
조건문 | if문, if-else문, 중첩 if문, switch문 |
반복문 | for문, while문, do-while문 |
분기문 | break문, continue문 |
기본 API 클래스 or 인터페이스
패키지 | 클래스 or 인터페이스들 |
java.lang 패키지 | Object System String StringBuffer Wrapper(Byte, Short, Integer, Long, Character, Float, Double, Boolean) |
java.util 패키지 | List, Set, Map, Scanner, ArrayList, Vector, HashMap, Hashtable, Properties, Date, Calender, Random, Arrays, StringTokenizer |
java.util.regex 패키지 | Pattern, Matcher |
Java.text 패키지 | DecimalFormat, MessageFormat |
java.util.stream 패키지 | BaseStream, Stream, IntSream, LongStream. DoubleStream |
java.time 패키지 | LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Instant |
java.security 패키지 | MessageDigest : getInstance(), update(), digest() 메소드 - 패스워드 암호화 |
* String vs StringBuffer 차이점 알아두기
String 클래스의 사용 빈도수가 높은 메소드
리턴 타입 | 메소드명(매개변수) | 기능 (역할) |
int | compareTo(String anotherString) | 문자열의 사전적 값을 비교하여 int값 리턴 |
boolean | equals(Object anObject) | 두 문자열을 비교하여 boolean값 리턴 |
char | chatAt(int index) | 특정 위치의 문자 리턴 |
String | replaceAll(String regex, String replacement) | 정규표현식과 대체 문자열과 알차하는, 문자의 모든 시퀀스와 대체되는 스트링 반환 |
String | substring(int beginIndex) | beginIndex 위치에서 끝까지 잘라낸 새로운 문자열 리턴 |
String | substring(int beginIndex, int endIndex) | beginIndex 위치에서 endIndex 전까지 잘라낸 새로운 문자열 리턴 |
int | length() | 총 문자의 수를 리턴 |
byte[] | getBytes(String charsetName) | 특정 문자셋으로 인코딩된 바이트 배열을 리턴 |
boolean | matches(String regex) | 정규표현식으로 글자의 포함여부를 체크 |
String | replace(CharSequence target, CharSequence replacement) | 리터럴 대상 시퀀스와 일치하는이 문자열의 각 하위 문자열을 지정된 리터럴 교체 시퀀스로 바꾼다. |
String[] | split(String regex) | 입력 받은 정규표현식 또는 특정문자(문자열) 를 기준으로 문자열을 나누어(쪼개어) 배열 (Array)에 저장하여 리턴하는 메소드. |
String | format(String format, Object... args) | 지정된 위치에 값을 대입해서 문자열을 만들어 내는 용도로 사용 |
int | lastIndexOf(String str) | 문자열에 지정한 문자가 마지막 몇 번째에 있는 문자인지 위치를 int로 반환 |
boolean | contains(CharSequence s) | 특정 문자열이 포함되어 있는지 확인하는 기능 을 한다. 특정 문자열이 포함되어 있다면 true 를 없다면 false를 반환한다 |
# substring 예제
package 변수와자료형;
// substring 활용하여 문자열 자르기
public class URLPath {
// public url = "http://locallhost:8080/Model2_Board/login.do";
public static void main(String[] args) {
String str = "http://locallhost:8080/Model2_Board/login.do";
String result = str.substring(str.length()-9, str.length());
System.out.println(result);
}
}
https://qh5944.tistory.com/169
참고 사이트
Overview (Java Platform SE 8 ) (oracle.com)
'국비교육(아이티센 입사교육) > Java' 카테고리의 다른 글
[Java] 자바 로또 프로그램 만들기 ( HashSet, Treeset) (0) | 2021.09.28 |
---|---|
[Java] Java 컬렉션 개요와 종류 / 예제 (0) | 2021.09.28 |
[Java] 자료구조 / 알고리즘 / java컬렉션 / java컬렉션 예제 (0) | 2021.09.28 |
[Java] 주민번호 정상체크 / 나이 / 성별 / 출신지역 / 띠 / 생년월일 추출 프로그램 만들기 (0) | 2021.09.28 |
[Java] lastIndexOf 와 substring 문자열 자르기 (0) | 2021.09.27 |