Path(パス)
Path(パス)は、環境変数(environment variable,환경 변수)の一つである。
コンピューターは方向音痴であるため、住所が必要である。
Pathはコンピューターがプログラムを実行するため、そのプログラムの位置(住所)を登録する通路だ。
このようなものを環境変数ともいう。
pathに住所が登録されない場合、コンピューターはJavaの位置を知りないためエラーが発生する。
そのため、Javaにエラーがある場合は、pathにインストールしたjavaのディレクトリを登録する。
ユーザー環境変数(User environment variable, 사용자 변수) > システム変数(System variable, 시스템 변수)
pathが両方ある場合、優先度はユーザー環境変数の方が高い可能性がある。
IDEを使わずにもJavaでプログラミングができる。
そのため、CMDでJavaを入力し、先ほどPathをチェックした。
実習の前に以前学んだ概念を簡単にまとめる。
Compile: .javaファイルを .classファイルに変換すること。
Run:.classファイルを実行する。
Input:実行する際に入力値をインプットする。
Output: 入力値により、異なる動作をするアウトプットを出す。
Compile&Run(コンパイル&ラン)
Compile
<命令語>
cd 経路: 入力した経路に変更する。Compileのためにはまず、javaプログラムのあるディレクトリに経路を変更する。
dir: 現在、ディレクトリにあるファイルを並べる。
javac ファイル名.java: .javaファイルを.classに変更する。
7つのファイルが8つのファイルに増加し、classファイルが作成された。
Compileに成功した結果である。
失敗した場合は、javac -cp "." ファイル名.java を入れてみる。
Run
java class名
Program.classを実行し、その結果1,2,3という実引数をプリントした。
Compile&Run&Input
Compile&Run(Library)
Packageを活用する際、時々Libraryが他のフォルダーに移動する場合もある。
例えば、既存のLibraryフォルダーがcafeというフォルダーを移動することになったとすれば、
普段のコマンドであれば、このようなエラーが生じる。
C:\Users\gram\Desktop\Java1\Programming>java Ok_JavaGoInHome
오류: 기본 클래스 Ok_JavaGoInHome을(를) 찾거나 로드할 수 없습니다.
C:\Users\gram\Desktop\Java1\Programming>javac Ok_JavaGoInHome.java
Ok_JavaGoInHome.java:13: error: unmappable character for encoding MS949
String Address ="???썙?뙭由ъ뒪 5021?샇";
^
Ok_JavaGoInHome.java:13: error: unmappable character for encoding MS949
String Address ="???썙?뙭由ъ뒪 5021?샇";
^
Ok_JavaGoInHome.java:13: error: unmappable character for encoding MS949
String Address ="???썙?뙭由ъ뒪 5021?샇";
^
Ok_JavaGoInHome.java:13: error: unmappable character for encoding MS949
String Address ="???썙?뙭由ъ뒪 5021?샇";
^
Ok_JavaGoInHome.java:13: error: unmappable character for encoding MS949
String Address ="???썙?뙭由ъ뒪 5021?샇";
コンピューターは先ほど述べた遠り、方向音痴で自分で探すことができないため、
新しく更新した住所(移動したフォルダー)を入力する必要がある。
(より正確にはJVMがjava Ok_JavaGoInHomeを呼び出す中で、libraryの移動により既存のソースでimportができないためだ。
もちろん、コードを修正することでも解決はできる。)
その際には、-cp ".;移動したフォルダー"というコードを活用することで解決できる。
具体的には、コマンドを入力する。
javac -cp ".;cafe" java Ok_JavaGoInHome.java -encoding utf-8(実引数が韓国語であったため)
java -cp ".;cafe"java Ok_JavaGoInHome
Input(Library)
次はOk_javaGoInHomeInputを実してみる。
Ok_javaGoInHomeInputを実行しようとしたが、またエラーが生じている状況だ。右下を見れば最後に17が書いている。これはコードの17行目に問題があることを意味している。
String Name = args[0];
17行目のラインを見ると、args(仮引数)が原因であると推測できる。
そのため、先のコマンドに直接実引数を入れる。
java -cp ".;cafe" Ok_javaGoInHomeInput "띵성" 25.0
以下のコマンドを入力すれば、
Eclipseやプログラムを使わず、直接実引数を入れることで解決した。
API vs UI
UI:ユーザーが機械またはプログラムを操作するために使用する操作装置。ユーザーとプログラムまたは機械を繋ぐ架け橋でもある。携帯のスマートフォンのホームボタン、アプリケーションのアイコンなど、コンピューターのディスプレイなどは典型的なUIの一つである。
API:API(アプリケーションプログラミングインターフェース)は、プログラムやサービス間でデータを交換し、機能を共有するためのインタフェースであり、相互作用する方法を定義した規約や仕様である。
Javaを"Hello World"を画面に表示させるコードを組み(プログラミング)、JavaがOSに命令することで、プログラミングを実行する。その結果、コンソールで"Hello World"が表示され、ユーザーが見れる。
LINEのログインAPIを通して、LINEのサーバーに繋がり、IDとPWを提供
ることでログインの機能を許可する。
その結果、LINEを起動され、メッセージを送ったり、電話をしたりする。
https://mundol-colynn.tistory.com/123
[JAVA / 자바] API vs Library: API와 Library의 차이
API vs Library API(Application Programming Interface)와 라이브러리(Library)는 개발자들이 프로그램을 개발할 때 사용하는 도구와 인터페이스입니다. 이 둘은 서로 연관되어 있지만 구체적인 차이점이 있습니
mundol-colynn.tistory.com
APIとLibraryの違いはこちらで参考できる。
Class
初心者基準、Classは一つの機能やプログラムだと考えば、分かりやすい。
その機能が似ているClassが重複しないよう、分類のためにそれをまとめたものがPackageである。
public class ClassApp {
public static void main(String[] args) {
System.out.println(Math.PI); PIはmath classの変数(Field)
System.out.println(Math.floor(1.6)); floorはmath classのメッソド(Method)
System.out.println(Math.ceil(2.0)); ceilはmath classのメッソド(Method)
}
}
また、Classは似ている変数(Field)とメッソド(Method)をグループにしたものである。
ざっくりして、このような仕組である。
'IT自主学習 (2023.05.23~) > Java(2023.05.23~)' 카테고리의 다른 글
プログラミング自主学習 9日目 条件文/配列/反復文 (0) | 2023.05.28 |
---|---|
プログラミング自主学習 8日目 インスタンス/継承/今までの知識でアプリ作成 (0) | 2023.05.27 |
プログラミング自主学習 6日目 プログラミング/ioTプログラム(練習)/デバッガ/入出力/実引数と仮引数 (0) | 2023.05.25 |
プログラミング自主学習 5日目 変数/変数の効用/キャスト (0) | 2023.05.24 |
プログラミング自主学習 4日目Java Desktop Application/データと演算 (0) | 2023.05.23 |