Run java with cmd and run java with notepad++

JackV

Administrator
Staff member
Mình thì mình không khuyến khích cái bạn bắt đầu quá lâu với dòng lệnh cmd nhưng các bạn mới nên học thế này:
Tuần 1: Lập trình bằng notepad/notepad++ và chạy bằng cmd
Tuần 2, 3: Lập trình trình bằng notepad++ và chạy bằng notepad++
Tuần 4,5,6: Lập trình với Jcreator (có chức năng gợi nhớ) và tất nhiên là chạy bằng Jcreator luôn
Tuần 7 trở đi: Chọn một IDE để dùng (Netbeans, Esclipse, ...)

Để thực hành được trong tuần 1,2,3 thì các bạn phải có bước thiết lập đầu tiên sau khi cài đặt bộ JDK là set class path để cmd và notepad++ gọi được java:
Nhấp chuột phải lên My Computer chọn Properties, ở bảng properties chọn qua tab Advanced click nút Environment Variable, ở cửa sổ Environment Variable click nút New đầu tiên nhập vào lần lượt là
Variable name:
Code:
path
Variable value: là đường dẫn chỉ đến thư mục bin của JDK đã cài đặt, ví dụ
Code:
C:\Program Files\Java\jdk1.6.0_22\bin
(Nếu path đã được tạo thì bạn thêm dấu chấm phẩm trước đường dẫn của thư mục bin rồi thêm vào phía cuối phần Variable value)
Nhấp OK-OK-OK

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Để chạy một file java có tên là HelloWorld.java
PHP:
class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello World");
	}
}
===
Chạy với cmd thì cần phải đưa thư mục hiện hành đến thư mục chứa file .java nhưng có cách khác tiện dụng hơn đó là lưu một file cmd.bat tại thư mục chứa file .java với nội dung
hoặc
nhớ là khi lưu bằng notepad nhớ chọn phần file type là All File nếu không nó sẽ lưu mặc định với tên là cmd.bat.txt

Chạy file cmd.bat và nhập câu lệnh
Code:
javac HelloWorld.java
nếu không báo lỗi có nghĩa là thành công thì chạy tiếp
Code:
java HelloWorld
Bạn cũng có thể tạo file bat với các câu lệnh sau để nhấn và chạy không cần nhập nữa
Code:
javac HelloWorld.java
java HelloWorld
pause
pause để khi complie hay chạy có lỗi còn nhìn thấy được, chú ý, nếu có HelloWorld.class đã build trước đó mà lần này complie bằng câu lệnh javac HelloWorld.java không thành công nhưng câu lệnh java HelloWorld phía sau vẫn chạy.

===
Để chạy với notepad++ bạn nhấn F6 và nhập vào ô Command(s) nội dung sau:
Code:
javac "$(CURRENT_DIRECTORY)"/"$(FILE_NAME)"
java -classpath "$(CURRENT_DIRECTORY)" "$(NAME_PART)"
Nhấn OK.

Bạn có thể lưu lại để chọn lại nếu muốn lưu nhiều tập lệnh.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Chạy cmd có tham số
Bạn muốn in ra một câu thông báo là "Hello World, my nickname is JackV" thì sẽ lập trình
PHP:
class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello World, my nickname is " + args[0]);
	}
}
sau khi javac HelloWorld.java chạy
Code:
java HelloWorld JackV
Ở câu lệnh trên "JackV" được truyền vào mảng args ở vị trí đầu tiên nên có index là 0, nếu bạn truyền nhiều tham số thì để cách nhau bởi khoảng trắng
Code:
java HelloWorld JackV Cong Dong Java
thì args[0] = "JackV"
args[1] = "Cong"
args[2] = "Dong"
args[3] = "Java"


Rất đơn giản, chúc các bạn lập trình tốt.
 

meocon123

New Member
24/2/11
202
10
0
Ðề: Run java with cmd and run java with notepad++

Thêm chút này nữa nè:

Có một số trường hợp bạn cài notepad++ ko thể nhấn đc F6 là do plugin nppexec chưa đc cài đặt, hoặc đã đc cài đặt nhưng bị lỗi. Các bạn có thể tải lại nppexec.dll tại đây: http://sourceforge.net/projects/npp-plugins/files/
Copy vào thư mục plugin trong thư mục đã cài đặt ở ổ C.
Từ giao diện chương trình ta chọn Plugin -> Plugin manager -> show plugin manager.
Có thể tìm trong mục Avaiable tìm nppexec đánh dấu và install nếu ko tức là pligin này đã đc cài mà bị lỗi thì vào installed chọn nppexec và reinstall.
Sau khi xong các công đoạn các bạn có thể yên tâm nhấn F6 mà làm như The OKman đã hướng dấn. Chúc thành công!
 

