핌이의 일상

생활 기록

Do it! 첫 코딩_자바

핌이 (Pimgrim) 2023. 5. 8. 12:24

첫 코딩 보통 사람이 알아야 할 프로그래밍 기초 with 자바 
 
52가지 코딩 / 컴퓨터 기본 개념 

  1. 객체지향형 프로그래밍 
  2. 관계형 데이터베이스 
  3. 기계어 
  4. 디코딩 오류 
  5. 랜덤 (Random) 
  6. 램 메모리 
  7. 마크업 언어 
  8. 메서드 
  9. 문자열 (String) 
  10. 바이트 (Byte) 
  11. 반복문 
  12. 배열 (Array) 
  13. 변수 
  14. 비트 (Bit) 
  15. 빌드 (Build) 
  16. 상속 (Extend) 
  17. 생성자 
  18. 서브클래스 
  19. 소프트웨어 개발 도구 (SDK) 
  20. 슈퍼클래스 
  21. 스레드 (Thread) 
  22. 스크립트 언어 
  23. 아스키 (ASCII) 
  24. 어셈블리어 
  25. 예외처리 
  26. 오버라이드 (Override) 
  27. 오버로딩 (Overloading) 
  28. 유니코드 (UNICODE) 
  29. 이벤트 (Event) 
  30. 인스턴스 
  31. 저장 메모리 
  32. 조건문 
  33. 캐시 메모리 
  34. 컴파일러 
  35. 코드 (Code) 
  36. 코멘트 (주석) 
  37. 클래스 
  38. 통합 개발 환경 (IDE) 
  39. 패키지 (Package) 
  40. 프로그래밍 언어 
  41. /n 
  42. 10진법 
  43. else if문 
  44. for문 
  45. if문 
  46. private 
  47. public 
  48. sleep 
  49. SQL 
  50. this 
  51. while문 

bit조금, 약간 / 잠깐 / 조금; 한조각 
/*0 또는 1중 하나의 정보를 가지는 작은 정보 단위*/
code 암호, 부호 / 관례 [규칙] / 법규 [규정]
/*0,1로 만들어진 부호*/
Byte한 입
/*비트 8개의 묶음*/
Decoding Error잘못 전달된 코드로 인한 상황
ASCIIAmerican Standard Code for Information Interchange 
/*8비트 단위*/ 
unicodeUTF : Unicode Transformation Format 
/*16비트 단위*/
/*32비트 단위는 Emoji 같은 특수기호 포함*/
Machine Code기계어 
/*0, 1 만 사용*/
Assembly Language어셈블리어 : 모이다, 모으다, 집합시키다 / 조립하다 
/*기계어를 알파벳 문자로 변환하여 기호화*/ 
High-Level Language 하이레벨 언어 : 어셈블리어의 편의성을 더 높인 프로그래밍 언어
Script Language스크립트 언어 : 한꺼번에 하지 않고, 실행할 때마다 기계어로 번역 
/ 컴파일러가 아닌 인터프린터라 부른다. 
자바스크립트 JavaScript / 파이썬 Python 등
HTMLHyper Text Markup Language 
마크업 언어(Markup Language)의 종류 
행동이 아닌, 정보 전달의 틀을 제공 
일종의 레이아웃 가이드 
Property item 속성 항목
Property value속성값
./*~의*/
=/*~이다. / 좌변의 값을 우변에 입력하라*/
==/*같다*/
IDIdentity의 약어 : 신원, 신분, 정체 / 독자성 / 유사성; 동질감 
/*이름*/
_/*빈칸*/
;세미콜론 
/*문장의 마침표*/
2진법 0, 1로만 숫자를 표기하는 방법
7진법 월-화-수-목-금-토-일-월...
0-1-2-3-4-5-6-10...
8진법 0-1-2-3-4-5-6-7-8-10... 
12진법1월-2월-3월-4월-5월-6월-7월-8월-9월-10월-11월-12월-1월... 
2000년 5월 = 2000*12+5월 
16진법 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F-10... 
(혼동 방지를 위해 10~15는 알파벳으로 표기)
CPU 중앙처리장치 : Central Process Unit 
중앙처리장치의 처리 성능=처리 능력
속도 : 8비트 < 32비트 < 64비트
Hz헤르츠 : 1초당 중앙처리장치의 진동수 
진동 1회당 비트 정보를 전달 
컴퓨터의 성능의 기준1. 중앙처리장치가 1회에 처리하는 비트 수가 높을수록
2. 처리 속도가 높을수록
Variablevar : 변수 : 메모리 공간
Method메서드 : 행동 공간 
Storage Memory 저장 메모리 : 보관 
Cache Memory 캐시 메모리 : 계산
컴퓨터 사양프로세서 | 캐시 부분 
메인 메모리 | 램 부분 
저장장치 | 저장 부분 
캐시 메모리 가격 결정 기준캐시 메모리 용량 
GB > MB > KB10억 > 백만 > 1천
1 기가바이트 (GB) = 1,024 메가바이트 (MB) = 1,048,576 킬로바이트 (KB)
변수를 선언하다 변수로 공간을 만드는 행위 
/*char X ='가';*/
/*int X =27;*/
/*double pie=3.14*/
/*boolean X =true;*/
charcharacter : 문자
int integer : 정수 
double /*실수*/ 
boolean/*참/거짓*/
long x =a^16;2^16 : 2의 16승 = 65,536
String/*문자형 변수 char를 길게 연결한 형태
항상 큰따옴표 사이에 내용을 입력 "내용"
기본 변수형과 달리 대문자로 시작한다. */
/0/*문장 끝. 문자열 마감*/
Method메서드. 
/*메서드의 명칭 옆에는 중괄호를 넣는다. {내용}
메서드명칭 () {} 의 형태 : 소괄호에는 외부에서 전달받을 변수형과 이름을 선언한다.
변수형이 복수일 경우 쉼표로 나열한다.
 메인과 서브 메서드를 따로 구분한다.*/
