Cấp bậc tác giả:

TRAINING

Hướng dẫn học Java - Bài 1: Cơ bản

Được viết bởi QuangIT ngày 14/09/2012 lúc 04:58 PM
- Tổng quan về java - Lập trình cơ bản với java - Bài tập
  • 0
  • 1776

Hướng dẫn học Java - Bài 1: Cơ bản


1.1 TNG QUAN V JAVA

1.1.1 Gii thiu Java

a. Lch s phát trin Java

- Sun Microsystems, 1990, James Gosling -> dự án Green, phát triển phần mềm trong các thiết bị điện tử dân dụng

- Gosling tạo ngôn ngữ Oak, giống C++, bỏ qua các tính năng:

+ truy cập trực tiếp tài nguyên hệ thống, các phép toán con trỏ

+ được thiết lập với mục đích tạo tính tương thích cao, có thể thay đổi kiểu phần cứng mà không phải viết lại phần mềm

- Oak : ngôn ngữ thích hợp cho Internet. 1994, trình duyệt HotJava

- 1995, Oak đổi tên thành Java và nhanh chóng phát triển

- 1996, nhiều nhà sản xuất phần mềm cũng như phần cứng đứng đầu thế giới đã mua bản quyền công nghệ Java từ Sun


b. Các đc trưng ca Java

Đơn gin (Simple): loại bỏ thao tác con trỏ, chồng toán tử, lệnh “goto”, file header (.h), cấu trúc struct và union

ng đi tưng (Object Oriented)

Đc lp phn cng và h điu hành (Portable)

Mnh (Robust):  yêu cầu chặt chẽ kiểu dữ liệu, bỏ phép toán con trỏ, kiểm tra tất cả các truy nhập đến mảng, chuỗi, kiểm tra chuyển đổi kiểu dữ liệu, cấp phát, giải phóng bộ nhớ thực hiện tự động nhờ bộ thu gom rác, cơ chế bẫy lỗi đơn giản hóa việc xử lý lỗi

Bo mt (Secure):  cung cấp một môi trường quản lý thực thi chương trình. Dữ liệu và các phương thức được đóng gói bên trong lớp. Không cho phép truy xuất bộ nhớ trực tiếp. Không cho truy xuất thông tin bên ngoài kích thước của mảng. Cung cấp kỹ thuật dọn rác trong bộ nhớ. Trình biên dịch, thông dịch kiểm soát  để đảm bảo mã là an toàn. Kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống

Phân tán (Distributed)

Đa lung (Multithreaded)

Đng (Dynamic): được thiết kế để thích hợp với môi trường mở, cho phép khả năng liên kết động mã


        Biên dịch    Thông dịch (Máy ảo Java)

Tập tin .java --------->Tập tin .class -----> chạyCT

javac.exe      (Mã byte code) java.exe


1.1.3 Son tho và thc hing dng Java đơn gin

Ví d: class Hello {

public static void main(String args[]) {

System.out.print("Hello, ");

System.out.println("welcome to Java");

}

}

- Soạn thảo chương trình bởi WordPad…, lưu với tên trùng với tên lớp chứa phương thức main(), phần mở rộng .java

- Chỉ đường dẫn đến các chương trình tiện ích của java:

+ Tại DOS, gõ lệnh: path C:\jbuilder9\jdk1.4\bin

+ Hoặc tại Windows, bấm phải Mouse trên My Computer, chọn Properties, Advanced, Environment Variables, chọn biến hệ thống System Variables là Path, nút Edit, gõ tiếp vào Variable Value: ;C:\jbuilder9\jdk1.4\bin


- Biên dịch tập tin .java thành ngôn ngữ máy ảo Java (ByteCode) lưu trong tập tin lớp .class. Chuyển đến thư mục chứa tập tin .java, gõ lệnh:

javac  Tptin.java

-Trình thông dịch Java chuyển đổi từng ByteCode trong tập tin .class thành ngôn ngữ máy

java  Tênlp

Ví d: Thực hiện ứng dụng Hello.java chứa trong thư mục C:\myjava

C:

CD \myjava

C:\myjava>javac hello.java

C:\myjava>java Hello


- Tạo dự án lưu vào thư mục D:\vdjava\hello: File/ New Project: Name (tên dự án .jpx): Hello

Directory (tên thư mục lưu dự án)

Output path (thư mục lưu các tập tin  class biên dịch từ tập tin .java)

