배열(Array) : '같은 데이터 타입'이 '여러개' 모여 있는 집합

 

- 1. 배열 변수 선언과 배열 생성

char [] s; //문자배열 s를 선언
s = new char[5]; //5개짜리 공간을 가지는 s 라는 문자배열 생성
s[0] = 'A'; //문자배열 s의 index 0에 'A'값을 할당
s[1] = 'B'; //문자배열 s의 index 1에 'B'값을 할당
s[2] = 'C'; //문자배열 s의 index 2에 'C'값을 할당
s[3] = 'D'; //문자배열 s의 index 3에 'D'값을 할당
s[4] = 'E'; //문자배열 s의 index 4에 'E'값을 할당
		
for(int i = 0 ; i < s.length ; i++) {
	System.out.print(s[i] + " ");
}//"A B C D E" 출력

 

- 2. 배열 변수 선언과 동시에 배열 생성

String [] weekend = new String[7]; //weekend 선언과 동시에 7개짜리 배열생성
weekend[0] = "Sunday";
weekend[1] = "Monday";
weekend[2] = "Tuesday";
weekend[3] = "Wednesday";
weekend[4] = "Thursday";
weekend[5] = "Friday";
weekend[6] = "Saturday";
	
for(int i = 0; i < weekend.length; i++) {
System.out.print(weekend[i] + " ");
} //"Sunday Monday Tuesday Wednesday Thursday Friday Saturday" 출력

 

- 3. 배열 변수 선언, 생성, 초기화를 한번에

String [] weekend1 = {"일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"};
//String[] weekend1이 선언과 동시에 7개짜리 배열로 생성이 되고, {내용으로} 초기화 된다.

//일반적인 for문, 보통 많이 사용
for(int i = 0; i < weekend1.length; i++) {
System.out.println(weekend1[i] + " ");
} //"일요일 월요일 화요일 수요일 목요일 금요일 토요일" 출력
	
//Enhanced for 문, 향상된 for문
for(String str : weekend1) { //weekend[0] ~ [6]요소를 String str이 차례대로 받아서 출력
System.out.println(str + " ");
} //"일요일 월요일 화요일 수요일 목요일 금요일 토요일" 출력

 

- 배열 복사

  arraycopy(복사할 배열, 복사할 배열의 시작위치, 복사당할 배열, 복사당할 배열의 시작위치, 복사할 배열의 길이)

int a [] = {1,2,3,4,5,6} ;
int [] b = {0,9,8,7,6,5,4,3,2,1} ; 
//[] 순서 상관 없음
System.arraycopy(a, 0, b, 0, a.length);

for(int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}//1 2 3 4 5 6 4 3 2 1 출력

 

문자열 (String) 메서드

- equals  : 해당 문자열과 매개변수의 문자열이 같은지 비교 (boolean형) - 대소문자 구분

- equalsIgnoreCase : 해당 문자열과 매개변수의 문자열이 같은지 비교 (boolean형) - 대소문자 무시

String a1 = "Apple";
String a2 = "APPLE";

System.out.println(a1.equals(a2)); //false
System.out.println(a1.equalsIgnoreCase(a2)); //true

 

- indexOf  : 해당 문자열이 위치하는 인덱스를 반환 (int형)

- lastIndexOf : 해당 문자열이 마지막에 위치하는 인덱스를 반환 (int형)

String b = "abcdefghijklnmopqrstuvwxyz";

System.out.println(b.indexOf("o")); //14 출력

자바의 인덱스는 0부터 시작하며, 해당 문자열이 존재하지 않으면 -1을 반환한다.

 