return 리턴. 
/*메서드에서 만든 값을 외부에 전달
메서드명칭 앞에 변수형 선언-
메서드의 중괄호 안에 리턴을 적는다. {return 변수형의 값;}*/
void빈 공간, ~이 없는 
/*리턴 값이 없다는 표시.
메서드 이름 앞에 적는다.*/
call/*메소드를 불러와서 사용하기*/
Package(Library) 
Resource의 의미로 이미 만들어져 있는 소스
Build기존의 소스와 자가제작 소스를 결합하는 작업 
Software Development KitSDK : 소프트웨어 개발 도구 
빌드 과정에 필요한 컴파일러, 패키지를 제공하는 도구를 통칭
프로그래밍 언어에 라이브러리를 제공하는 추가적인 기능을 제공하는 묶음도 포함  
Integrated Development EnvironmentIDE : SDK를 편리하게 사용할 수 있는 환경 
조건문 계산 결과가 맞는지 틀렸는지 조건을 판단, 제어문이라고도 한다. 
반복문 계산을 계속 반복, 순환문이라고도 한다. 
머신러닝 컴퓨터의 기계학습, 반복 학습, 방법 학습, 자기주도형 학습 
딥러닝 컴퓨터의 심층학습, 머신러닝의 심화학습 
if만약에 ~라면, if (조건) {내용} 조건제 변수공간 
else그렇지 않으면, 그 외 경우라면, else {내용}
>=크거나 같다 
<=작거나 같다 
크다 
작다 
!= 또는 <>같지 않다. 
AND혹은 && 
(조건) AND (조건) 식으로 사용한다. 
if ((조건) AND (조건) AND (조건)) {}
||또는
if ((조건) || (조건)) {}
AND와 || 사용 순위조건이 n부터 n+2까지의 범위라면, || 대신에
if ((n) AND (n+2)) {} 식의 표현을 할 수도 있다. 
컴퓨터의 연산 처리, 가독성을 고려 
else if else와 if를 합친 조건문 
if (조건) {} else if (조건) {} else {}
while 어느 조건이 만족하는 동안 반복
while (조건) {} 
초깃값 while 조건 (예시)
int day = 1;
while (day <= 1095) 
{행동
day = day + 1;} 
행동 후 조건문으로 두번째 날로 변경, 1095일을 마지막으로 행동 중지 
1. 초깃값 2. 순환을 마치는 조건 3. 순환할 때마다 변경되는 값 
for 모든 조건을 포함한 반복문 
while 보다 더 자주 사용 
for (초깃값; 순환을 마치는 조건; 순환할 때마다 해야 하는 것) {}
++; 혹은 +=1;OO = OO + 1; 의 축약 코드 (1 추가할 때만 가능)
/*+=2; +=3;, +=4; ... (나머지는 이런 식으로)*/
\n줄넘김 문자이며 "큰따옴표" 안에 들어가야 함
/*String 명칭 = "OOO\n"; 식으로*/
\백슬래시, 하나의 문자(char)로 이해해야 함
\b 혹은 ₩b : backspace (뒤로 가기) 
\n 혹은 ₩n : newline (다음 줄로 넘기기) 
\s 혹은 ₩s : space (한 칸 띄우기) 
\t 혹은 ₩t tab (일정 간격 띄우기) 
for in for 반복문 안에 반복문 
/*for (조건) {for (조건) {}}*/ 
if with for/*for (조건) {for (조건) {} if (조건) {}}*/
comment // : 주석 
프로그램의 실행에 아무런 영향을 미치지 않는다. 
설명을 길게 하고 싶을 땐 /*comment*/를 이용한다. 
#이나 '작은 따옴표'를 쓰기도 한다. 
컴파일러는 해당 comment를 무시한다. 
ClassClassification : 클래스
분류, 유형, 범주
어떤 공통된 특징에 따라 분류한 코딩 집합  
/*class 클래스의 이름 {내용}
클래스의 이름 첫 글자를 영문 대문자로 쓴다.*/
Object Oriented Programming 객체지향형 프로그래밍 
클래스를 사용하여 코딩하는 것
instance 인스턴스 
클래스로 만든 변수 
/*인스턴스 생성하는 방법 
클래스의 이름 인스턴스의 이름 = 클래스의 이름 ();
인스턴스.OO = 값;
인스턴스.OO = 값;*/ 
클래스의 정의는 별도의 파일에 따로 선언해둔다. 
클래스 선언 파일.java ≠ 인스턴스 선언 파일.java
Constructor생성자 
인스턴스 선언에서, 각각의 값이 어느 변수에 저장되는지 미리 정해둔 것 
/*클래스.java
클래스 이름{변수 형태와 이름
클래스 이름(변수 형태와 값)
{변수 이름 = 값;}}

인스턴스.java
클래스이름 인스턴스이름 = 클래스이름(변수의 값);*/