Working directory (thư mục lưu toàn bộ ứng dụng) thiết lập sẵn, chọn nút Finish

- Tạo lớp: File/ New Class

Package: để trống

Class name (tên lớp): Hello

Base class (tên lớp kế thừa): java.lang.Object

- Chạy chương trình:Kích phải trên tên lớp, chọn Run using defaults


1.2 LP TRÌNH CƠ BN VI JAVA  

1.2.1 Các thành phn cơ bn ca ngôn ng Java

a. B ký t dùng trong Java (Character Set)

Ngôn ngữ Java sử dụng bộ ký tự chuẩn quốc tế Unicode


b. T khoá (Keyword)

định nghĩa trước, có ý nghĩa xác định, phải dùng đúng cú pháp, đều viết bằng chữ thường, không dùng vào việc khác hay đặt tên mới trùng từ khoá, gồm:

- Từ khoá khai báo: public, private, static, abstract, extends, const, import, package, class, interface, implement, new…

- Từ khoá điều khiển: switch, case, break, if, return, for, while, continue, try, catch, throws…

- Từ khoá toán tử: instanceof…

- Từ khoá kiểu dữ liệu: boolean, char, short, long, double, int, byte, float, null, void…


c. Tên (Identifier)

- Dãy ký tự chỉ tên gói, giao diện, lớp, biến, phương thức, hằng, phân biệt hoa, thường, bắt đầu bằng ký tự hoặc dấu $ _... nhưng không bắt đầu bằng một số, không có dấu cách, tránh một số ký hiệu như % @ *… dùng với ý nghĩa riêng.

- Khi đặt tên nên theo quy tắc đặt tên của Java cho dễ nhớ như sau:

Tên gói: viết chữ thường: java.util, java.io

Tên hằng: viết chữ hoa: BLUE, PI, E

Tên lớp, giao diện: bắt đầu bằng chữ hoa và viết hoa đầu từ: Scanner, BufferedReader

Tên biến, phương thức: bắt đầu bằng chữ thường, các chữ đầu từ viết hoa: hoTen, out


d. Li chú thích

- Chú thích nhiều dòng:  /*  …  */

- Đặt dấu // và ghi lời chú thích sau đó trên cùng một dòng.

- Tạo chú thích trong tập tin tài liệu .html: tổng kết, giới thiệu các thành phần trong chương trình:

Ví d: /* * Chú thích này có ý nghĩa cho tiích javadoc, s là mt phn

ca tài liu đưc t đng phát sinh bi tin ích javadoc */

javadoc  vidu.java  'enter'


1.2.2 Kiu d liu, biến, hng

a. Kiu d liu (Data Type)

- Kiểu dữ liệu là tập hợp các giá trị mà một biến thuộc kiểu đó có thể nhận được. Mỗi biến phải khai báo thuộc một kiểu dữ liệu.

- Các kiểu dữ liệu trong ngôn ngữ Java chia làm 2 loại :

+ Kiểu dữ liệu cơ bản, hay sơ cấp (Primitive Data Type)

+ Kiểu dữ liệu tham chiếu, hay dẫn xuất (Reference Data Type): kiểu lớp (class), kiểu mảng (array)


b. Biến (Variable)

Định nghĩa biến thuộc kiểu dữ liệu cơ bản: Type  VarName;

hay có thể khởi tạo giá trị đầu cho biến: Type  VarName = Value;

Ví d: String s = “Hello”;

int x = 5, y = 7;

  int i, s = 0;

c. Hng (Constant)

Hằng là một vùng nhớ để lưu trữ dữ liệu hay địa chỉ dữ liệu không thay đổi giá trị trong chương trình.

final Type ConstName = Value;

Ví dfinal int max = 10;

Hằng nguyên: 25

Hằng thực: 2.5, 4.5E-2

Hằng ký tự: ‘a’

Hằng chuỗi: “Hello”


- Các ký tự đặc biệt được thêm dấu \ gọi là ký tự thoát (Escape Character) phía trước

\n Ký tự xuống dòng

\t Ký tự canh cột (Tab)

\b Ký tự xoá trái (Backspace)

\r Ký tự về đầu dòng (Carriage Return)

\f Ký tự qua trang (Formfeed)

\\ Ký tự xổ trái (Backslash)

\’ Ký tự nháy đơn (Single Quote)

\’’ Ký tự nháy kép (Double Quote)

\ddd Ký tự ứng với mã ASCII dạng bát phân ddd

\udddd Ký tự ứng với mã Unicode dddd


