@21.03.30
Java
@print - 출력문
System.out.print("Hello, World");
자바의 기본 출력문. 출력하면 줄바꿈 없이 해당 문구만 출력된다.
줄바꿈을 원한다면 ' \n '을 입력
%println
System.out.println("Hello, World");
와 같이 사용한다. 뒤의 ln은 기억이 안난다만.. line 어쩌고 일것이당...
무튼 출력을 하면 자동으로 줄바꿈이 된다.
=> 자동완성(ctrl + space)을 syso라는 단어에 쓰면 바로 뜬다.
%printf
기본적인 print 출력문과 동일하나, 다른점은 지시자(포매팅)를 통해 변수를
출력할 수 있다.
예외적으로 print나 println과 같이 쌩으로 변수 출력할 수는 없다.
줄바꿈도 안됨여
%출력간 문장(Str) 출력하기
파이썬과 다르게 자바의 경우 작은 따옴표는 쓰지 않는다.
문장을 출력하고 싶다면 큰 따옴표로 감쌀 것.
@상수(Constant)
사용은 아래와 같이 좌측에 ' final '이라 적는다.
final int b = 3;
한번 데이터를 집어 넣으면 절대 변경할 수 없는 형태.
위의 코드는 b라는 정수형의 상수를 설정한것이다.
@Variable(변수)
- 숫자로 시작할 수 없다.
- 특수문자의 경우 언더 하이푼 제외하고 ' $ '만 사용할 수 있다.
- ' 카멜식기법 ' 애용하자. (단어가 여러 단어일 때, 단어 앞글자는 대문자로 -ex. intInexRight )
달러 기호 쓸 수 있는건 첨 알았다...
@자료형
Primitive와 reference로 나뉜다.
내가 아는 모든 기본 데이터 타입은 Primitive안에 속한다.
%boolean
1byte 크기의 참거짓 데이터 타입
%Numeric - Integral(정수형)
Byte : 1byte
Short: 2byte
Int : 4byte
Long : 8byte
Char : 2byte
->character 자료형의 경우 큰 따옴표가 아닌 작은 따옴표로 감싸준다.
%Numeric - Floating(부동소수점)
Float : 4byte
Double: 8byte
실수의 경우 double을 기본으로 많이 선언한다.
@float 선언하기
만일 a라는 변수에 3.14를 담는다고 해보자
float val6 = 3.14;
그냥 이러고만 담으면 이클립스가 해당 수를 double형태로 인식한다고 한다.
때문에 변수에 값을 담지 못하고 에러가 나는데, 이에 대해 이클립스에게 ' 나는 3.14에서 끊을거야. 그 뒤는 없어 '
라는 식으로 알려주는게 필요하다고 한다. 이에 대한 내용은 아래와 같다.
float val6 = 3.14f; //4byte
float val7 = (float)3.14; // 명시적 형변환
첫번째 경우처럼 ' f '를 뒤에 붙혀도되고, ' 명시적형변환 '이라하여 값의 앞에 DataType을 붙혀도 된다.
@명시적&묵시적 형변환
int num1 = 17; //4byte
double num2 = 3.1; //8byte
num1 = num2;
위 처럼 num1의 경우는 4byte, num2의 경우는 8byte의 크기를 갖는다.
하지만, 위 처럼 num1,2가 같다고 선언하면 데이터가 손실될 수 있음을 이클립스가 알려주며 컴파일되지 않는다.
좀 더 자세히 말하면, 4라는 작은집에 8이라는 큰 덩어리를 구겨 넣는거기 때문에 되지 않는것. 이를 되게하려면
num1 = (int)num2; // 명시적 형변환
위와 같이 명시적 형변환을 통해 바꿔줘야 한다.
%묵시적 형변환
그럼 반대로 큰집에 작은 덩어리를 넣는걸 묵시적 형변환이라고 한다.
위의 코드를 예로 들면 8byte인 num2에 4byte인 num1을 넣는건 된다는 뜻.
%나누기
기본 산술연산자는 Python과 동일하나, 예외적으로 나누기는 없다.
/ 는 몫을, %는 나머지를 구하는 연산자이며 따로 나누기 연산자가 없다.
이에 대해 내가 소수점을 나타내는 연산을 하고 싶다면 데이터 타입이 실수인 값을 통해 구해야한다.
@Scanner - 입력받기
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
- 파이썬의 input과 같은 입력 기능을 가진 명령어
- 사용하기 위해서는 java.util의 scanner를 import해줘야 한다.
해당 기능을 만일 int 형태로 입력받아 사용하고 싶다면
int num = sc.nextInt(); // 정수를 입력받는 기능
위와 같이 코드를 작성하면 된다.
int형인 num이라는 변수에 sc를 통해 입력받은 값을 담는다는 뜻이며, 애초부터 받기 위한 변수를 설정하기 전에 해당 변수의 Data Type을 정해주기 때문에, int뿐만 아니라 다른 형태도 정확히 지정해주어야 한다.
@증감연산자
++,-- 와 같은 연산자를 변수 양옆쪽 원하는 위치에 붙히는 연산자이다. 이에 대해서
int a = 1;
System.out.println(a++);
System.out.println(a);
System.out.println(++a);
System.out.println(a);
변수 a에 1이라는 값을 집어 넣고 증감연사자를 이용해 4개의 줄을 출력했을 때의 결과는
와 같다. 보면 위치에 따라 결과값이 달라진다.
앞에 붙으면 내가 기입한 해당 줄의 작업을 수행하기 전에 연산이 이뤄지며,
뒤에 붙으면 해당 줄의 작업이 수행한 이후에 연산이 이뤄진다.
@논리연산자
AND => && ex - true && false : false
OR => || ex - true || false : true
NOT => ! ex - ! true : false
파이썬과 다른점은 논리 연산자에 대해 단어가 아닌 기호를 사용한다는 점
@삼항연산자
파이썬에서 "A if B else C" 라는 삼항연산자를 사용했었다. 이와 비슷한 형태로 자바 또한 존재하며 사용은 위와 같다. 아래는 삼항연산자를 활용한 간단한 예제이다.
Scanner sc = new Scanner(System.in);
System.out.print("첫번째 정수(num1)를 입력하세요 >> ");
int num1 = sc.nextInt();
System.out.print("두번째 정수(num2)를 입력하세요 >> ");
int num2 = sc.nextInt();
System.out.println(num1>num2?"num1이 더크다"
:num1<num2?"num2가 더크다":"num1과num2는 같다");
숫자 2개를 입력 받아 어느게 더 큰지 비교하는 문제위의 경우는 삼항연산자 중첩을 통해 3가지의 경우를 상정할 수 있도록 했다.형태는 (조건식1) ? (결과1):(조건식2) ? (결과2): (결과3) 와 같다.조건 1이 충족되면 결과1이, 안되면 조건2를 따져 맞다면 결과2가 이또한 충족되지 못하면 결과3을 출력하는 형태이다.
%알것.
위에서의 예제에서는 출력문에 삼항연산자를 걸어주어 출력하는 결과를 내었는데, 평소에는 삼항 연산자는 값을 할당하면서 써야한다. 무슨 말이냐면
삼항연산자의 결과는 특정 공간에 담아주어야한다.
즉 < 변수 = 조건 ? 결과1 : 결과2 > 이런식이 되어야한다는 소리쓰
이클립스 스캔
================================================
웹크롤링
@ Web - Client & Server
%Web Client
클릭한 페이지를 요청하는 PC
네트워크로 연결된 서버로부터 정보를 제공받는 컴퓨터
요청하는 역할 (Request)
%Web Server
클릭된 페이지를 제공하는 Pc
클라이언트에게 네트워크를 통해 서비스를 제공하는 컴퓨터
응답하는 역할(Response)
@Browser(브라우저)
요청 받은 작업을 사용자가 볼 수 있도록 제공하는 역할(Web 코드를 네이버 같은 페이지로 보여줌)
@HTTP(Hyper Text Transfer Protocol)
- Server와 Client의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용하는 통신 규약
- 하이퍼텍스트를 기반으로 데이터 전송 -> 링크기반의 웹문서에 접속
- 요청/응답(Request/Response) 방식으로 동작
@URL
@Hyper Text
=> 사용자가 한 웹 문서에서 다른 문서로 즉시 접근할 수 있는 링크 기반 텍스트
말하자면..
- PPT문서에 내가 건 링크
- 네이버 사이트에서 주니버네이버로 들어가는 그 글자
등등..
'국비교육기관 > 수업' 카테고리의 다른 글
14일차_자바_WHILE / 웹크롤링_영화랭킹_TOMCAT (0) | 2021.04.01 |
---|---|
13일차_자바기초 / 웹크롤링_네이버,멜론 긁어오기 (0) | 2021.03.31 |
11일차_파이썬_Matplotlib / 오라클_DDL_제약조건 (0) | 2021.03.29 |
10일차_파이썬_Pandas / 오라클_DDL_CREATE_ALTER (0) | 2021.03.26 |
09일차_파이썬_Pandas / 오라클_INSERT_UPDATE (0) | 2021.03.25 |
댓글