C언어와 파이썬, 자바스크립트는 경험이 있는데 유독 JAVA만 경험이 없다.
그래서 정처기 문제 중 자바 관련 문제가 나오면 심히 메롱스럽다.
메롱스러우면 어쩔텐가
열심히 해야지!!
먼저 모든 프로그래밍의 기초인
데이터 입출력부터 찬찬히 공부해보자.
늦었다고 할 때는 이미 늦었다.
그니까 더욱 열심히 해야한단다.
해보자!
일단 당장 자바를 깔기엔
노동력 소모가 심하다.
다행히 웹에서 자바를 구동할 수 있는 사이트가 있다.
https://www.jdoodle.com/online-java-compiler/
JDoodle - free Online Compiler, Editor for Java, C/C++, etc
JDoodle is a free Online Compiler, Editor, IDE for Java, C, C++, PHP, Perl, Python, Ruby and many more. you can run your programs on the fly online and you can save and share them with others. Quick and Easy way to compile and run programs online.
www.jdoodle.com
이 사이트를 최대한 활용해서 자바를 손쉽고 빠르게 배워보도록 하자.
다음은 자바 입출력 문제이다.
아래 코드에서 우리는 정수를 입력해서 변수로 받은 뒤, 연산해서 나온 값을 출력하는 코드를 만들어볼 것이다.
<코드의 내용은 시나공의 교재를 따왔다.>
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.printf("a * 3 = %d\n", a * 3);
System.out.println("a / 2 = " + (a / 2));
System.out.print("a = 1 = " + (a - 1));
scan.close();
}
}
간단한 입출력 코드에도 이렇게나 입력해야할 것들이 많다.
그도 그럴게 자바는 객체지향 언어로써
아주아주 간단한 것을 코딩하더라도 반드시 클래스를 선언해서 작성해야 한다.
코드를 분석해보자.
import java.util.Scanner; // Scanner는 입력과 관련된 함수가 정의되어 있다. import로 불러왔다.
public class Test {
// 자바는 아무리 작은 프로그램이어도 클래스 안에 속성(변수)와 메소드(함수)를 만들어 실행한다.
// public class는 실행을 위한 클래스에 꼭 써야하는 예약어이고, Test는 클래스 이름이다.
// 클래스 이름의 첫 글자를 대문자로 하는 것은 관례이다. 즉 Duckchun 이런 식으로 이름을 짤 수 있다.
public static void main(String[] args) {
// 모든 C가 main()에서 시작하듯, 자바 역시 클래스 안에 main()이 있어야 실행된다.
// 이를 프로그램 실행 진입점이라고 한다.
// public static : public은 제한자이고 static은 정적이라는 의미인데 일단 main() 앞에 와야 한다.
// void : 반환값이 없다는 뜻이다. main()은 그냥 실행 진입점으로 반환값을 가지면 안된다.
// String[] args : 문자열을 string 클래스로 받겠다는 의미인데 일단 그냥 필요하다고 이해한다.
Scanner scan = new Scanner(System.in);
// Scanner : 입력에 사용할 객체 변수를 생성한다. 위에 Scanner를 불러와서 가능하다.
// scan : Scanner 클래스의 객체 변수 명이다. 임의로 적는다.
// new : 객체 생성 예약어이다. 약속이 된 것이므로 그냥 적는다.
// Scanner() : 클래스의 이름이다.
// System.in : 표준입력장치를 의미한다.
// 이를 합치면 Scanner 클래스의 scan 객체 변수를 new Scanner()를 통해 만들어주고,
// 그 내용물은 System.in(표준입력장치)로 한다.
int a = scan.nextInt();
// scan에서 넘어온 값을 int(정수)로 바꿔준다.
System.out.printf("a * 3 = %d\n", a * 3);
// 출력을 의미하는 System.out이다. 여기에 printf 메소드를 이용해 출력한다는 의미다.
// 기본 문법은 C언어의 printf()와 같다.
System.out.println("a / 2 = " + (a / 2));
// 개행을 해주는 출력문이다. 알아서 줄바꿈이 된다.
System.out.print("a = 1 = " + (a - 1));
// 줄바꿈이 안되는 print문이다.
scan.close();
// 모든 작업이 완료되었으니 객체 변수 scan에 자동으로 할당된
// 메모리를 닫아 작업을 끝내준다.
}
}