1.2.3 Biu thc và phép toán

-Các toán t s hc (Arithmetic Operator)

- toán hạng có kiểu số, trả về kết quả kiểu số

+, -, *, /, %

Các toán t tăng, gim (Increment, Decrement Operator)

- các biến kiểu số nguyên và kiểu ký tự

op ++/-- hay ++/-- op : tăng/giảm biến số nguyên một đơn vị, hay cho ký tự Unicode kế tiếp/ kế trước

- Toán tử tăng, giảm đặt trước hay sau biến diễn đạt ý nghĩa khác nhau

Ví d 1: int x = 4, y;  y = x++; y = ++x; x++;

System.out.println(++x);

Ví d 2: char c = ‘a’;  c++;

Toán t quan h hay so sánh (Comparison Operator)

- kết quả có kiểu logic

==, !=, >, <, <=, >=

Ví d : 155 > 2.5 ‘B’ < ‘A’

Toán t logic (Boolean Operator)

- toán hạng kiểu logic, kết quả kiểu logic

&&, &: và, ||, |: hoặc, !: phủ định, ^: hoặc loại trừ

- Phép &, && cho kết quả true khi 2 toán hạng có giá trị true

- Phép |, || cho kết quả false khi 2 toán hạng có giá trị false

- Phép ^ cho kết quả là true khi 2 toán hạng khác giá trị nhau

- Phép ! cho kết quả là true nếu op có trị false, và ngược lại


Ví d 1: 100 > 55  &&  ‘B’ < ‘A’

Diem >= 5  &&  Diem < 7

C == ‘Y’  ||  C == ‘y’

Ví d 2: x > 3 && x < ++y

Phép && chỉ cần một toán hạng bên trái  trả về false, lập tức kết quả phép toán trả về false, Java không tính đến toán hạng bên phải


Toán t gán (Assignment Operator)

gán giá trị của một biểu thức cho một biến

Biế =  Biu _Thc;

Ví dụ : x = 10;

Có thể dùng toán tử gán nhiều lần liên tiếp trong câu lệnh.

Ví d: x = y = z = 0;//Cả ba biến x, y, z đều được gán giá trị 0

char c = ‘a’;

c = (char) (c+4);//c+4 là mã unicode của ký tự ‘e’, cho kết quả là ‘e’

nToán tử rút gọn (Shorthand Assignment Operator) như sau :

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>= 

Ví dụ : int a = 2;

a + = 4;  //Tương đương với   a = a + 4;


- Phép toán điều kiện ?:

op1 ? op2 : op3

- nếu toán hạng logic op1 có trị true, trả về giá trị op2, ngược lại trả về op3

- Phép nối chuỗi: +

- Ghép nối các chuỗi, nếu có toán hạng nào không phải chuỗi, Java tự động chuyển sang chuỗi

Ví d 1: int x, a = 2, b = 5;

x = a>b ? a : b;

System.out.println(a>b ? ”So a lon hon” : ”So b lon hon”);

Ví d 2: “Họ và tên của học viên " + soTT + " là : "+ hoTen

" 2 + 2 = "+ (2 + 2)


c. Đ ưu tiên các phép toán

- Thực hiện theo thứ tự từ trên xuống, cùng hàng sẽ có cùng độ ưu tiên

- Quy định thứ tự thực hiện phép toán bằng ( )

( ), [], 

++, --, +op, -op, !, ~ Phải sang trái

new,  (type) op Phải sang trái

*,  /, %

+, -

<<, >>, >>>

<, >, <=, >=, instanceof

==, !=

&

^

|

&&

||

? : Phải sang trái

=, +=, -=, *=, /=, %=, ^=, &=, |=, <<=, >>=, >>>= Phải sang trái

Ví ds += a += b += c;

1.2.4 Lnh (Statement)

Lệnh có thể là lệnh đơn, khối lệnh hay cấu trúc điều khiển

a. Lnh đơn

Lệnh đơn là thành phần cơ bản nhất trong chương trình Java, diễn đạt một thao tác riêng lẻ phải làm, được kết thúc bằng dấu chấm phẩy

Lệnh đơn có thể là:

lời gọi phương thức: System.out.println(“Đây là một hằng chuỗi”);

phép gán: x=10;

phép tăng, giảm giá trị biến: x++;

các lệnh định nghĩa, khai báo: int i;

 

b. Khi lnh