- substring (시작인덱스, 끝인덱스)  : 부분 문자열을 뽑아내어 반환

  (인덱스(1,3) 이면 인덱스(1~2)까지 포함 (3 미포함) 

- concat  : 문자열 뒤에 매개변수 문자열을 결합하여 출력

- replace  : 해당 문자를 찾아 다음 문자로 치환하여 출력

- trim()  : 문자열의 앞, 뒤 공백 제거

String c = " 자바 너무 쉬워요 ";

System.out.println(c.substring(1,3)); //"자바" 출력
System.out.println(c.concat("진짜로...")); //" 자바 너무 쉬워요 진짜로..." 출력
System.out.println(c.replace("쉬", "어려")); //" 자바 너무 어려워요 " 출력
System.out.println(c.trim()); //"자바 너무 쉬워요" 출력

 

- toUpperCase  : 모든 문자를 대문자로 변환

- toLowerCase  : 모든 문자를 소문자로 변환

String d = "WorldCup";

System.out.println(d.toUpperCase()); //"WORLDCUP" 출력
System.out.println(d.toLowerCase()); //"worldcup" 출력

 


 

StringBuffer  : 문자열을 추가하거나 변경할 때 사용

- append  : 문자열 추가

- insert  : 특정위치에 문자열 삽입

- substring  :  부분 문자열 반환 (위 string 자료형의 substring과 동일)

StringBuffer sb = new StringBuffer();

sb.append("안녕하세요. ");
sb.append("오랜만입니다.");
System.out.println(sb); //"안녕하세요. 오랜만입니다." 출력

sb.insert(6, "^^");
System.out.println(sb); //"안녕하세요.^^ 오랜만입니다." 출력

 

- break 문  : { }블럭을 탈출한다.

- continue 문 : { } 블럭 내에 일정 조건을 스킵한다.

- return 문 : 메소드에서 입력받은 매개변수를 처리하고 돌려주면서 메소드는 종료된다.

 

 break 문 예제 

public static void main(String[] args) {
	for(int i = 0 ; i < 10 ; i++) {
		if (i == 5) {
			break; //for 반복문 탈출!
		}
		System.out.println(i);
	}
	System.out.println("For문이 종료 되었습니다.");
}

i 가 5일때 break후 종료코멘트.

 

- break 문  : { }블럭을 탈출한다.

- continue 문  : { } 블럭 내에 일정 조건을 스킵한다.

- return 문 : 메소드에서 입력받은 매개변수를 처리하고 돌려주면서 메소드는 종료된다.

 

 continue 문 예제 

public static void main(String[] args) {
	for(int i = 0 ; i < 10 ; i++) {
		if ( i == 5 ) {
			continue; //5이면 건너뛰고 다음으로 이동해라
		}
		System.out.println(i);
	}
	System.out.println("For반복문이 종료 되었습니다.");
}

5를 skip하고 다음으로 이동

 

- break 문  : { }블럭을 탈출한다.

- continue 문  : { } 블럭 내에 일정 조건을 스킵한다.

- return 문  : 메소드에서 입력받은 매개변수를 처리하고 돌려주면서 메소드는 종료된다.

 

 return 문 예제  

public class ReturnEx {

	//사각형넓이를 구하는 calcRect 메서드 생성
	public static int calcRect(int width, int height) {
		return (width * height); 
	} //return : 처리한 결과 값을 호출한 곳에 돌려준다, 메서드가 종료
    
	public static void main(String[] args) {
		int a = 20;
		int b = 30;
		System.out.println( "넓이는 : " + calcRect(a,b) );
	}
	
}

 결과값 → 넓이는 : 600

 

- while 반복문  : 조건이 참인 동안에 계속 반복

- do ~ while 반복문 : 적어도 한번이상 처리가 필요할 때 사용

- for 반복문  : 반복횟수가 정해져 있을 때 (알 수 있을 때) 사용

 

for ( 초기값 ; boolean 조건식 ; 증감식 ) {
       실행문A;
}

예제1. for 반복문을 이용하여 1에서 10까지 더하기

public static void main(String[] args) {
	int sum = 0;
	
	for( int i = 0 ; i <= 10 ; i++ ) {
		sum = sum + i;
	}
	System.out.println("1에서 10의 합은 : " + sum);
}

결과값  →  1에서 10까지 합은 : 55

 

 

예제2. 중첩 for 반복문을 이용하여 구구단 만들기

 

for ( 초기값 ; boolean 조건식 ; 증감식 ) {
        for ( 초기값 ; boolean 조건식 ; 증감식 ) {
                 처리식 B;
        }
        처리식 A;
}

public static void main(String[] args) {
	//외부for 1, 내부for 2~9 반복, 외부for 2, 내부for 2~9 반복 ...외부for 9가 될때까지..
	
    for (int i = 1 ; i <= 9 ; i++) { //곱하는수 1~9
		for (int j = 2 ; j <= 9 ; j++) { //단부분 2단부터 ~ 9단까지
			System.out.printf("%d * %d = %2d\t", j, i, i * j);
		}
		System.out.println(); //다음줄로 이동
	}
}
System.out.printf("%d * %d = %2d\t", j, i, i * j);
- System.out.printf("출력 서식",출력할 내용); : 서식 지정자를 통해 변수값을 여러가지 형식으로 변환하여 출력
- "%d * %d = %2d\t"
   (%d)정수, (%2d)정수/2자리보다 작으면 여백을 추가해서 2자리 확보 ex) 1-> _1, (\t)tab만큼 띄어쓰기

 

