コマンドプロンプトのプロパティ
カレントフォルダ
毎回毎回デスクトップの・・・とかやってられないので、開くときはこの場所にしてねという。
コマンドプロンプトは今日開きっぱなしにしておく。
一行目の
public class Exe1{
のExe1と、
ファイル名のExe1.javaが対応して一致していないといけないらしい。
さらに保存するときは必ずs-jisにする。
コメントはcssと一緒
/*
*/
と
//
JAVAではクラスという単位でプログラムをつづる
クラス名は:
大文字で始める
あとは小文字
数字始まりはダメ
キャメルシンタックスでつづる
必ずクラス名.javaという名前で保存しないといけない。
static
スタティック
args
アーグス
public static void main(String[] args){
入口ですよという決まり文句
println
lnと書くと改行する
ただのprintだと改行しない
--->コマンドプロンプト
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>javac Exe1.java
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>java Exe1
HELLO!
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>
最初にコンパイルする
javac Exe1.java
次にプログラム実行
java Exe1
(実行するときは拡張子はつけない)
修正したらまたコンパイルかけて実行
コンパイルするとクラスファイルを作ってくれる
人に渡すときはclassファイルだけでいい。ソースファイルはユーザに渡さないらしい(変に触られたら困るし)
エラーを出そう
わざとファイル名とクラス名を不一致にする
→プロンプトで矢印↑を2回
エンター
エラーですよ
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>javac Exe1.java
Exe1.java:6: エラー: クラス Exeはpublicであり、ファイルExe.javaで宣言する必要があります
public class Exe{
^
エラー1個
あるいはクラス名を小文字からしてしまうと同じエラーが出ますよ
プログラム言語では大文字と小文字は違って認識する
全角スペースをわざといれよう
→
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>javac Exe1.java
Exe1.java:7: エラー: '\u3000'は不正な文字です
public static void main(String[] args){
^
エラー1個
これが不正な文字ですシリーズ。変な全角(丸括弧とか大かっことかがうっかり全角だったりする)が教えられた行に入っているのを疑え。
System.out.printlnのSをsにしてみましょう
→
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>javac Exe1.java
Exe1.java:8: エラー: パッケージsystemは存在しません
system.out.println("HELLO!");
あるべきものが見つけられない、といわれたらまずスペルミスを疑う。
この行がおかしいというのも時々あてにならなかったりする
括弧の閉じ忘れとか。
エラー100個とかいわれても、最初の1つから直す。
その1こで全部が治ることもあるらしい。
実習中、時間に余裕があったら、わざとエラーを出すといい。どういうときにどういうエラーが出るか慣れておくといい。
staticを抜くと?
→コンパイルは通る
→実行したときに「正しい入口みつからんけど」
C:\Users\web.DESKTOP-EQR2U6K\Desktop\java>java Exe1
エラー: メイン・メソッドがクラスExe1のstaticではありません。次のようにメイン・メソッドを定義してください。
public static void main(String[] args)
プログラムは「動いて成功」
文法エラー(コンパイル時にチェックできる)
実行エラー(実行したときにでてくるエラー)
論理エラー(足し算させたいのに引き算になっちゃった。小規模なやつは自分でやるし、大規模ならデバッカーがやったりするらしい)
動いている安全なものに付け加えていく。バグのままでは絶対放置しない。安全に動くものをベースにコピーしていくのがいい。
できるだけコピペをつかって労力つかわずやってください。
逆スラッシュnで改行もできる