변수 \- 변수 : 임의의 값을 저장하기 위해 메모리상에 만들어지는 공간 \- 만드는 형식 자료형 변수명=값; 예) int a=10; \- 변수명 만드는 규칙 1) 일반적으로 소문자로 작성한다. 2) 영문자,숫자,\_를 사용할 수 있다.
/\*< 강제형 변환 >데이터형을 강제로 변환하는 것형식(바꿀자료형)변수/상수예) int a=(int)4.5; \*/public class Test05 { //main + ctrl + space public static void main(String\[] args
< 자바의 연산자 > 산술연산자\+,-,\*,/,%(나머지연산자)관계연산자,>=,<=,<,==(같다),!=(같지않다)논리연산자! (not) : 어떠한 값이 참이면 거짓,거짓이면 참의 결과값을 갖음&& (and) : 대응되는 두 값이 모두 참이면 결과가
if문 - 조건에 따라서 문장을 선택적으로 수행 if(조건식){ 조건이 참일때 수행할 문장; }else{ 조건이 거짓일때 수행할 문장; }import java.util.Scanner;public class Test07 { public static vo
< 증감연산자 > \++a : a=a+1을 의미 \--a : a=a-1을 의미 \++,--기호가 앞에 있으면 연산식에서 증감된 값으로 연산하고 \++,--기호가 뒤에 있으면 연산식에서 증감하지 않은 값으로 연산하고 연산식이 끝나면 값을 증감
조건연산자(삼항연산자)형식 (조건식)?결과값1:결과값2; => 조건식이 참이면 결과값1,조건이 거짓이면 결과값2를 수행한다.
대입연산자 연산자 의미 a+=b a=a+b a-=b a=a-b a=b a=ab a/=b a=a/b ...
제어문 조건제어문과 반복제어문이 있다. 1.조건제어문 1) if문 형식1) if(조건식){ 조건이 참일때 수행할 문장 }
switch문 일치되는 값을 찾아 선택적으로 문장을 수행형식 switch(비교대상){ case 값1:실행문장; .. break; case 값2:실행문장; ..
for문 조건식이 거짓이 될때까지 반복적으로 문장을 수행함2형식) for(초기식;조건식;증감식){ 반복실행할 문장; .. }
< for문의 여러형태 >무한루프 : 반복문을 무한 반복한다.for(;;){ 반복수행할 문장; ..}레이블 지정하기 AA:for(;;){ for(;;){ break AA;//바깥쪽 for(AA지점)을 빠져나간다. } }
다중while문 형식 while(조건식){ while(조건식){ 반복수행할 문장; .. } }
do~while문 형식do{ 실행문장; ...}while(조건식);조건식이 거짓일때까지 반복 수행while문과의 차이점 : while문을 조건절을 먼저 판단하고 실행되지만 do~while은 먼저 실행하고 조건절을 판단한다.
배열 같은 자료형의 변수가 여러개 필요한 경우 연속적인 공간에 데이터를 나열해서 저장하고 첨자로 구분하는 자료구조1) 1차원 배열첨자가 하나인 배열형식자료형\[] 배열명=new 자료형배열크기;예) int\[] a=new int5; //정수가 5개 들어갈
2차원 배열 첨자가 두개인 배열형식 자료형 배열명=new 자료형행첨자; 예) int a=new int3; a0=1; a0=2; ...
사용자 정의 메소드 어떠한 기능을 갖는 코드의 묶음형식 리턴형 메소드명(매개변수,..){ 실행문장; .. return; }
객체지향 프로그래밍 모든 작업을 객체화해서 프로그래밍하는 기법객체지향 프로그래밍에서는 모든 작업을 클래스로 구현한다.클래스 만드는 형식class 클래스명{ 멤버변수; ... 멤버메소드(){..} ...}클래스를 사용하기 위해서는 객체(인스턴스)
생성자 (Constructor) 객체가 생성될때 자동으로 호출되는 메소드주로 멤버변수값을 초기화하려는 목적으로 만든다.만드는 형식클래스명과 동일한 이름으로 메소드이름을 만든다.리턴값을 갖을수 없으며 void를 적지 않는다. 예) class AA{ p
this 객체 자신을 의미(객체자신의 주소값)사용되는 경우 1.멤버변수와 매개변수를 구분하기 위해 2.다른 생성자를 호출하기 위해
오버로딩(Overloading) 같은 이름의 메소드를 중복해서 정의하는 것메소드 이름은 같지만 타라미터 타입이나 갯수가 달라야 한다. 예) class AA{ public int add(int x,int y){ return x+y; } p
static 1\. static메소드(정적메소드) \- 일반멤버메소드는 객체를 생성한 후에 사용할 수 있지만 static메소드는 객체 생성없이 <클래스명>으로 호출해서 사용한다. \- 일반멤버변수(인스턴스변수)는 사용할수 없
상속(\*\*\*) 기본클래스(부모클래스,super클래스)의 속성과 메소드(기능)을 물려받고 기존의 기능을 수정하거나 새로운 기능을 추가하는 것형식) class 부모클래스{ ... } class 자식클래스명 extends 부모클래스{
< 접근지정자 - 클래스 > public - 어디서든 사용가능한 클래스 default - 같은 패키지 내에서만 사용가능한 클래스 < 접근지정자 - 멤버변수 또는 멤버메소드 > private - 자신의 클래스내에서만 접근 가능한 멤버 default -
오버라이딩(Overriding) \*\*\* 부모클래스의 메소드를 자식클래스에서 수정하고자 할때 오버라이딩을 한다만드는 방법 : 부모클래스의 메소드명,파라미터갯수,타입,리턴형 모두 일치해야 한다.자식클래스에서 오버라이딩할때 접근지정자의 범위가 좁아지면 안된다.
클래스간의 형변환(\*) 클래스간에는 형변환이 안되지만 상속관계에서는 형변환이 가능하다.부모클래스는 자식클래스를 참조할 수 있지만 자식클래스에서 추가된 멤버는 참조할 수 없다.단 오버라이딩된 멤버는 참조가 가능하다.자식클래스에서 부모클래스를 참조할 수는 있지만 이
< 추상클래스 >추상메소드를 포함하는 클래스객체를 생성할 수 없고 자식객체를 참조는 가능하다.< 추상메소드 >body부분을 갖지 않는 메소드자식클래스에서 반드시 오버라이딩해야 한다.
ArrayList(\*\*\*)객체를 배열처럼 저장하고 꺼내는 기능을 갖는 클래스주요메소드public boolean add(E e) : 요소를 마지막 위치에 추가public E get(int index) : index위치의 요소를 꺼내옴public int size(
인터페이스(\*\*\*) 자식클래스들이 가져야 할 기능들의 목록을 갖음(뼈대역할,기본틀)상수와 추상메소드들로 이루어진다.(jdk8.0이상에서는 default메소드기능이 추가됨)만드는 형식 interface 인터페이스명{ 상수; 추상메소드();
제네릭 (Generic) 자료구조 관련 클래스(ArrayList,Vector,..)에 특정 클래스타입만 저장할 수 있도록 설정해 주는것자료구조 관련 클래스에 실수로 다른 클래스타입이 저장됨을 방지할 수 있다.(안전하게 사용 가능)저장된 요소를 꺼내올때 형변환을 하
Collection | List | ArrayList Vector [ Vector 클래스 ]
Set데이터를 저장할때 순서가 없다.중복값을 저장할수 없다.Iterator : 반복자boolean hasNext() : 다음요소가 존재하면 true리턴E next() : 다음요소를 리턴
MapKey와 Value가 한쌍으로 저장되는 자료구조 인터페이스Key값은 중복될수 없고 Value값은 중복될수 있다.HashMap ( Map을 상속받은 클래스) 주요메소드 public V put(K key,V value) : Key와 value를 한쌍으로 저장
< 확장for문 >배열이나 컬렉션 객체를 순차적으로 꺼내옴형식 for(저장변수 :배열또는컬렉션객체){ 수행문장; }
< Calenadr >날짜에 대한 정보를 갖는 클래스추상클래스이므로 객체를 생성할 수 없다.public static Calendar getInstance() 메소드를 사용해서 현재 날짜와 시간에 대한 정보를 갖는 객체를 얻어와 사용할 수 있다.Calendar
예외(Exception) 예외 : 프로그램 실행도중에 예기치 못하게 발생되는 경미한 에러예외처리 : 예외가 발생했을때 이를 적절히 처리하는 것형식)try{ 예외가 발생될 수 있는 문장; ..}catch(예외타입 변수){ 예외발생시 처리할 문장; ..}cat
익셉션의 종류 자바에는 두가지 종류의 익셉션이 있다CheckedException RuntimeException을 상속받지 않은 예외클래스반드시 try~catch로 예외처리를 해야 하며 예외처리를 하지 않으면 컴파일시에 오류가 발생된다.예) IOException
자바의 IO(Input/Output) 데이터를 읽어오거나 출력에 관련된 기능스트림 : 데이터의 흐름 (자바는 데이터를 입출력할때 스트림(Stream)을 사용한다.)스트림은 근원지(Source-키보드,파일,네트워크등) 또는 목적지(Destination-화면,파일,
스레드 하나의 응용프로그램에서 여러개의 작업을 경량의 프로세스로 나누어 실행하는 것시간이 오래 지연되는 작업이나,동시에 실행되어야 하는 작업이 있을때 스레드로 만든다.예)동시에 파일 업로드하기게임프로그램에서 이미지를 동시에 따로따로 이동시키기...스레드 만드는 방
스레드의 동기화 하나의 객체(자원)을 여러개의 스레드가 공유해서 사용할때 하나의 스레드가 사용중이면 다른 스레드는사용할 수 없으며 잠금(lock)인 상태가 되는것동기화 처리방법 방법1) 동기화할 객체에 synchronized블록으로 묶기 synchro
내부클래스(Inner Class)클래스 내부에 또 다른 클래스를 포함하는 것내부클래스는 외부클래스의 모든 멤버를 자신의 멤버처럼 사용할 수 있다. ( private멤버도 접근 가능)
로컬내부클래스 메소드안에 내부클래스가 만들어지는 경우메소드내에서만 사용가능하고 지역변수는 접근할수 없고 멤버변수만 접근 가능하다. final상수는 접근 가능
익명의 내부 클래스 추상클래스나 인터페이스를 상속받아 클래스가 딱 한번만 사용될때 익명의 내부클래스를 만들어 사용할 수 있다.만드는 방법 인터페이스(또는 추상클래스) 객체명=new 인터페이스명(){ 추상메소드 오버라이딩 .. }
람다식 jdk1.8 버전에서 추가된 기능메소드를 하나의 식으로 간단하게 표현한것형식(자료형 변수)-> {메소드 실행코드;}함수형 인터페이스에서만 람다식을 사용할 수 있다. 함수형 인터페이스 : 추상메소드를 하나만 갖고 있는 인터페이스.(예:Runnable
Scanner와 sysout이 아닌 BufferedReader, BuffferedWriter에 대해 정의하고 사용법을 정리해 보면우선, buffer의 의미는 완충제,완충장치,완화하다 라는 의미를 가지고 있다.프로그래밍에서 버퍼는 데이터 전송 시 사용되고, 데이터를 어디