for문으로 구구단 구하기 결과

 

예제3. 중첩 for 반복문을 이용하여 삼각형 별찍기, 역삼각형 별찍기

public static void main(String[] args) {
	//삼각형으로 찍기
	int dan = 5;
	for(int i = 0 ; i < dan ; i++) {
		for(int j = 0 ; j < i + 1 ; j++) {
			System.out.print("*"); //print 쭉 옆으로 연달아서 출력
		}
		System.out.println(); //println 다음라인으로 이동 , enter 효과
	}
	
	//역삼각형으로 찍기
	int star = 5;
	for(int i = 0 ; i < star ; i++) {
		for(int j = i ; j < star ; j++) {
			System.out.print("*"); 
		}
		System.out.println();
	}
}

삼각형별 5줄, 역삼각형별 5줄 결과

 

 

- while 반복문  : 조건이 참인 동안에 계속 반복

- do ~ while 반복문 : 적어도 한번이상 처리가 필요할 때 사용

- for 반복문 : 반복횟수가 정해져 있을 때 (알 수 있을 때) 사용

 

while(boolean 조건식) {
처리식 A ;
증감식 ;
}

 

예제1. while 반복문을 이용하여 1에서 10까지 더하기

public static void main(String[] args) {
	int i = 1;
	int sum = 0;
					
	while(i <= 10) {
		sum += i;
		i++; //조건을 만족시키기 위해 증감식을 사용
	}
	System.out.println("1에서 10까지 합은 : " + sum);
}

결과값  →  1에서 10까지 합은 : 55


- while 반복문  : 조건이 참인 동안에 계속 반복

- do ~ while 반복문 : 적어도 한번이상 처리가 필요할 때 사용

- for 반복문 : 반복횟수가 정해져 있을 때 (알 수 있을 때) 사용

 

do {
실행문 ;
증감식 ;
}while(boolean 조건식) ;

 

예제2. do~ while 반복문을 이용하여 1에서 10까지 더하기

public static void main(String[] args) {
	int i = 1;
	int sum = 0;
		
	do {
		sum = sum + 1;
		i++;
	}while(i <= 10);
	
	System.out.println("1에서 10까지 합은 : " + sum);
}

결과값  →  1에서 10까지 합은 : 55

 

 

 switch 문  : 다중 조건시 사용

- switch ~ case ~ (default) ~ break

- break 탈출문 : break를 만나면 { } 블럭을 탈출하고 명령을 끝낸다.

 

switch ( int형 or String형 표현식 ) {
   case 값1 :
        실행문 1 ;
        break ; 
   case 값2 :
        실행문 2 ;
        break ;
default :
        기본실행문 ;
        break ;

}

 

예제. switch 문으로 학점 구하기

public static void main(String[] args) {
	int jumsu = (int)(Math.random() * 100) ; //임의의 점수생성
	System.out.println("당신의 점수는 : " + jumsu);	
	System.out.println(jumsu/10); //소수점 이하는 버려짐
	
	switch(jumsu / 10) {
		case 9:
			System.out.println("당신의 학점은 A입니다.");
			break;
		case 8:
			System.out.println("당신의 학점은 B입니다.");
			break;
		case 7:
			System.out.println("당신의 학점은 C입니다.");
			break;
		case 6:
			System.out.println("당신의 학점은 D입니다.");
			break;
		default:
			System.out.println("당신의 학점은 F입니다.");
			System.out.println("재수강 대상입니다.");
			break;
	}
}

 

 

 if 문 문법

 

if (조건식1) { 
   조건식1의 결과가 참일 때 실행구문 a ;
} else if (조건식2) {
   조건식2의 결과가 참일 때 실행구문 b ;
} else {

   조건식1과 조건식 2의 결과가 거짓일 때 실행구문 c ;

}

 

예제1. 기본 if ~ else 문

