JAVA
1. 모든 운영체제에서 실행 가능
2. 객체 지향 프로그래밍
3. 메모리 자동 정리
4. 무료 라이브러리 풍부
컴파일
: 상위 언어 > 하위언어로 번역( EX 사람 말 > 컴퓨터언어)
클래스에서 사용가능한 3가지
1. 필드
: 값을 정의 하는 것(클래스 내부 또는 메소드내부에서 작성)
2. 생성자
: 클래스와 이름이 동일해야한다.
: 리턴형이 없다.
: 값을 초기화 하기 위해서 사용
ex) HelloWorld (int K){
System.out.println("HelloWorld!!")
}
3. 메소드
이클립스
package ch01; // 패키지명
// 접근 제어자( 클래스의 이름은 대문자로)
public class Hello {
// 메소드 이름(public static) , 리턴 형(void) main(매개변수)
public static void main(String[] args) {
// println과 print의 차이는 줄바꿈의 존재
System.out.println("Hello!!");
System.out.print("world!!");
// 데이터 형을 미리 선언 해줘야 한다.
int x = 1; int y=2;
int result = x + y;
System.out.println(result); // 3
// 문자열을 연결 = +를 사용
int h = 3;
int m = 5;
System.out.println(h+"시간"+m+"분");
package ch01;
public class Hello {
public static void main(String[] args) {
-------------------------------------------------------------------------
// 문자열과 함께 프린트
int h = 3;
int m = 5;
System.out.println(h+"시간"+m+"분"); // 3시간5분
int t = h * 60 + m;
System.out.println("총"+t+"분");//총185분
int x = 3; int y = 5;
System.out.println(x + "," + y); // 3,5
// 임시 공간 사용하여 값 변경
int temp = x; // 3
x = y; // 5
y = temp; // 3
System.out.print(x + "," + y); // 5,3
// char형은 작은 따옴표의 하나의 문자만 사용 가능
char var1='A';
char var2="A"; // 오류
char var3='AAA'; // 오류
int a = 3, b =5;
// long 에서 세자리수 int 범위 값을 넘어갈 시 l(엘)또는 L 을 마지막에 추가해야한다.
long z = 99999;
long l = 99999999999L;
// char는 작은 따옴표의 하나의 문자만 사용 가능
char var1='A';
System.out.println(a+","+b+","+z+","+l+","+var1); // 3,5,99999,99999999999,A
-------------------------------------------------------------------------
// 클래스는 맨 첫글자를 대문자로 표기
String var2 = "우리나라";
String str = a+","+b+","+z+","+var1 + "," + var2;
System.out.println(str);// 3,5,99999,99999999999,A,우리나라
// 문자의 문자형과 정수형
char var1='A';// 문자타입
char c2 = 65; // 정수형 A
char c3 = 44032; // 정수형 가
char c4 = 44033; // 정수형 각
-------------------------------------------------------------------------
// 자동 형변환
//double 이 float보다 큰 범위 (큰범위에서 작은 범위로 값을 넣을 수없다)
float f0 = 100.5; // error > defalut는 double 형
float f01 = (float)100.5; // 100.5 강제 형변환
float f1 = 100; // 정수를 실수로 형변환
float f2 = 100.5f; // 실수형 f 표기(float형 표기방법)
double d1 = 200.5; // double은 d표기 미필요(디폴트 값으로 잡힘)
double d2 = 200.5d; // 표기해도 정상 출력
//double 이 float보다 큰 범위 (큰범위에서 작은 범위로 값을 넣을 수없다)
-------------------------------------------------------------------------
// 형변환 종류
int k = 100;
long l = 200L;
k = (int) l; // l의 형을 int로 변경 (강제 형변환)
System.out.println(k); // 200
l = k; // (자동 형 변환, 묵시적 형 변환)
-------------------------------------------------------------------------
// _ 를 이용한 가독성 표기
int k = 1_000_000;
System.out.println(k * 2); //2000000
-------------------------------------------------------------------------
// 부동 소수점 표기법
float var1 = 3E6F;
System.out.println(var1); //3000000.0
float var2 = 3e6F;
System.out.println(var2); //3000000.0
-------------------------------------------------------------------------
// 논리타입 ( 참/ 거짓)
boolean f = false; // true ,false
if (f) {
System.out.println("참");
}else {
System.out.println("거짓");
}
// 논리타입 2 (참/ 거짓
int k = 10;
float j = 10.0f;
// 같다 == , 다르다 !=
if (k==j) {
System.out.println("참");
}else {
System.out.println("거짓");
}
-------------------------------------------------------------------------
// 이스케이프문자
System.out.println("참\t확인"); // Tap 동작
System.out.println("----------------");
System.out.println("줄바꿈\r확인"); // 줄바꿈 동작
-------------------------------------------------------------------------
// 연산에서의 타입변환
int k =10;
String s = "우리";
double d = 10.5;
// 문자열 + 숫자 = 문자열
System.out.println(s + k); // 우리10
// 숫자 + 문자열 = 문자열
System.out.println(k + s); // 10우리
// 실수 + 정수 =실수
System.out.println(d + k); // 10우리우리
-------------------------------------------------------------------------
// 문자열을 기본 타입으로 변환
String i1 = "100";
String i2 = "200";
String i3 = "200.5";
// 문자형 출력
System.out.println(i1 + i2); // 100200
// 문자열을 정수형 변환 후 출력
int result = Integer.parseInt(i1)+Integer.parseInt(i2);
System.out.println("결과값:" + result); // 결과값: 300
// 문자열을 실수형 변환 후 출력
double result2 = Integer.parseInt(i1)+Double.parseDouble(i3);
System.out.println("결과값:" + result2); // 결과값: 300.5
// 숫자를 문자형으로 변환 후 출력
int k = 200;
int j = 300;
String str = String.valueOf(k) + String.valueOf(j);
System.out.println("결과값:" + str); // 결과값: 300
-------------------------------------------------------------------------
// 전역변수
int k1 = 10;
// 전역에서 지역변수를 선언 하면 다른 지역에서 사용 가능
int k2;
if (true) {
// 지역변수
k2 = 20;
System.out.println(k1+k2);
}
if (true) {
System.out.println(k1+k2);
}
-------------------------------------------------------------------------
// 포맷사용하기 %s 문자열, %f 실수형, %d 정수형
System.out.printf("번호 : %f, 이름 : %s, %d", 3.1415, "둘리", 13);
}
}
scanner.nextLine();
: 엔터를 치면 입력값을 불러온다.
// 스캐너 클래스 사용선언
import java.util.Scanner;
//Scanner 타입 변수 사용
Scanner scanner = new Scanner(System.in);
System.out.println("값을 입력해주세요:"); // 값을 입력해 주세요:
String str = scanner.nextLine();
System.out.println("입력값:"+str); // 입력값:구름
scanner.close();
-------------------------------------------------------------------------
//Scanner 타입 변수 사용
Scanner scanner = new Scanner(System.in);
System.out.println("X 값 입력:"); // X 값 입력:
String str = scanner.nextLine(); // 1
System.out.println("Y 값 입력:"); // Y 값 입력:
String str2 = scanner.nextLine();// 2
Double result = Double.parseDouble(str) + Double.parseDouble(str2);
System.out.println("결과값:"+result); // 결과값 : 3.0
scanner.close();
//Scanner 타입 변수 사용
Scanner scanner = new Scanner(System.in);
System.out.println("X 값 입력:"); // X 값 입력:
String str = scanner.nextLine(); // 1
System.out.println("Y 값 입력:"); // Y 값 입력:
String str2 = scanner.nextLine();// 2
Double result = Double.parseDouble(str) + Double.parseDouble(str2);
System.out.println("결과값:"+result); // 결과값 : 3.0
scanner.close();
느낀점
오늘은 자바의 기본내용을 사용해보는 시간을 가졌다.
파이썬과 다르게 변수의 데이터 형을 필수로 기입해주어야하고,
세미콜론 또한 붙여주어야했다.
들여쓰기 대신 중괄호를 사용할수 있다.
또 기본적인 연산기호화, 출력을 위한 함수들의 개념을 배웠다.
파이썬과 사용하는 구문이 다르지만 형식은 비슷하기에
이또한 숙지하고 사용성을 높이도록 해야겠다.
정보처리 기사 시험이 이번주다!
필기 꼭 붙자!