Kiểu dữ liệu
Chuyển đổi kiểu dữ liệu sang chuỗi:
String String.valueOf (Object obj)
String String.valueOf (boolean b)
String String.valueOf (char c)
String String.valueOf (char [] data)
String String.valueOf (char[] data, int offset, int count)
String String.valueOf (boolean b)
String String.valueOf (int i)
String String.valueOf (long l)
String String.valueOf (float f)
String String.valueOf (double d)
Kiểu dữ liệu
Chuyển đổi kiểu dữ liệu sang kiểu int / Integer , long/Long
Integer Integer.valueOf (String str)
Integer Integer.valueOf (int i)
int Integer.valueOf (String str).intValue()
int i Integer.parseInt (String str)
Long Long.valueOf (String str)
Long Long.valueOf (long l)
long l = Long.parseLong (String str)
long i = Long.valueOf (String str).longValue()
(*) int, long: kiểu dữ liệu cơ sở
(**) Integer, Long : Kiểu dữ liệu Lớp hướng đối tượng
109 trang |
Chia sẻ: thanhle95 | Lượt xem: 552 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ JAVA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1:Lập trình cơ bản với ngôn ngữ JAVA Môi trường, cấu trúc chương trình, kiểu dữ liệuNội dungMôi trường lập trìnhChương trình đầu tiênKiểu dữ liệuNhập & xuất ở màn hình ConsoleCác cú pháp rẽ nhánh, lặpMảng một chiềuMảng hai chiềuMôi trường lập trìnhNetbeans IDE 7.2Môi trường lập trìnhDownload: Platform:WindowsLinuxSolarisMac OS XChương trình đầu tiên File 🡪 New Project Chương trình đầu tiên Thiết lập: Project name, location, folder 🡪 FinishChương trình đầu tiên Chương trình đầu tiênChương trình xuất ra màn hình console chuỗi "Hello World"Chương trình đầu tiên:Hàm main public static void main(String[] args) { // TODO code application logic here String s = new String("Hello World"); System.out.println(s); }Một chương trình JAVA phải có 1 hàm main. Hàm main là điểm bắt đầu của chương trình (Entry Point)Chương trình đầu tiênCấu hình Entry Point cho chương trình:Chọn project 🡪 Properties🡪 Run 🡪 Main Class:Chương trình đầu tiênGhi chú://Ghi chú trên 1 dòng/* Ghi chú trên nhiều dòng*/ /** * @param args the command line arguments: Ghi chú để sử dụng tạo ra các tài liệu Java doc */Chương trình đầu tiên Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh:Hai lệnh cơ bản:javac : Biên dịch các tập tin *.java thành tập tin thực thi *.classjava: Chạy chương trình từ các tập tin sau khi biên dịchSau khi cài JDK, kiểm tra các lệnh java, javac đã sẳn sàng hay chưa?:LỗiChương trình đầu tiên Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh:Nếu chưa:1. Tìm đường dẫn thư mục đã cài đặt JDK/bin2. Thay đổi biến môi trường PATHControl Panel 🡪 System 🡪 Advance System Setting 🡪 Enviroment VariablesBổ sung đường dẫn của thư mục cài đặt JDK/bin vào biến PATH3. Tắt và mở lại cửa sổ command line và thực thi lại để kiểm tra.Ví dụ: C:\Program Files (x86)\Java\jdk1.7.0_06\binChương trình đầu tiên Chương trình đầu tiênKhi các lệnh java và javac đã sẳn sàng:OKOKChương trình đầu tiênGiả sử project HelloWorld ở đường dẫn: C:\Users\TruongSon\Documents\NetBeansProjects\HelloWorld Chương trình đầu tiên1. Biên dịch lớp HelloWorld.java, kết quả biên dịch được bỏ vào trong thư mục classes2. Thực thi lớp HelloWorld nằm trong package helloworld:C:\Users\..\HelloWorld>javac -d "classes" "src/helloworld/HelloWorld.java"C:\Users\..\HelloWorld>java -classpath "classes" helloworld.HelloWorldBiên dịch và thực thi bằng command line Chương trình đầu tiênBiên dịch và thực thi bằng NetbeansKiểu dữ liệu và khai báo biếnKiểu dữ liệu thường dùng:Số nguyên: int, longSố thực: float, doubleChuỗi: char, StringNgày: DateKhai báo biến:KieuDuLieu TenBien;KieuDuLieu TenBien = GiaTri;Kiểu dữ liệuChuyển đổi kiểu dữ liệu sang chuỗi:String String.valueOf (Object obj) String String.valueOf (boolean b) String String.valueOf (char c) String String.valueOf (char [] data) String String.valueOf (char[] data, int offset, int count) String String.valueOf (boolean b) String String.valueOf (int i) String String.valueOf (long l) String String.valueOf (float f) String String.valueOf (double d) Kiểu dữ liệu Chuyển đổi kiểu dữ liệu sang kiểu int / Integer , long/LongInteger Integer.valueOf (String str) Integer Integer.valueOf (int i) int Integer.valueOf (String str).intValue() int i Integer.parseInt (String str) Long Long.valueOf (String str) Long Long.valueOf (long l) long l = Long.parseLong (String str)long i = Long.valueOf (String str).longValue() (*) int, long: kiểu dữ liệu cơ sở(**) Integer, Long : Kiểu dữ liệu Lớp hướng đối tượngKiểu dữ liệu Chuyển đổi kiểu dữ liệu sang kiểu float/ Float, double/DoubleFloat Float.valueOf (String str) Float Float.valueOf (int i) float Float.valueOf (String str).floatValue() float Float.parseFloat (String str) Double Double.valueOf (String str) Double Double.valueOf (double l) double Double.valueOf (String str).doubleValue() double Double.parseDouble (String str) (*) float, double: kiểu dữ liệu cơ sở(**) Float, Double: Kiểu dữ liệu Lớp hướng đối tượngChuyển đổi kiểu dữ liệu sang kiểu ngày://Ngày tháng năm SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date d= sdf.parse("20/3/2000"); //Năm tháng ngày SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"; Date d= sdf.parse("2000-3-20"); //Tháng ngày năm SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); Date d= sdf.parse("3/20/2000"); Hằng sốKhai báo:final KieuDuLieu TENHANGSO = GiaTri; Ví dụ: final double PI = 3.14; Toán tử+, -, *, /, % ++, -- +=, -=, *=, /= , %= & , | , ! &&, || Nhập liệu từ màn hình console Thư viện: java.util.Scanner; Sử dụng: Scanner scan = new Scanner (System.in); String str = scan.nextLine (); Xuất ra màn hình consoleCú pháp: System.out.print(); System.out.println(); Ví dụ: System.out.print("Hello World"); String s = "Hello World";System.out.println(s); Nhập & Xuất từ màn hình consoleĐịnh dạng xuất %b : boolean %c : char %d : int, long %f : float, double %s : String Định dạng xuất Cú pháp: String.format("định dạng", tham số 1, , tham số n); Ví dụ int n = 100; double m = 20.8; String str = String.format ("n = %d, m= %f", n, m); System.out.println (str); Định dạng xuất Ví dụ String mssv="0212055"; String hoVaTen = "Trần Duy Thảo"; Double diem = 9.5; //Xuất theo cách thông thường System.out.println(mssv + "-" + hoVaTen + ":" + diem); //Xuất sử dụng định dạng xuấtString str = String.format("%s - %s : %f", mssv, hoVaTen, diem); System.out.println(str); if12345if (biểu thức điều kiện) { lệnh 1; ... lệnh n } 123456Scanner scan = new Scanner (System.in); String str = scan.nextLine ();int n = Integer.parseInt(str);if ( n > 0 ) { System.out.println(“n là số dương"); } if - else12345if (biểu thức điều kiện) { ...} else {...} 12345678System.out.println("n=");Scanner scan = new Scanner(System.in);int n = Integer.parseInt(scan.nextLine()); if (n > 0) { System.out.println("n là số dương"); } else { System.out.println("n là số âm"); } if - else if - else12345891011if (biểu thức điều kiện) { ... } else if (biểu thức điều kiện) { ... } else if (biểu thức điều kiện) { ... } else { ... } if - else if - else12345891011121314151617Scanner scan = new Scanner(System.in);System.out.print("Điểm trung bình:");int diem = Integer.parseInt(scan.nextLine()); if (diem>=9) { System.out.println("Xuất sắc"); } else if (diem>=8 && diem=7 && diem =5 && diem =10) Cấu trúc lặp for1234for (khởi tạo biến; điều kiện lặp; hành động sau mỗi lần lặp){...}12345678Scanner scan = new Scanner (System.in); System.out.print(“Nhập n:");int n = Integer.parseInt(scan.nextLine());int s=0; for (int i=1; i= 0 && index = 0 && index = 0 && index = 0 && index < this.arr.length) { value = this.arr[index]; } return value; } } Định nghĩa các phương thức Get / Set 123456789101112public static void main(String[] args) {MangSoNguyen mps = new MangSoNguyen( 3, 9, 5); //Sử dụng getint[] arr = mps.getArr();int index = 1;Integer value = mps.get(index);//Sử dụng setint[] arr2 = {9,6,8};mps.setArr(arr2);index=0;mps.set(index, 7); }Định nghĩa các phương thức nhập xuất12345678910111213141516171819public class PhanSo{//Khai báo các thuộc tínhprivate int tuSo;private int mauSo;public void nhap(String tieuDe) { System.out.println(tieuDe);Scanner scan = new Scanner(System.in); System.out.print("Tử số:");this.tuSo = Integer.parseInt(scan.nextLine()); System.out.print("Mẫu số:");this.mauSo = Integer.parseInt(scan.nextLine()); } public void xuat(String tieuDe){System.out.println(tieuDe);String str=String.format("%d/%d",this.tuSo, this.mauSo); System.out.println(str); } } Định nghĩa các phương thức nhập xuất12345678910111213package bt1;public class Main { public static void main(String[] args) { PhanSo ps1=new PhanSo(); ps1.nhap("Nhập phân số 1"); ps1.xuat("Xuất phân số 1"); PhanSo ps2=new PhanSo(); ps2.nhap("Nhập phân số 2"); ps2.xuat("Xuất phân số 2");} } Định nghĩa các phương thức nhập xuất12345678910111213package bt1;public class MangPhanSo { //Khai báo thuộc tính private PhanSo[] arr;public void nhap(String tieuDe){ Scanner scan=new Scanner(System.in); System.out.println(tieuDe); System.out.print("Số lượng phần tử:"); int n=Integer.parseInt(scan.nextLine()); this.arr=new PhanSo[n]; for(int i=0; i<this.arr.length; i++){ this.arr[i] = new PhanSo(); this.arr[i].nhap("Phân số thứ "+i); } } } Định nghĩa các phương thức nhập xuất12345678910public void xuat(String tieuDe){ System.out.println(tieuDe);int n = this.arr.length; System.out.println("Số lượng phần tử: " + n); for(int i=0; i<this.arr.length; i++){ this.arr[i].xuat("Phân số thứ "+i); }}} 1234567public static void main(String[] args) { MangPhanSo mps=new MangPhanSo(); mps.nhap("Nhập mảng phân số"); mps.xuat("Xuất mảng phân số"); } Định nghĩa các phương thức nhập xuất123456789101112131415161718package bt1;public class MangSoNguyen { //Khai báo thuộc tính private int [] arr;...public void nhap(String tieuDe){ Scanner scan=new Scanner(System.in); System.out.println(tieuDe); System.out.print("Số lượng phần tử:"); int n=Integer.parseInt(scan.nextLine()); this.arr=new int[n]; for(int i=0; i<this.arr.length; i++){ System.out.print("Phần tử thứ "+ i + ":"); this.arr[i]=Integer.parseInt(scan.nextLine()) } } ... } Định nghĩa các phương thức nhập xuất1234567891011...public void xuat(String tieuDe){ System.out.println(tieuDe);int n = this.arr.length; System.out.println("Số lượng phần tử: " + n); for(int i=0; i<this.arr.length; i++){ System.out.print("Phân số thứ "+i+ ":"); System.out.println(this.arr[i]); } }}1234567public static void main(String[] args) { MangSoNguyen msn=new MangSoNguyen();msn.nhap("Nhập mảng số nguyên"); msn.xuat("Xuất mảng số nguyên"); } Định nghĩa các phương thức xử lý nghiệp vụ123456789101112public class PhanSo{//Khai báo các thuộc tính private int tuSo;private int mauSo;...public PhanSo cong(PhanSo ps){ PhanSo kq=new PhanSo(); kq.tuSo=this.tuSo*ps.mauSo+this.mauSo*ps.tuSo; kq.mauSo=this.mauSo*ps.mauSo;return kq; } ... } Định nghĩa các phương thức xử lý nghiệp vụ12345678910111213package bt1;public class Main { public static void main(String[] args) { PhanSo ps1=new PhanSo(); ps1.nhap("Nhập phân số 1"); ps1.xuat("Xuất phân số 1"); PhanSo ps2=new PhanSo(); ps2.nhap("Nhập phân số 2"); ps2.xuat("Xuất phân số 2"); PhanSo kq=ps1.cong(ps2); kq.xuat("Tổng hai phân số"); } } Định nghĩa các phương thức xử lý nghiệp vụ12345678910111213package bt1;public class MangPhanSo { //Khai báo thuộc tính private PhanSo[] arr; ...public PhanSo tong(){ PhanSo s=this.arr[0];for(int i=1; i<this.arr.length; i++){ s=s.cong(this.arr[i]); } } ... } Định nghĩa các phương thức xử lý nghiệp vụ123456789public static void main(String[] args) { MangPhanSo mps=new MangPhanSo(); mps.nhap("Nhập mảng phân số"); mps.xuat("Xuất mảng phân số"); PhanSo s=mps.tong(); s.xuat("Tổng mảng phân số"); }Định nghĩa các phương thức xử lý nghiệp vụ123456789101112package bt1;public class MangSoNguyen { //Khai báo thuộc tính private int[] arr; ...public int tong(){ int s=0;for(int i=0; i<this.arr.length; i++){ s=s + this.arr[i]; } return s;} ... } Định nghĩa các phương thức xử lý nghiệp vụ123456789public static void main(String[] args) { MangSoNguyen msn=new MangSoNguyen(); msn.nhap("Nhập mảng số nguyên");msn.xuat("Xuất mảng số nguyên");int s=msn.tong();System.out.println("Tổng mảng số nguyên: "+ s); }Định nghĩa các phương thức overload 1234567891011121314151617public class PhanSo{ private int tuSo; private int mauSo; public PhanSo cong(PhanSo ps){PhanSo kq=new PhanSo(); kq.tuSo=this.tuSo*ps.mauSo+this.mauSo*ps.tuSo; kq.mauSo=this.mauSo*ps.mauSo;return kq; }public PhanSo cong(int k){ PhanSo kq=new PhanSo(); kq.tuSo=this.tuSo+this.mauSo*k;kq.mauSo=this.mauSo;return kq; } } Định nghĩa các phương thức overload 1234567891011package bt1;public class Main { public static void main(String[] args) { PhanSo ps1=new PhanSo(2, 3); PhanSo ps2=new PhanSo(3, 4); PhanSo kq1=ps1.cong(ps2); kq1.xuat("Tổng hai phân số ps1 và ps2"); PhanSo kq2=ps1.cong(40); kq2.xuat("Tổng hai phân số ps1 và 40"); } } Định nghĩa các phương thức overload 12345678910111213141516package bt1;public class MangPhanSo { private PhanSo[] arr; ...public PhanSo tong(){ PhanSo s=this.arr[0];for(int i=1; i<this.arr.length; i++){ s=s.cong(this.arr[i]); } }public PhanSo tong(MangPhanSo mps){ PhanSo s1=this.tong(); PhanSo s2=mps.tong(); PhanSo kq=s1.tong(s2); return kq; } } Định nghĩa các phương thức overload 1234567891011public static void main(String[] args) { MangPhanSo mps1=new MangPhanSo(); mps1.nhap("Nhập mảng phân số"); PhanSo s1=mps1.tong();s1.xuat("Tổng mảng phân số 1"); MangPhanSo mps2=new MangPhanSo(); mps2.nhap("Nhập mảng phân số"); PhanSo s2=mps1.tong(mps2); s2.xuat("Tổng mảng phân số 1 & 2"); } Định nghĩa các phương thức overload 123456789101112131415161718package bt1;public class MangSoNguyen { private int[] arr; public PhanSo tong(){ int s=0;for(int i=0; i<this.arr.length; i++){ s=s + this.arr[i]; } }public int tong(MangSoNguyen msn){ int s1=this.tong(); int s2=msn.tong(); int kq=s1 + s2; return kq; } } Định nghĩa các phương thức overload 1234567891011public static void main(String[] args) {MangSoNguyen msn1=new MangSoNguyen(); msn1.nhap("Nhập mảng số nguyên 1");int s1=msn1.tong();System.out.println("Tổng mảng số nguyên 1" + s1); MangSoNguyen msn2=new MangSoNguyen(); msn2.nhap("Nhập mảng số nguyên 2");int s2=msn1.tong(msn2);System.out.println("Tổng mảng số nguyên 1&2"+ s2); } Định nghĩa các phương thức static12345678910111213public class PhanSo{ private int tuSo; private int mauSo; public static PhanSo parsePhanSo(String str){ PhanSo kq=new PhanSo();String [] s=str.split("/"); kq.tuSo=Integer.parseInt(s[0]); kq.mauSo=Integer.parseInt(s[1]); return kq; } } Định nghĩa các phương thức static1234567891011package bt1;public class Main { public static void main(String[] args) { PhanSo ps1=PhanSo.parsePhanSo("2/3"); PhanSo ps2=PhanSo.parsePhanSo("3/4"); PhanSo kq1=ps1.cong(ps2); kq1.xuat("Tổng hai phân số ps1 và ps2"); PhanSo kq2=ps1.cong(40); kq2.xuat("Tổng hai phân số ps1 và 40");} } Định nghĩa các phương thức static1234567891011121314package bt1;public class MangPhanSo { private PhanSo[] arr;public static MangPhanSo parseMangPhanSo(String str{ MangPhanSo mps=new MangPhanSo(); String []s=str.split(";");mps.arr=new PhanSo[s.length]; for(int i=0; i<s.length; i++){ mps.arr[i]=PhanSo.parsePhanSo(s[i].trim()); } return mps;} } Định nghĩa các phương thức static1234567891011public static void main(String[] args) { MangPhanSo mps1=MangPhanSo.parseMangPhanSo(“1/2;2/3;3/4”); s1.xuat("Tổng mảng phân số 1"); MangPhanSo mps2=MangPhanSo.parseMangPhanSo( “4/3;7/6;9/2”); mps2.nhap("Nhập mảng phân số"); PhanSo s2=mps1.tong(mps2); s2.xuat("Tổng mảng phân số 1 & 2"); } Định nghĩa các phương thức static1234567891011121314package bt1;public class MangSoNguyen { private int[] arr;...public static MangSoNguyen parseMangSoNguyen(String str){ MangSoNguyen msn=new MangSoNguyen(); String []s=str.split(";"); msn.arr=new int[s.length];for(int i=0; i<s.length; i++){ msn.arr[i]=Integer.parseInt(s[i].trim()); } return msn; } } Định nghĩa các phương thức static1234567891011public static void main(String[] args) {MangSoNguyen msn1=MangPhanSo.parseMangSoNguyen("2;3;4"); System.out.println("Tổng mảng số nguyên 1:" + s1); MangSoNguyen msn2=MangPhanSo.parseMangSoNguyen( "4;7;9"); int s2=msn1.tong(msn2);System.out.println("Tổng mảng số nguyên 1&2:"+s2); }