생성자의 이름은 클래스의 이름과 동일하게 짓는다. 
생성자의 이름 앞에는 return, void가 오지 않는다. 
생성자는 클래스당 여러개를 만들 수 있다. 
초기화인스턴스를 생성할 때, 메모리 공간을 미리 만들고 동시에 초깃값을 넣는 작업을 칭한다. 
this예약어
 생성자의 변수형과 생성자 외부의 변수형의 이름이 일치하면 생기는 혼란 방지 
클래스의 변수형을 this.OO 로 대신 쓴다. 
상속 클래스 확장
기존 클래스에 무언가를 추가해서 새로운 클래스를 만드는 것 
Super Class상위 클래스 
확장을 해주는 클래스 
/*하위클래스 이름 ()
{super ()
this.하위클래스의 변수형 이름 = 값;}*/
상속을 받은 클래스에서 super라는 단어로 슈퍼클래스의 생성자를 호출한다. 
super () = 상위클래스 이름 ()
인스턴스에서도 슈퍼클래스의 메서드를 호출할 수 있다.
(하위클래스에서 선언하지 않는 내용도 슈퍼클래스에 있다면 호출 가능) 
Sub Class 서브 클래스 
슈퍼클래스의 확장을 받는 하위 클래스 
/*Class 서브클래스 이름 extends 슈퍼클래스 이름 {}*/
확장을 받은 서브 클래스는 클래스 선언을 할 때 아무런 내용이 없어도, 
상위 클래스의 변수와 메서드를 사용할 수 있다. 
Override오버라이드 
슈퍼클래스에서 정의된 메서드를 서브클래스에서 같은 이름의 메서드로 다시 정의 하는 것 
슈퍼클래스의 메서드와 이름이 동일한 메서드를 만든다. 
Overloading 오버로딩 : 과적하다, 부과하다, 과부하가 걸리게 하다 
같은 이름의 메서드에 다른 변수를 더한 메서드를 만드는 것 
Package클래스 사이를 묶어주는 것 
/*package 패키지 이름; class 클래스 이름 {}*/
Access Modifier접근제어자 
클래스의 소유권을 정의해주는 수식어 
/*
public : 대중을 위한 : 아무나 접근 가능 
private : 개인 소유의 : 클래스 안에서만 접근 가능 / 외부 접근 불가능 
protected : 보호 받는 : 같은 패키지 안에서만 접근 가능 / 상속 받은 경우 접근 가능 
아무 것도 없음 : - : 같은 패키지 안에서만 접근 가능

(예) pubic class 클래스 이름 {
public 변수형 변수 이름;

클래스 이름 (변수형 변수형이름) {
this.변수형 이름 = 변수 값;}

public void 변수형 이름 (변수형 변수형이름) {
메서드 내용;}

변수도 private으로 선언 가능
*/
setpublic으로 한정된 변수의 값을 수정할 수 있다.  
/*public void set 변수 이름 () {}*/
getprivet으로 한정된 변수의 값을 가져올 수 있다. 
/*public int get 변수 이름 () {}*/
IDEIntegrated Development Environment : 통합 개발 환경 
1. 속성 : 점(.)을 찍으면, 해당 클래스의 속성을 드롭다운 메뉴로 보여준다.
2. 클래스 : 생성자(Constructor)를 선택 > 생성자에 필요한 변수 선택 > 생성자 자동 생성
3. 자주 쓰는 문장 : 드롭다운 메뉴에 자주 쓰는 입력 가능 코드가 표시 > 선택 
Array 배열 
같은 형태의 변수를 사용할 땐 반복문 for를 사용하는 등 배열을 활용한다.  
Random 무작위 수 
0 < Random Number <1
/*MS 엑셀에서 =RAND()를 사용하여 N개의 랜덤 숫자를 만든다 >
소수점 숫자를 정수로 가공한다 >
정수들을 N으로 나눈다. >
경우의 수들이 N가지 생성된다. */ 
%프로그래밍에서 사용하는 나머지를 구하는 수식 
(예) 5 % 4 = 1
 5를 4로 나누면 1이 남는다.  