Nhiều câu lệnh đơn có thể nhóm lại thành một câu lệnh phức hợp gọi là khối lệnh. Khối lệnh được mở đầu bằng dấu { và kết thúc bằng dấu }, có thể đặt trong một khối lệnh khác


c. Cu trúc r nhánh

Cấu trúc if

if là câu lệnh lựa chọn cho phép chương trình rẻ nhánh thực hiện lệnh theo hai hướng khác nhau căn cứ trên giá trị true, false của biểu thức điều kiện kiểu logic

Cú pháp:

Dng 1: if (Boolean-Expression)

Statement;

Dng 2: if (Boolean-Expression)

Statement1;

else Statement2;

Boolean-Expression là biểu thức điều kiện có kiểu logic

Statement1, Statement2 có thể là lệnh đơn, khối lệnh, hay cấu trúc điều khiển


1.2.4 Cu trúc điu khin

-Cu trúc switch… case

câu lnh la chn, r nhánh thc hin lnh theo nhiu hưng khác nhau căn c trên giá tr ca mt biu thc

Cú pháp: switch (Expression) {

case Expression1:

Statement1;

break; …

case Expressionn :

Statementn;

break;

default :        

Statementn+1;

}


Cu trúc switch… case

Sơ đồ khối: Nếu không có break, hướng thực hiện là


Cu trúc switch… case

Ví d:

Nhập tháng, năm và in ra số ngày trong tháng, biết rằng tháng 1, 3, 5, 7, 8, 10, 12 : số ngày trong tháng là 31, tháng 4, 6, 9, 11 : số ngày trong tháng là 30, tháng 2 : năm nhuận : số ngày là 29, năm không nhuận : số ngày là 28. Năm nhuận là năm chia hết cho 400, hay năm chia hết cho 4 và không chia hết cho 100


1.2.4 Cu trúc lp

Cu trúc for

Cú pháp:

for ( Initialization-Expressions; Boolean-Expression; Increment-Expressions )

Statement;

Statement: lệnh đơn, khối lệnh, hay cấu trúc điều khiển

Initialization-Expressions: phần khởi tạo là các biểu thức khởi tạo trị biến điều khiển vòng lặp, cách nhau dấu phẩy

Boolean-Expression: biểu thức điều kiện kiểu logic, thường là biểu thức so sánh giá trị của biến điều khiển với giá trị kết thúc vòng lặp

Increment-Expressions: phần tăng là các biểu thức tăng giảm giá trị biến điều khiển vòng lặp, cách nhau dấu phẩy

Ý nghĩa:

Khi lệnh lặp For bắt đầu, phần khởi tạo được thực hiện trước, và thực hiện duy nhất một lần, sau đó biểu thức điều kiện được kiểm tra, nếu biểu thức đúng thì lệnh sẽ được thực hiện, tiếp theo thực hiện phần tăng của vòng lặp và quá trình kiểm tra biểu thức điều kiện, thực hiện lệnh, và thực hiện phần tăng sẽ lặp đi lặp lại cho đến khi biểu thức điều kiện sai


Ví d :

Trăm trâu trăm cỏ

Trâu đứng ăn năm

Trâu nằm ăn ba

Ba trâu già ăn một

Hỏi số trâu mỗi loại


class SoTrau {

public static void main(String[] args) {

System.out.println("Trau dung Trau nam Trau gia");

int  td=100/5;

for (int d=1;d<=td;d++) {

int tn=(100-d*5)/3;

for (int n=1;n<=tn;n++) {

int g = 100 - d - n;

if (d*5+n*3+(double)g/3==100)

System.out.println("\t"+d+"\t"+n+"\t"+g);

}

}

}}


Cu trúc while

Cú pháp: while (Boolean-Expression)  

Statement;

Statement: có thể là lệnh đơn, khối lệnh, hay cấu trúc điều khiển

Boolean-Expression: là biểu thức điều kiện có kiểu logic

Ý nghĩa: Kiểm tra chng nào biểu thc điều kin còn tho mãn thì còn thc hin lnh.


Ví dụ: Tìm ước số chung lớn nhất của 2 số x, y

Phân tích: nếu x = y thì USCLN của x và y là x,

nếu x > y thì USCLN của x, y cũng là USCLN của x-y và y.


Cú pháp: do

Statement;

while (Boolean-Expression);

Statement: có thể là lệnh đơn, khối lệnh, hay cấu trúc điều khiển

Boolean-Expression: là biểu thức điều kiện có kiểu logic

