Ⅰ배열(Array)
배열 사용 전 | 배열 사용 후 | |
기본 | int 성적1 = 55; int 성적2 = 95; int 성적3 = 80; int 성적4 = 100; int 성적5 = 75; |
int 성적[] = new int [5]; 성적[0] = 55; 성적[1] = 95; 성적[2] = 80; 성적[3] = 100; 성적[4] = 75; |
활용 | int 성적1, 성적2, 성적3, 성적4, 성적5; 코딩별.출력("성적1을 입력하세요"); 성적1 = 코딩별.정수숫자입력(); 코딩별.출력("성적2을 입력하세요"); 성적2 = 코딩별.정수숫자입력(); 코딩별.출력("성적3을 입력하세요"); 성적3 = 코딩별.정수숫자입력; 코딩별.출력("성적4을 입력하세요"); 성적4 = 코딩별.정수숫자입력; 코딩별.출력("성적5을 입력하세요"); 성적5 = 코딩별.정수숫자입력; |
int 성적[] = new int [5]; for(int N = 0; N < 5; N++){ 코딩별.출력("성적" + N + "을 입력하세요."); 성적[N] = 코딩별.정수숫자입력(); } |
Ⅱ 랜덤(Random)
※ 랜덤 숫자로 X가지 가능성 중 하나를 고르는 방법
단계 | 방법 | 코딩 |
1단계 | 랜덤 숫자를 생성한다 | double 랜덤수 = Math.random(); |
2단계 | 랜덤 숫자를 정수로 만든다(10을 곱하고 소수점을 버린다) | double 십곱한값 = 랜덤수 * 10; int 소수점버림값 = (int) 십곱한값; |
3단계 | 랜덤 숫자를 X로 나누고 그 결과값의 나머지를 이용한다 | int 나머지값 = 소수점버림값 % 4; |
Ⅲ 예외(Exception)처리
try{ String 숫자같은문자 = "홍길동"; int 정수숫자 = Integer. parseInt(숫자같은문자); }catch(Exception e){ // 오류 발생 시 실행할 내용 } |
Ⅳ Sleep (잠깐 정지시키기)
구구단 메시지를 만들되 한 단이 끝날때마다 1초 간격을 두는 코딩 |
String 구구단한단 = "" for (int 앞수 = 1; 앞수 <=9; 앞수++){ for(int 뒷수 = 1; 뒷수 <=9; 뒷수++){ 구구단한단 = 앞수 + " x " + 뒷수 + " = " + (앞수*뒷수) + "\n"; } 코딩별.출력(구구단한단); 구구단한단 = ""; try{ Thread.sleep(1000); }catch(Exception e){ } } |
Ⅴ 스레드(Thread)
1. 스레딩 : 조각조각 나눠서 따로 사용할 수 있게 하는 것
2. 멀티스레딩 : 컴퓨터가 업무를 '동시'에 하는 것이 아니라 여러 가지 업무를 '번갈아'가며 하는데, 우리 눈에는 마치 동시에 하는 것처럼 보이는 것
* 멀티태스킹 : 여러 앱을 동시에 돌리는 것. (멀티스레딩은 하나의 앱 안에서 여러가지 작업이 동시에 진행되는 것)
스레딩 사용 전 | 스레딩 사용 후 | |
숫자세기.java | public class 숫자세기{ String 나의이름; 숫자세기(String 나의이름){ this.나의이름 = 나의이름; } public void 셈하기(){ for(int N = 0; N < 5; N++){ 코딩별.출력(나의이름 + N); } } } |
public class 숫자세기 extends Thread{ String 나의이름; 숫자세기(String 나의이름){ this.나의이름 = 나의이름; } public void run(){ for(int N = 0; N < 5; N++){ 코딩별.출력(나의이름 + N); } } } |
메인.java | public class 메인{ public static void main(String[] args){ 숫자세기 첫번째 = new 숫자세기("첫번째"); 숫자세기 두번째 = new 숫자세기("두번째"); 첫번째.셈하기(); 두번째.셈하기(); } } |
public class 메인{ public static void main(String[] args){ 숫자세기 첫번째 = new 숫자세기("첫번째"); 숫자세기 두번째 = new 숫자세기("두번째"); 첫번째.start(); 두번째.start(); } } |
출력물 | 첫번째0 첫번째1 첫번째2 첫번째3 첫번째4 두번째0 두번째1 두번째2 두번째3 두번째4 |
첫번째0 두번째0 두번째1 첫번째1 두번째2 첫번째2 첫번째3 두번째3 두번째4 첫번째4 |
Ⅵ SQL(Structured Query Language, 시퀄 또는 에스큐엘)
1. 자료를 저장하는 원시적인 방법
: 파일로 만들어서 저장하기
예시) 일기를 저장한다면 1년에 365개의 파일이 생긴다.
2. 관계형 데이터베이스(Relational Database, RDB)의 등장
: 표로 저장하는 체계
차시 | 시간 | 월 | 화 | 수 | 목 | 금 |
1 | 09:00~09:50 | 수학 | 음악 | 영어 | 국어 | 영어 |
2 | 10:00~10:50 | 영어 | 국어 | 화학 | 영어 | 수학 |
3 | 11:00~11:50 | 한자 | 영어 | 체육 | 수학 | 국사 |
4 | 13:00~13:50 | 세계사 | 수학 | 수학 | 물리 | 화학 |
5 | 14:00~14:50 | 국어 | 국사 | 물리 | 화학 | 국어 |
6 | 15:00~15:50 | 미술 | 화학 | 국어 | 세계사 | 세계사 |
7 | 16:00~16:50 | 물리 | | 국사 | 국사 | |
3. SQL(Structured Query Language, 시퀄 또는 에스큐엘)
: 데이터베이스와 대화하는 표준 약속
00고등학교 1학년 3반 4교시 월요일 과목 찾기 | SELECT [월] FROM [00고등학교 1학년 3반] WHERE [차시] = 4 |
00고등학교 1학년 3반 모든 요일 3교시 이후 과목 없애기 | DELETE * FROM [00고등학교 1학년 3반] WHERE [차시] > 3 |
00고등학교 1학년 3반 수요일 3교시 '수학'으로 변경하기 | UPDATE [00고등학교 1학년 3반] SET [수] = "수학" WHERE [차시] = 3 |
00고등학교 1학년 3반 월~수요일은 수학, 목요일은 영어, 금요일은 국어로 구성된 0교시 추가하기 | INSERT INTO [00고등학교 1학년 3반] ([차시], [시간], [월], [화], [수], [목], [금]) VALUES (0, "08:00~08:50", "수학", "수학", "수학", "영어", "국어") |
실제로 자바에서 SQL 사용하기 | ||
데이터베이스 연결 | Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://","root","root"); Statement stmt=con.createStatement(); |
이 부분은 복붙해서 사용함 |
SQL로 명령 | ResultSet rs=stmt.executeQuery("selcet * from 시간표 where 차시 >4"); | Select해서 나온 임시 데이터베이스 결과를 저장하기 위해 자바에서 제공하는 ResultSet 클래스의 인스턴스를 만들었음 |
자료 찾기 | while(rs.next(){ System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3)); } |
검색된 자료를 위에서부터 아래로 하나씩 훑어가면서 찾기 위해 반복문을 사용함 |
* ResultSet(결과 세트)
: 실제로 저장되는 데이터베이스는 아니지만, 검색 결과 때문에 만들어지는 임시 '표'
728x90
반응형
'etc. > Do it! 공부단' 카테고리의 다른 글
[Do it! C언어 입문] 02장 C언어로 만드는 첫 번째 프로그램 (0) | 2021.08.28 |
---|---|
[Do it! C언어 입문] 01장 프로그램과 C언어 (0) | 2021.08.28 |
[Do it! 첫 코딩] 04장 코딩 종합선물세트, 클래스를 열어보자 (0) | 2021.08.28 |
[Do it! 첫 코딩] 03장 컴퓨터는 어떻게 생각하고 판단할까? (0) | 2021.08.28 |
[Do it! 첫 코딩] 02장 컴퓨터는 어떻게 기억하고 행동할까? (0) | 2021.08.28 |