public static void main(String[] args) {
	int jumsu = (int)(Math.random() *100); //임의의 점수 생성
	System.out.println("당신의 점수는 : " + jumsu);
	
	if( jumsu >= 60 ) { 
		System.out.println("점수가 60점 이상입니다.");
		System.out.println("합격입니다.");
	}else {
		System.out.println("점수가 60점보다 작습니다.");
		System.out.println("불합격입니다. 다음기회에..");
	}
}

 

예제2. 다중조건 if ~ else if ~ else 문

public static void main(String[] args) {
	int jumsu = (int)(Math.random() * 100) ; //임의의 점수생성
	System.out.println("당신의 점수는 : " + jumsu);
	
	if( jumsu >= 90) {
	System.out.println("당신의 학점은 A입니다.");
	}else if(jumsu >= 80) {
		System.out.println("당신의 학점은 B입니다.");
	}else if(jumsu >= 70) {
		System.out.println("당신의 학점은 C입니다.");
	}else if(jumsu >= 60) {
		System.out.println("당신의 학점은 D입니다.");
	}else {
		System.out.println("당신의 학점은 F입니다.");
		System.out.println("재수강 대상입니다.");
	}
}

 

예제3. 중첩 if 문

public static void main(String[] args) {
	int jumsu = (int)(Math.random() * 110) ; //임의의 점수생성
	System.out.println("당신의 점수는 : " + jumsu);
	
	if(jumsu >= 90) {
		if(jumsu > 100) {
			System.out.println("잘못된 점수를 입력하였습니다.");
		}else {
			System.out.println("당신의 학점은 A입니다.");
		}
	}else if(jumsu >= 80) {
		if(jumsu >= 85) {
			System.out.println("당신의 학점은 B+입니다.");
		}else {
			System.out.println("당신의 학점은 B입니다.");
		}
	}else if(jumsu >= 70) {
		System.out.println("당신의 학점은 C입니다.");
	}else if(jumsu >= 60) {
		System.out.println("당신의 학점은 D입니다.");
	}else {
		System.out.println("당신의 학점은 F입니다.");
		System.out.println("재수강 대상입니다.");
	}	
}

 


연산자(Operator) : 연산을 수행하기 위해 사용되는 문자로 특정의 값을 계산하는 역할

 

※연산자 우선순위 : 연산하는 항이 적을수록 연산 우선순위가 높음

                                     단항연산자 → 이항연산자 → 삼항연산자

 

1. 단항연산자 (Unary operator)

- 부호연산자 (  + , -  )  : 음수와 양수 

   ex) +5, -5

- 증감연산자 ++ , --  )  : 값을 1씩 증/감

   ex) a++  →  a + 1 ; / b--  →   b - 1 ; 

- 논리연산자 ) : false 또는  true를 반대로 변환, a가 참이면 거짓, 거짓이면 참을 반환

   ex)  boolean a = false;   //false 값을 가진 a라는 bolean형 변수 설정
           System.out.println( !a );   //결과 : true

- 비트연산자 ) : bit에 저장된 값 (0 또는 1)을 반대로 변환 (0 과 1을 반전시킴)

   ex)  byte b = 0b0000_1000;   // 2진수_1000 값을 가진 b라는 byte형 변수 설정
           System.out.println(b); //(2진수) 1000 ->  결과 : 8
           System.out.println(~b);  //(2진수) 0111 ->  결과 : -9

- 형변환연산자 (type) : 피연산자의 자료형이 다를 때, 형변환으로 자료형을 일치시킴

   ex)  int a1 = 5;

           double a2 = (double) a1;  //a1(int : 정수형) 을 double(실수형) 타입으로 변환

 

2. 이항연산자 (Binary operator)

- 산술연산자 (  + , -  , * , / , %  )  : 더하기, 빼기, 곱하기, 나누기, 나머지연산자

  ex) 1+2, a-1, ...., 5%2 (5를 2로 나눈 나머지, 결과 : 1)

- 비교연산자 ( < , <= ,  > , >= , == , !=  : 크다, 크거나 같다, 작다, 작거나 같다, 같다, 다르다.

  ex) x > y : x가 y보다 클때 true, x <= y : x가 y보다 작거나 같을 때 true, 

        x == y : x와 y가 같을 때 true, x != y : x와 y가 다를 때 true