만약 public static void main(String[] args) 에서
public이 아니고 protect나 private라면
main()은 어디서도 클래스를 끌어오지 못하는 녀석이 되어 깡통이 될 것이고,
static이 없으면 메모리할당이 이상하게 되어버릴 것이며
void를 다른 것으로 바꾼다면 main함수가 리턴값을 가지게되어
예기치않은 값이 나올 것이다.
그래서 public static void main(String[] args)는 고정으로 둬야한다.
'했던것들 > 정보처리기사' 카테고리의 다른 글
정보처리기사/JAVA/클래스(생성자) (0) | 2022.07.19 |
---|---|
정보처리기사/JAVA/제어문 (0) | 2022.07.19 |
[요점정리] 2022년 정보처리기사 필기 4과목. 프로그래밍 언어 활용 (0) | 2022.04.21 |
[요점정리] 2022년 정보처리기사 필기 3과목. 데이터베이스 구축 (0) | 2022.04.21 |
[요점정리] 2022년 정보처리기사 필기 2과목. 소프트웨어 개발 (0) | 2022.04.21 |
C언어와 파이썬, 자바스크립트는 경험이 있는데 유독 JAVA만 경험이 없다.
그래서 정처기 문제 중 자바 관련 문제가 나오면 심히 메롱스럽다.
메롱스러우면 어쩔텐가
열심히 해야지!!
먼저 모든 프로그래밍의 기초인
데이터 입출력부터 찬찬히 공부해보자.
늦었다고 할 때는 이미 늦었다.
그니까 더욱 열심히 해야한단다.
해보자!
일단 당장 자바를 깔기엔
노동력 소모가 심하다.
다행히 웹에서 자바를 구동할 수 있는 사이트가 있다.
https://www.jdoodle.com/online-java-compiler/
JDoodle - free Online Compiler, Editor for Java, C/C++, etc
JDoodle is a free Online Compiler, Editor, IDE for Java, C, C++, PHP, Perl, Python, Ruby and many more. you can run your programs on the fly online and you can save and share them with others. Quick and Easy way to compile and run programs online.
www.jdoodle.com
이 사이트를 최대한 활용해서 자바를 손쉽고 빠르게 배워보도록 하자.
다음은 자바 입출력 문제이다.
아래 코드에서 우리는 정수를 입력해서 변수로 받은 뒤, 연산해서 나온 값을 출력하는 코드를 만들어볼 것이다.
<코드의 내용은 시나공의 교재를 따왔다.>
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.printf("a * 3 = %d\n", a * 3);
System.out.println("a / 2 = " + (a / 2));
System.out.print("a = 1 = " + (a - 1));
scan.close();
}
}
간단한 입출력 코드에도 이렇게나 입력해야할 것들이 많다.
그도 그럴게 자바는 객체지향 언어로써
아주아주 간단한 것을 코딩하더라도 반드시 클래스를 선언해서 작성해야 한다.
코드를 분석해보자.
import java.util.Scanner; // Scanner는 입력과 관련된 함수가 정의되어 있다. import로 불러왔다.
public class Test {
// 자바는 아무리 작은 프로그램이어도 클래스 안에 속성(변수)와 메소드(함수)를 만들어 실행한다.
// public class는 실행을 위한 클래스에 꼭 써야하는 예약어이고, Test는 클래스 이름이다.
// 클래스 이름의 첫 글자를 대문자로 하는 것은 관례이다. 즉 Duckchun 이런 식으로 이름을 짤 수 있다.
public static void main(String[] args) {
// 모든 C가 main()에서 시작하듯, 자바 역시 클래스 안에 main()이 있어야 실행된다.
// 이를 프로그램 실행 진입점이라고 한다.
// public static : public은 제한자이고 static은 정적이라는 의미인데 일단 main() 앞에 와야 한다.
// void : 반환값이 없다는 뜻이다. main()은 그냥 실행 진입점으로 반환값을 가지면 안된다.
// String[] args : 문자열을 string 클래스로 받겠다는 의미인데 일단 그냥 필요하다고 이해한다.
Scanner scan = new Scanner(System.in);
// Scanner : 입력에 사용할 객체 변수를 생성한다. 위에 Scanner를 불러와서 가능하다.
// scan : Scanner 클래스의 객체 변수 명이다. 임의로 적는다.
// new : 객체 생성 예약어이다. 약속이 된 것이므로 그냥 적는다.
// Scanner() : 클래스의 이름이다.
// System.in : 표준입력장치를 의미한다.
// 이를 합치면 Scanner 클래스의 scan 객체 변수를 new Scanner()를 통해 만들어주고,
// 그 내용물은 System.in(표준입력장치)로 한다.
int a = scan.nextInt();
// scan에서 넘어온 값을 int(정수)로 바꿔준다.
System.out.printf("a * 3 = %d\n", a * 3);
// 출력을 의미하는 System.out이다. 여기에 printf 메소드를 이용해 출력한다는 의미다.
// 기본 문법은 C언어의 printf()와 같다.
System.out.println("a / 2 = " + (a / 2));
// 개행을 해주는 출력문이다. 알아서 줄바꿈이 된다.
System.out.print("a = 1 = " + (a - 1));
// 줄바꿈이 안되는 print문이다.
scan.close();
// 모든 작업이 완료되었으니 객체 변수 scan에 자동으로 할당된
// 메모리를 닫아 작업을 끝내준다.
}
}

만약 public static void main(String[] args) 에서
public이 아니고 protect나 private라면
main()은 어디서도 클래스를 끌어오지 못하는 녀석이 되어 깡통이 될 것이고,
static이 없으면 메모리할당이 이상하게 되어버릴 것이며
void를 다른 것으로 바꾼다면 main함수가 리턴값을 가지게되어
예기치않은 값이 나올 것이다.
그래서 public static void main(String[] args)는 고정으로 둬야한다.
'했던것들 > 정보처리기사' 카테고리의 다른 글
정보처리기사/JAVA/클래스(생성자) (0) | 2022.07.19 |
---|---|
정보처리기사/JAVA/제어문 (0) | 2022.07.19 |
[요점정리] 2022년 정보처리기사 필기 4과목. 프로그래밍 언어 활용 (0) | 2022.04.21 |
[요점정리] 2022년 정보처리기사 필기 3과목. 데이터베이스 구축 (0) | 2022.04.21 |
[요점정리] 2022년 정보처리기사 필기 2과목. 소프트웨어 개발 (0) | 2022.04.21 |