랜덤 숫자 구하는 과정 <코딩으로 0.554052의 나머지 구하기> 
double X = 0.554052; 

double 십곱한값 = X * 10; 
/*코딩에서는 *이 곱하기 이다.*/

int 소수점버림값 = (int) 십곱한값; 
/*자바에서는 실수형 변수 앞에 int라고 입력하면 소수점을 버리고 정수형으로 변환한다.*/

int 나머지값 = 소수점버림값 % 4; 
위의 값을 나머지값 변수에 저장한다. 

도출된 값 0, 1, 2, 3에 의미를 넣는다. 
0: 위, 1: 아래, 2: 왼쪽, 3: 오른쪽

<실제 자바에서 랜덤 숫자 만드는 법>
double 랜덤수 = Math.random();
Math라는 클래스와 static 메서드인 random()
(자바에서 제공하는 기본적인 클래스, 메서드)을 사용 

double 랜덤수 = Math.random(); //a
double 십곱한값 = (램덤수 * 10); //b
int 버림값 = (int) 십곱한값; //c
int 나머지 = 버림값 % 4; //d
//e //0: 위, 1: 아래, 2: 왼쪽, 3: 오른쪽 

if (나머지 == 0) {내용{"위");} 
else if (나머지 == 1) {내용("아래");} 
else if (나머지 == 2) {내용("왼쪽")} 
else if (나머지 == 3) {내용("오른쪽");}
}

//a : 메서드로 만든 랜덤숫자 (1보다 작은 소수)를 실수형 변수인 '랜덤수'에 대입 
//b : 만들어진 '랜덤수'에 10을 곱합니다. 그 값을 '십곱한값'에 대입 
//c : 소수점을 버리고 정수형으로 만든 후, 그 값을 변수 '버림값'에 대입 
//d : 4로 나눈 나머지 값을 정수형 변수 '나머지'에 입력 
//e : 0~3의 정수형 숫자가 하나 나오면, 조건문을 통과해 각 값의 의미를 화면에 출력 
try~catchException : 예외 처리 
간혹 예외적으로 발생할 수 있는 오류를 처리하는 구문 
/*try {메서드 내용;}
catch (Exception e) {//오류 발생 시 실행}*/

Exception e : 실제로 오류가 발생했을 때 시스템에서 알려주는 '오류 메시지' 
/*catch (Exception e) {내용 ("오류 메시지 : " + e);
}*/ 

try~catch문이 없는데 오류가 발생 : 프로그램이 비정상적으로 종료된다. 
예외처리를 하여 프로그래밍을 할 시, 사용자의 신뢰도와 개발자의 능률이 올라간다. 
Sleepsleep(), 혹은 delay 
정확한 자바 명령어는 Thread.sleep()

필요 상황 : 컴퓨터의 처리속도가 사용자에게 맞지 않을 때 
/*try {Thread.sleep (1000); // 1초간 정지}
catch (Exception e){} }*/

컴퓨터는 계산 속도에 맞춰서 밀리세컨드 사용
millisecond, ms (1/1000초) 