- 논리연산자 && , ||  ) : &&(and), || (or)

  ex) a && b : a와 b가 모두 참일때 참,

         a || b : a가 참이거나 b가 참일때 참

- 비트연산자  & , | , ^  ) : 비트단위로 연산

  &(and : 두비트 전부 1일 때 1, 나머지 0 ), | (or : 두비트 중 하나이상 1이면 1, 두비트 전부 0이면 0) ,

  ^ (xor : 익스클루시브 오어, 두비트가 다를때 1, 두비트가 같으면 0)

  ex) byte a = 5; //0101
         byte b = 3; //0011
         System.out.println(a & b);  //결과 : 0001 -> 1
         System.out.println(a | b);  //결과 : 0111 -> 7
         System.out.println(a ^ b);  //결과 : 0110 -> 6

- 대입연산자 ( = , += , -= , *= , /= , %= ) : 변수에 값을 대입, 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.

  ex) a = b : a에 b를 대입,

        (a += b) == (a = a + b),  (a -= b) == (a = a - b)....

 

 

3. 삼항연산자 (Ternary operator)

- 조건연산자 ( 조건식 ? 참 : 거짓  :  조건식이 참이면 ? 뒤에 있는 (참)식을 실행, 거짓이면 : 뒤에있는 (거짓)식을 실행

   ex) int a = 5 - (int)(Math.random()*10);  //Math.random() 0~1사이의 임의수를 발생시킴

          int abs = (a > 0) ? a : -a;

          System.out.println(a + "의 절대값은 : " + abs);   //결과값 : (임의) -4 의 절대값은 4

 

1. 주석 

 

// 한줄 주석

/* 블럭 주석
- 코드를 작성할 땐 가독성이 좋게 tab, spacebar, enter 등을 적절히 이용한다.
- 괄호 
()소괄호 : 매개변수(parameter)
{}중괄호 : 프로그램의 실행단위, 명령줄이 여러줄 존재
[]대괄호 : 배열(Array)
*/

 

2. 이름 짓는 규칙 

 

- 클래스(class), 인터페이스(interface)

   명사, 형용사 형태로 이름짓는다.  시작문자는 대문자, 이어지는 문자는 소문자
   두개이상 단어로 클래스명을 만들때는 이어지는 단어의 첫글자도 대문자
   숫자로 시작할 수 없다. $문자는 왠만하면 사용하지 않는다.

   ex) Day1, HellowWorld ...
- 매서드(method) (함수)

   동사 형태로 이름짓는다. 시작문자는 소문자, 이어지는 문자도 소문자
   두개이상 단어로 되어 있을 경우 두번째 단어의 첫글자는 대문자
    $, _ 문자는 왠만하면 사용하지 않는다.  

- 변수(variable)

   명사 형태로 이름짓는다. 시작문자는 소문자, 이어지는 문자도 소문자
   두개이상 단어로 되어 있을 경우 두번째 단어의 첫글자는 대문자

 

1. 자바 JDK  SE 8 설치하기

  JDK는 Java Development Kit의 줄임말로 자바를 개발하는데 있어서 필요한 라이브러리와 플랫폼이 포함된 파일입니다.

0
오라클 소프트웨어 다운로드 - Java (JDK) for Developers - Java SE 8 - JDK Downloald - Windows x64bit

  마지막은 사용자의 PC에 따라 선택하여 다운로드하면 됩니다.

 

 

2. 환경변수 설정하기

1. 제어판에서 "환경 변수" 검색 후 [시스템 환경 변수 편집] 클릭
2. 환경 변수 클릭

 

3. 새로 만들기 클릭

 

4. 변수 이름에 "JAVA_HOME"을 입력하고, 변수 값에는 jdk가 설치된 경로를 지정

 

5. 시스템 변수 Path 선택 후 편집

 

6. 새로 만들기 선택후 " %JAVA_HOME%\bin " 를 넣어주고 확인. 

 

3. 자바 실행 테스트

자바가 제대로 설치되었는지, 환경 변수가 제대로 잡혔는지 확인하기 위한 테스트를  위해

Window + R 을 눌러 실행 후 "cmd" 를 입력해 아래와 같이 명령 프롬프트를 실행시켜 줍니다.

cmd 창에서 " java -version " 을 입력하고 엔터를 눌러서 아래와 같이 설치한 jdk버전이 나온다면 설치가 완료된 것입니다.

+ Recent posts