lta86hn

New Member
28/2/11
36
8
0
Ðề: Run java with cmd and run java with notepad++

Cho mình hỏi một chuyện, vì sao mới học thì phải notepad ?
 

javafreak

New Member
20/6/11
34
2
0
Ðề: Run java with cmd and run java with notepad++

Cho mình hỏi một chuyện, vì sao mới học thì phải notepad ?
Bạn nên dùng notepad + cmd để quen dần với các hàm, các lệnh đi, trong các IDE thường hỗ trợ từ gợi nhớ, bạn phải phụ thuộc rất nhiều vào nó.
Thực ra mình cũng không thích dùng IDE lắm, cho đến bây giờ chỉ emacs + cmd:))
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Ðề: Run java with cmd and run java with notepad++

Tui thấy nhiều ông mới lập trình nhảy vào dùng IDE kéo thả cho nhanh, mất căn bản cấu trúc rồi kêu java khó sau đó chuyển qua học cái khác.
 

javafreak

New Member
20/6/11
34
2
0
Ðề: Run java with cmd and run java with notepad++

Đúng rồi đó, mình rất ghét cái kiểu kéo thả đó, mất hết ý nghĩa của lập trình.
 

apollo_1050

Member
2/6/11
129
2
18
Ðề: Run java with cmd and run java with notepad++

Thực ra mình cũng không thích dùng IDE lắm, cho đến bây giờ chỉ emacs + cmd:))
Mình cũng không ủng hộ cái vụ kéo thả, nhưng phải công nhận là dùng IDE, hiệu suất làm việc tăng đáng kể đó chứ bạn. :D
 

dehin

Member
11/5/11
45
1
8
Ðề: Run java with cmd and run java with notepad++

Nếu muốn chơi với cmd, các bạn có thể làm kiểu như sau ( lâp trình tí thôi- dung file .bat)
Click đúp vào file .java là sẽ gọi javac lên để dịch ra file class
Click đúp vào file .class thì nó tự đông gọi java để thông dich chạy==> ra kết quả.
Khá là tiện lợi. Ko phải bât cmd lên gõ lênh làm gì.
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Ðề: Run java with cmd and run java with notepad++

Nếu muốn chơi với cmd, các bạn có thể làm kiểu như sau ( lâp trình tí thôi- dung file .bat)
Click đúp vào file .java là sẽ gọi javac lên để dịch ra file class
Click đúp vào file .class thì nó tự đông gọi java để thông dich chạy==> ra kết quả.
Khá là tiện lợi. Ko phải bât cmd lên gõ lênh làm gì.
Đọc xong không biết cách làm là như thế nào! Ôi chém gió :P
 

javafreak

New Member
20/6/11
34
2
0
Ðề: Run java with cmd and run java with notepad++

Nếu muốn chơi với cmd, các bạn có thể làm kiểu như sau ( lâp trình tí thôi- dung file .bat)
Click đúp vào file .java là sẽ gọi javac lên để dịch ra file class
Click đúp vào file .class thì nó tự đông gọi java để thông dich chạy==> ra kết quả.
Khá là tiện lợi. Ko phải bât cmd lên gõ lênh làm gì.
Chắc ý bạn là tạo một file bat (javaexec.bat) chẳng hạn, rồi khi kick đúp vào file java, chọn chương trình để mở thì dẫn đến cái file bat đó, tương tự với cái file class.
 

beautifulsoul84hung

New Member
17/4/11
7
0
1
28
hà tây
Ðề: Run java with cmd and run java with notepad++

Giờ run trên win7 mình ko biết làm thế nào. Các bạn giúp mình cài path với
 

dehin

Member
11/5/11
45
1
8
Ðề: Run java with cmd and run java with notepad++