자바에서는 sleep 같은 강제문으로 컴퓨터를 제어할 경우, 예외처리문을 의무화한다.  
예외처리를 하지 않으면 오류가 발생했다는 메시지가 뜬다. 
예외(Exception)가 발생하는 명령어는 반드시 chach를 해야 합니다. 
Thread.sleep(1000);
Threading코딩을 쪼개어 따로 사용하게 하는 것 
컴퓨터에 내려진 명령을 순서대로가 아닌, 별도의 스레드로 만들어 개별로 움직이게 한다. 

멀티스레딩 : 컴퓨터의 빠른 연산 작업이 사용자의 눈에는 동시에 이뤄지는 것처럼 보이는 것 
/*클래스.java
public class 클래스이름 extends Thread {
// Thread 클래스 상속}*/
Relational DatabaseRDB : 관계형 데이터베이스 
표를 저장하는 체계 
틀을 만들어서 정해진 형태에 맞게 자료를 저장한다. 
SQLStructured Query Language : 시퀄, 에스큐엘 
데이터베이스와 대화하는 국제 표준 언어 
찾기, 삭제, 수정, 추가 등 다양한 데이터베이스 관리가 가능

대표적인 전문 데이터베이스 코딩 프로그램으로 
오라클 DB, MSSQL, MySQL이 있다. 
데이터베이스에 연결하는 명령어만 조금씩 다르고, 언어는 모두 SQL을 사용한다. 
ResultSet결과 세트 
데이터베이스에서 여러 값이 검색 되었을 때 생성되는 임시 정리 표 
java에서 데이터베이스 연결하는 코드Class.forName("com.mysql.jdbc.Driver"); 
Connection con=DriverManager.getConnection("jdbc:mysql://","root","root"); 
Statement stmt=con.createStatement();
Event이벤트 
사용자가 무엇인가 실행했을 때 행동할 메서드
Pixel픽셀 
픽셀수의 많고 적음 : 화면의 가로, 세로의 픽셀 수 
위치를 나타낼 때도 픽셀 단위 사용 
기종에 따른 여러가지 해상도가 있다.
따라서 그래픽 환경에서 프로그래밍할 시, 여러 가지 해상도를 고려한다.  

 


알파벳 대문자에 대한 아스키 값
A01000001
B01000010
C01000011
D01000100
E01000101
F01000110
G01000111
H01001000
I01001001
J01001010
K01001011
L01001100
M01001101
N01001110
O01001111
P01010000
Q01010001
R01010010
S01010011
T01010100
U01010101
V01010110
W01010111
X01011000
Y01011001
Z01011010

변수형설명크기표현 가능한 숫자 범위
byte가장 작은 정수형1바이트-128~127
short조금 작은 정수형 2바이트-32,768~32,767
int보통 정수형 4바이트-2,147,483,648~2,147,483,647 
long긴 정수형 8바이트-9,223,372,036,854,775,808
~9,223,372,036,854,755,807 
float작은 실수형 4바이트 3.4*10의-38승~3.4*10의 38승
double 큰 실수형 8바이트 1.7*10의-308승~1.7*10의308승 
char문자형 2바이트 글자 하나 ('A', '#', '1', '김')

엘리스 아카데미 ㅣ https://academy.elice.io/ 

CLASS가 다르다, 엘리스 아카데미

디지털 교육 실습 플랫폼 엘리스 아카데미에서 클래스가 다른 학습을 경험해보세요!

academy.elice.io

  1. 사이트에 접속한 후 오른쪽위 [가입하기] 클릭 
  2. 무료 과목 중 [Do it! 첫 코딩] 과목을 찾아서 선택 
  3. [수강 신청] 클릭 
  4. [수업 목록] 에서 원하는 수업 선택 
1. 실습에 필요한 내용 안내2. 코드를 직접 입력하는 부분 
3. [실행] 버튼을 누르면 코드가 실행 
4. [실행] 버튼을 누른 결과가 표시 됨

 
연습 

  1. [수업 목록]에서 [준비운동] 수업 클릭 
  2. [시작하기] 버튼 
  3. 미리 입력되어 있는 상태이므로 그대로 [실행] 버튼 
  4. 입력창에서 깜박이는 커서 위치에 '코딩나그네' 입력 후 Enter 
  5. ○○○님, ★코딩별★에 온 것을 환영합니다! ^.^ 라는 문구 확인 

(엘리스x) 코딩준비 하려면 | 소프트웨어 개발 도구 SDK 설치 - 개발환경 설치 - 환경설정

반응형