Ý nghĩa: Đầu tiên s thc hin lnh, sau đó kim tra biu thc điều kin, nếu biểu thc đúng, thì vòng lp tiếp tc, nếu biểu thc sai thì thoát vòng lp


Ví d 1: Lặp chương trình nhiều lần

while (true) {

…..

InputStreamReader kbd = new InputStreamReader(System.in);

System.out.println(“Ban co muon tiep tuc khong”);

char c = (char) kbd.read();

if (c!=’Y’ && c!=’y’) break;

}


Hoặc là:

char c;

do {

…..

InputStreamReader kbd = new nputStreamReader(System.in);

System.out.println(“Ban co muon tiep tuc khong”);

char c = (char) kbd.read();

}

while (c=’y’ || c==’Y’);


Ví d 2: Cho biết số nguyên dương n có phải là số nguyên tố không

Phân tích: n là số nguyên tố khi n chia không chẵn cho bất kỳ số nào từ 2 đến căn bậc hai của n, vì vậy lần lượt xét n có chia hết cho các số từ 2 đến căn bậc hai của n, cho đến khi xét hết hay tìm được một số mà n chia hết


class NguyenTo {

public static void main(String[] args) {

int n = 7;

double k = Math.sqrt(n);

int i = 1;

do

i++;

while (i <= k && n % i != 0);

if (i > k) System.out.println(n+" la so nguyen to");

else System.out.println(n+" khong la so nguyen to");

}

}

1.2.5 Ngoi l (Exception) và x lý ngoi l

- Ngoại lệ là các đối tượng kiểu lớp định nghĩa sẵn, biểu diễn trạng thái lỗi tự động phát sinh khi một hàm được thực hiện.

- Khi ngoại lệ nảy sinh, có 2 khả năng xử lý: bắt lỗi, cho qua.

- Lệnh xử lý ngoại lệ :  try, catch, finally, throw và throws

a. Lệnh try…catch…finally

 pháp: try {     Statement;

}

catch (Exception-Type1 Name1) {

    Statement1;

} …

 finally Statementn+1;

}


Ý nghĩa:

try : định nghĩa một khối lệnh mà ngoại lệ có thể xảy ra

catch : đi kèm với try để bắt ngoại lệ. Nếu ngoại lệ xảy ra trong khối try, Java sẽ bỏ qua các lệnh còn lại trong khối try, và thực hiện thân của mệnh đề catch có kiểu ngoại lệ tương ứng

finally : thân của mệnh đề finally luôn thực hiện trước khi lệnh try kết thúc, dù có hay không có ngoại lệ


b. Mệnh đề throws

Nếu một hàm chứa lệnh (lời gọi hàm) có phát sinh ngoại lệ mà bạn không bắt lấy bằng lệnh try... catch, phải cho qua bằng cách thêm mệnh đề throws vào cuối khai báo hàm, nếu không trình biên dịch sẽ báo lỗi. :

throws Exception-Type1,Exception-Type2…


c. Lệnh throw

Cú pháp: throw Exception-Instance;

Tạo một đối tượng kiểu ngoại lệ : sử dụng tham đối trong mệnh đề catch hay tạo một đối tượng mới bằng toán tử new

Ví dụ: throw new NumberFormatException();

Ý nghĩa: Lệnh throw đưa vào khối try cho phép bạn điều khiển điều kiện phát sinh ngoại lệ. Khi gặp lệnh throw, chương trình sẽ bỏ qua các câu lệnh sau throw trong khối truy, và thực hiện thân của mệnh đề catch có kiểu ngoại lệ tương ứng


VD: Nhập họ tên không quá 25 ký tự, năm sinh từ 1980 đến 1985 import java.io.*;

class Nhap {

public static void main (String[] args) throws IOException {

BufferedReader kbd = new BufferedReader(new InputStreamReader (System.in));

String s = null;

do {

System.out.print("Nhap Ho va ten khong qua 25 ky tu: ");

s = kbd.readLine(); //phát sinh  IOException

} while (s.length()>25 || s.length()==0);

System.out.println(“Ho va ten là : “+s);


while (true) {

   try { 

      System.out.print("Nhap nam sinh : ");

      s = kbd.readLine();

      int ns =Integer.parseInt(s); //phát sinh NumberFormatException

      if (ns<1980 || ns>1985) throw new NumberFormatException();

      System.out.println("Nam sinh la : "+ns);

      break;

}

catch(NumberFormatException e) {

   System.out.println("Ban nhap lai nam sinh tu 1980 -1985");

}

}}}


