JAVA 애플리케이션 구현 및 실행, JAVA 동작 원리, JAVA 기술의 응용
JAVA 애플리케이션 구현 및 실행
-
Package Explorer
: 소스 코드나 이미지 파일 모아두는 프로젝트 폴더 관리하는 화면 (대신Navigator
써도 됨!) -
Package Explorer
와Navigator
의 차이:Navigator
는 프로젝트 폴더를 있는 그대로 보여주는 반면Package Explorer
는 프로그램 개발에 편리하도록 화면을 바꿔 보여줌 (특정 파일을 숨기는 등)
1. 자바 프로젝트 및 파일 생성
-
File
>New
>Java Project
-
Project Name과 Location은 임의 지정 가능하며, 서로 달라도 됨!
-
JRE(Java Runtime Environment) = JVM(Java Virtual Machine) = 설치한 자바 프로그램
-
Project layout: 폴더 구조 설정
✅ Use project folder as root for sources and class files: 소스 코드와 소스 코드가 컴파일된 실행 파일인 클래스 파일을 프로젝트의 최상위 디렉토리에 둠
✅ Create separate folders for sources and class files: 소스 코드와 소스 코드가 컴파일된 실행 파일인 클래스 파일을 다른 곳에 둠
Source folder: 소스 코드 위치할 폴더
Output folder: 클래스 파일 위치할 폴더
-
프로젝트 폴더의 지정한 Source folder에 File 추가 (
New
>File
)
@.java
형식 -
바로 Class 파일 추가해줘도 됨 (
New
>Class
)
2. 코드 작성
특정 파일을 실행시키면 자바는 그 파일과 이름이 동일한 클래스를 찾아 그 안의 main함수를 실행하기 때문에 파일과 클래스의 이름은 동일해야 함
→ 코드는 main함수 안에 작성해야 함
public class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
3. 저장 및 실행
-
저장
Ctrl+S
버튼을 누르면.java
파일이 컴파일 과정을 거쳐.class
파일이 생성됨 -
Run as
>1 Java Application
로.class
파일 실행
.java
파일: 사람이 읽고 쓸 수 있는 소스 코드 들어 있음
.class
파일: 기계가 읽고 쓸 수 있는 정보 들어 있음
JAVA의 동작 원리
🌙 원인
source = code = language
(같은 대상을 바라보는 관점에 따라 다르게 나타내는 표현일 뿐임)
🌙 결과
application = app = program
(같은 대상을 바라보는 관점에 따라 다르게 나타내는 표현일 뿐임)
JAVA 기술의 응용
JAVA를 통해 할 수 있는 일들
1. 데스크탑 애플리케이션 만들기
1) "Hello World!!" 문자열 출력하는 데스크탑 애플리케이션 만들기
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
public class HelloWorldGUIApp{
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("HelloWorld GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(400, 300));
JLabel label = new JLabel("Hello World!!", SwingConstants.CENTER);
frame.getContentPane().add(label);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dim.width/2-400/2, dim.height/2-300/2);
frame.pack();
frame.setVisible(true);
}
});
}
}
2. 사물 제어하기 (IOT)
1) 라즈베리 파이 이용해 Hello World 모스 부호로 LED 점멸하게 하기
사물인터넷 (Internet Of Things) : 사물이 인터넷에 연결돼 프로그래밍적으로 제어됨
└ 라즈베리 파이(Raspberry Pi)
: 교육용 사물인터넷 컴퓨터
-
Windows
나Linux
같은 운영체제 설치되어 있음 -
Java → 라즈베리 파이:: n번 핀에 전기 흐르게 하도록 명령 내릴 수 있음
→ 이러한 방식으로 지구상의 수많은 사물을 기계적으로 자동화된 방법으로 제어할 수 있게 됨
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;
public class HelloWorldRaspberryPi {
public static void main(String[] args) throws InterruptedException {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "PinLED", PinState.LOW);
final int SHORT_INTERVAL = 200;
final int LONG_INTERVAL = SHORT_INTERVAL * 3;
final int LETTER_INTERVAL = SHORT_INTERVAL * 7;
while (true) {
// H
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LETTER_INTERVAL);
// e
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LETTER_INTERVAL);
// l
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(LONG_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LONG_INTERVAL);
// l
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(LONG_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LONG_INTERVAL);
}
}
}
3. 안드로이드 애플리케이션 만들기
1) "Hello World!!" 문자열 출력하는 안드로이드 애플리케이션 만들기
Android Development Documentation
> 시작하기 > 첫 앱 빌드하기
문서 참고
Android Studio: 안드로이드 개발할 때 필요한 여러 도구들 통합하여 제공하는 개발 도구
Author And Source
이 문제에 관하여(JAVA 애플리케이션 구현 및 실행, JAVA 동작 원리, JAVA 기술의 응용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@whdbqls424/생활코딩-JAVA-2일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)