Chắc ý bạn là tạo một file bat (javaexec.bat) chẳng hạn, rồi khi kick đúp vào file java, chọn chương trình để mở thì dẫn đến cái file bat đó, tương tự với cái file class.
Uh đói với file java ta cứ Open With rồi chọn javac.exe làm chương trình mở mặc đinh là ok.
Từ này chỉ cần click đúp là tự động dịch file java.
Muốn xem, sửa mã nguồn thì , click chuột phải chọn Edit.
CÒn để làm với file .class thì mất thêm 1 bước nữa. Vì lệnh java tên_class ( ko có .class)
Nên phải bỏ cái đuôi .class đi, vì vậy bạn có thể lâp trình bằng C, cắt bỏ đuôi file, gọi system("java tenClass"); để thực thi. Tạo ra file exe, rồi để nó là chương trình mặc định mở file .class
Đọc xong không biết cách làm là như thế nào! Ôi chém gió
Biết thì thưa thốt ko biết thì dựa cột mà nghe.
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Ðề: Run java with cmd and run java with notepad++

Biết thì thưa thốt ko biết thì dựa cột mà nghe.
Em dựa cột nghe đó mà bác nói cứ trống không như là tiến sĩ khoa học ấy, chẳng nói cách làm mà chỉ nói đến một hướng khác, không phải bác chém gió là gì :P
 

yellow_lotus

New Member
22/6/11
12
0
0
30
Quảng Nôm
Ðề: Run java with cmd and run java with notepad++

Bạn JackV có thể nói rõ hơn cho mình về vấn đề khi chạy Java có tham số đc truyền vào không?
Mình tạo file HelloWorld.java như sau :
class HelloWorld{
public static void main(String[] args){
args[0] = "lien";
System.out.println("Hello World" + args[0]);
}
}

nhưng nó không chạy! mình không hiểu cách truyền tham số như thế nào cho đúng nữa, bạn hướng dẫn chi tiết giúp với nhé!
 

JackV

Administrator
Staff member
Ðề: Run java with cmd and run java with notepad++

class HelloWorld{
public static void main(String[] args){
args[0] = "lien";//=>> Đây là gán giá trị cho một phần tử mảng chứ không phải là truyền tham số vào
System.out.println("Hello World" + args[0]);
}
}
Tham số được truyền vào khi chạy theo dạng
PHP:
java HelloWorld thamSo1 thamSo2 thamSo3
Bạn xem lại phần hướng dẫn của mình về cách chạy có tham số nhé.

khi bạn chạy
PHP:
java HelloWorld
tức là không có tham số thì biến args được khởi tạo không có phần tử nào nên khi gọi nó để gán giá trị cho phần tử sẽ bị exception.

Bạn có thể chạy là
PHP:
java HelloWorld abc
thì giá trị abc sẽ bị thay thế ở args[0] = "lien"; và sẽ không bị exception nữa.
 

yellow_lotus

New Member
22/6/11
12
0
0
30
Quảng Nôm
Ðề: Run java with cmd and run java with notepad++

@Admin : mình đã làm đc rồi và mình đã hiểu rồi, thks mọi người nhiều ! :) Mình sẽ cố gắng để hạn chế mấy câu hỏi "Ngố ngố " này nữa :">

Giờ run trên win7 mình ko biết làm thế nào. Các bạn giúp mình cài path với
Mình đang dùng trên win7 đây bạn nè :)
Vẫn làm bình thường thôi mà !
Clik phải vào My Computer -> Properties->Advanced System Setting(góc trái ) -> Advanced -> Enviroment Variables -> New-> rồi điền code như Admin đã hướng dẫn đấy bạn!
hi, k ngờ mình cũng có thể giúp người khác ! vui vui :)
 

JackV

Administrator
Staff member
Ðề: Run java with cmd and run java with notepad++

Mình đã sửa lại phần này
khi bạn chạy
PHP:
java HelloWorld
tức là không có tham số thì biến args không trỏ đến đối tượng nào cả nên sẽ bị exception.
Khi xem lại thì mình thấy không phải args không trỏ đến đối tượng nào mà là nó được khở tạo một mảng không có phần tử nào.
 

chuotfx

Member
4/4/10
365
25
18
Ðề: Run java with cmd and run java with notepad++

nữa năm đầu làm với cmd

1,5 năm sau làm với eclipse ;))
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Ðề: Run java with cmd and run java with notepad++

Thoy, CMD 3 tháng là quá lắm rồi, bác chuột xem admin hướng dẫn ở trên kìa, bác cứ ôm cái màn hình đen thui chạy nửa năm chắc bác yêu màu đen.