1.2.6 Mảng

 Cấu trúc lưu giữ các thành phần cùng kiểu, chiều dài cố định.

a. Mảng 1 chiều

Khai báo một biến tham chiếu đến mảng

Khai báo một biến dùng để tham chiếu đến mảng các thành phần kiểu ArrayType, nhưng không có mảng nào thật sự tồn tại

ArrayType[] ArrayName;

Kiểu dữ liệu thành phần có thể là bất kỳ kiểu cơ sở, tham chiếu

int[] m;          // Khai báo một mảng số nguyên

String[] s; //Khai báo một mảng các chuỗi

Tạo một mảng

dùng toán tử new để tạo mảng, nghĩa là cấp phát bộ nhớ cho các thành phần và gán mảng đén biến đã khai báo

ArrayName = new ArrayType[ArraySize];

ArraySize : là số thành phần của mảng

Ví dụ: m = new int[10];  // tạo một mảng số nguyên


Bạn có thể kết hợp khai báo biến mảng và tạo mảng như sau :

ArrayType[] ArrayName new ArrayType[ArraySize];

Có thể viết như sau :

ArrayType ArrayName[] = new ArrayType[ArraySize];

Ví dụ: int[] m new int[10];

int m[] new int[10];

- Truy xuất thành phần của mảng

ArrayName[index] với index : 0 đến ArraySize-1

Ví dụ : m[0] = 20;

- Lấy kích thước mảng

ArrayName.length

- Khởi tạo giá trị đầu của mảng

Mảng có thể khởi tạo khi khai báo không dùng toán tử new.

Ví dụ 1boolean[] answers = {true, false, true, true, false};

        int monthDays[] = {31,28,31,30,31,30,31,31,30,31,30,31};


Ví dụ 2:

class ThamDoi {

     public static void main (String[] args) {

          for (int i=0; i < args.length; i++)

     System.out.println(“Tham doi thu “+i+”: “+args[i]);

     }

}

Khi chạy chương trình :

javac thamdoi.java

java ThamDoi Thu tham doi dong lenh

Cho kết quả: Tham doi thu 0 : Thu

Tham doi thu 1 : tham …

java ThamDoi  Thu “tham doi” “dong lenh”

Cho kết quả: Tham doi thu 0 : Thu

Tham doi thu 1 : tham doi

Tham doi thu 2 : dong lenh



b. Mng đa chiều (Arrays of Arrays)

Khai báo mng 2 chiều

int m[][] = new int[4][5];

int[][]  m = new int[4][5];

m :  mảng 4 dòng, 5 cột  

Các mảng con có thể có chiều dài khác nhau:

int m[][] = new int[2][];

m[0] = new int[2];

m[1] = new int[4];

Truy cp phn t mng:

m[i][j] với i là chỉ số dòng: 0 – (số dòng -1)

j là chỉ số cột: 0 – (số cột -1)


-Kích thưc mng:

-m.length: số dòng của mảng

-m[i].length:  số cột của dòng thứ i

Khi to giá tr đu cho mng:

String[][] nhom ={{"Hoa", "Thu", "Hue", "Cuc"},{"Xuan", "Ha"}};

Þmảng có 2 dòng, dòng 0 có 4 cột

dòng 1 có 2 cột


Ví dụ: Tạo ma trận các phần tử số nguyên

public class MaTran {

     public static void main(String[] args) {

      int[][] a = new int[4][5];

      for (int i = 0; i < a.length; i++)

     for (int j = 0;j<a[i].length; j++) 

                         a[i][j] = i + j;

        for (int i = 0; i < a.length; i++) {

     for (int j = 0; j < a[i].length; j++)

System.out.print(a[i][j] + "\t");

             System.out.println();

     }

    }}


Bài tập:

1) Cho 3 số thực và tìm số nhỏ nhất

2) Giải phương trình bậc 2 : ax2 + bx + c = 0

3) Xếp loại sinh viên xuất sắc, giỏi, khá, trung bình khá, trung bình hay yếu dựa vào điểm trung bình

4) Tính tổng n số hạng, với n là số nguyên dương
S=1+1/2+1/3+...+1/n
5) Tính tổng n số hạng, với n là số nguyên dương
S=1/2^2+ 3/4^2 + 5/6^2 + ...

Bài tiếp theo sẽ nói về Lập Trình Hướng Đối Tượng(Quan trọng)

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML