(Java) Biến. định dạng đầu ra


Máy tính sẽ không cần thiết nếu nó không có khả năng lưu trữ nhiều thông tin khác nhau trong bộ nhớ và có thể xử lý thông tin cùng loại bằng cách sử dụng cùng một thuật toán. 
Để tạo ra nhiều chương trình thú vị hơn, người ta phải học cách lưu trữ thông tin trong bộ nhớ của máy tính. Đồng thời, chúng ta cần học cách truy cập bằng cách nào đó vào các ô nhớ của máy tính. 
Trong lập trình, cũng như trong cuộc sống, để chỉ bất kỳ phần nào trong bộ nhớ của máy tính, nó sẽ xuất hiện theo tên. Sử dụng tên này, bạn có thể đọc và viết thông tin ở đó.

Biến là một vị trí trong bộ nhớ máy tính có tên và lưu trữ một số giá trị tương ứng với loại.

Từ "biến" cho chúng ta biết rằng giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình.  Khi một giá trị biến mới được lưu, giá trị biến cũ sẽ bị xóa


Đối với máy tính, tất cả thông tin là dữ liệu trong bộ nhớ của nó - tập hợp các số 0 và 1 (nói một cách đơn giản, mọi thông tin trong máy tính chỉ là những con số và nó xử lý chúng theo cùng một cách). Tuy nhiên, chúng ta biết rằng số nguyên và số phân số hoạt động khác nhau. Do đó, mỗi ngôn ngữ lập trình có các loại dữ liệu khác nhau, được xử lý bằng các phương pháp khác nhau.

Ví dụ:
số nguyên biến – nhập int (từ số nguyên tiếng Anh – whole), chiếm 4 byte trong bộ nhớ;
thực biến có thể có phần phân số (loại float – từ dấu phẩy động tiếng Anh – dấu phẩy động) chiếm 4 byte trong bộ nhớ< br /> - ký tự (loại char – từ ký tự tiếng Anh – ký hiệu), chiếm 1 byte trong bộ nhớ

Hãy thử thêm một số biến vào chương trình của chúng ta.
Trước khi sử dụng một biến, bạn cần yêu cầu máy tính phân bổ không gian trong bộ nhớ cho biến đó. Để làm điều này, biến phải được khai báo, nghĩa là chỉ định loại giá trị mà biến sẽ lưu trữ và đặt tên cho biến.
Ngoài ra, nếu cần, bạn có thể gán giá trị ban đầu cho nó. 

Hãy lấy một chương trình làm ví dụ
lớp công khai Chính {  
    public static void main(String[] args) {  
        int a=6, b;  //hai biến kiểu số nguyên được khai báo trong biến a và lưu ngay giá trị 6. Biến b không được đặt giá trị ban đầu; những gì sẽ có trong bộ nhớ trong trường hợp này chúng tôi không biết.
    }
}

Bây giờ hãy thử nó cho mình.

Hãy thử viết một phép tính cho các số nguyên tố

Nhiệm vụ của chúng ta là hiển thị một biểu thức số học nào đó lên màn hình và yêu cầu máy tính tính toán.
Ví dụ: 
5+7=12
Hơn nữa, thay vì 5 và 7, có thể có các số khác nhau, tùy thuộc vào giá trị của các biến a và b trong chương trình.

Trong câu lệnh đầu ra, bạn không chỉ có thể hiển thị văn bản mà còn hiển thị giá trị của các biến, cũng như kết quả của một biểu thức số học. Hơn nữa, trình tự đầu ra có thể khác nhau. Ví dụ, để hiển thị biểu thức trên, bạn cần viết nó như sau: System.out.print(a+"+"+b+"="+(a+b)); Nếu muốn hiển thị giá trị của một biến thì chỉ cần chỉ định tên của nó mà không cần dấu ngoặc kép, nếu muốn hiển thị kết quả của một biểu thức số học thì chỉ cần viết đúng biểu thức số học là đủ.

*** Chuyên sâu: Đầu vào được định dạng ***
Trong chuỗi định dạng, số lượng bộ xác định đầu ra không bị giới hạn, điều chính đối với mỗi bộ xác định sau chuỗi định dạng là liệt kê tất cả các giá trị được phân tách bằng dấu phẩy sẽ được thay thế cho mẫu. Ví dụ: System.out.printf("%d+%d=%d",a,b,a+b); Chuỗi định dạng chỉ định ba bộ chỉ định để in các giá trị số nguyên thay thế.  ; Thứ tự thay thế là trực tiếp.  Những thứ kia. thay vì mẫu đầu tiên %d, giá trị của biến a sẽ được hiển thị; thay vì thứ hai -  giá trị của biến b; và  thay vì thứ ba - giá trị của biểu thức a+b Và bây giờ chúng ta sẽ viết một chương trình hiển thị kết quả của các phép tính số học cơ bản với các biến này

Để người dùng có thể tự đặt giá trị của biến, cần có khả năng nhập giá trị từ bàn phím. Đối với điều này, đối tượng in được sử dụng, được viết như sau: Máy quét trong = Máy quét mới (System.in); Nhưng để nó hoạt động, trước tiên bạn phải nhập nó bằng import java.util.Scanner

Để nhận giá trị số nguyên, hãy sử dụng   in.nextInt();, kết quả của giá trị này phải được gán cho một biến.
Ví dụ:  int a = in.nextInt();
Có các phương pháp khác cho các loại dữ liệu khác: 
  • next(): đọc dòng đầu vào cho đến khoảng trắng đầu tiên
  • nextLine(): đọc toàn bộ dòng đầu vào
  • nextInt(): đọc int đã nhập
  • nextDouble(): đọc giá trị đầu vào gấp đôi
  • nextBoolean(): đọc một giá trị boolean
  • nextByte(): đọc byte số đã nhập
  • nextFloat(): đọc float đã nhập
  • nextShort(): đọc ngắn số đã nhập

*** tài liệu chuyên sâu: dành cho những người quan tâm đến ngôn ngữ Java ***
Các công cụ xác định đầu ra bổ sung cho phép bạn kiểm soát đầu ra của các số ở các định dạng nhất định.

Chiều rộng trường tối thiểu
Ví dụ:
%04d  - số sẽ hiển thị ở 4 vị trí, nếu có ít hơn 4 chữ số thì những chữ số đầu tiên sẽ là số 0
int a=34; System.out.printf("%04d",a); //trên màn hình: 0 0 3 4   
Dấu gạch dưới được đặt ở đây đặc biệt để hiển thị trực quan đầu ra của số.   

%4d – giống nhau, nhưng thay vì số 0 sẽ có khoảng trắng
int a=34; System.out.printf(“%4d”,a); //trên màn hình:      3 4 < /mã>

Đầu ra với độ chính xác nhất định - được sử dụng để xuất số thực. Theo mặc định, số thực được hiển thị với độ chính xác lên tới 6 chữ số thập phân. Nhưng có những trường hợp cần xuất ra với độ chính xác khác. Trong trường hợp này, bạn cần chỉ định số lượng địa điểm quen thuộc cần phân bổ cho chính số đó và số lượng sau dấu thập phân.
Ví dụ:
%9.3f   - một số thực sẽ được hiển thị ở 9 vị trí, với ba chữ số thập phân.

double a=34.24356; System.out.printf("%9.3f",a); // trên màn hình: _ _ _ 32.2 44

Hãy thử sử dụng thông tin này trong thực tế.

Tài liệu này dành cho nghiên cứu chuyên sâu hơn. Chúng ta sẽ phân tích cách in các biến bằng toán tử xuất Java (printf)
*** Chất liệu sâu ***


Làm cách nào để hiển thị giá trị của một biến trên màn hình?
Để thực hiện việc này, bên trong chuỗi định dạng trong câu lệnh đầu ra, bạn phải chỉ định một mẫu mà tại đó giá trị của biến sẽ được hiển thị.
Việc sử dụng mẫu nào tùy thuộc vào loại biến. 
Các mẫu này được gọi là thông số đầu ra và được trình bày trong bảng. Một số lượng đủ các specifiers được đưa ra. Không cần thiết phải ghi nhớ tất cả chúng. 
Trong hầu hết các trường hợp, chúng tôi sẽ sử dụng các trình xác định để xuất số nguyên, số thực, cũng như các ký tự và chuỗi. Nhưng bạn có thể quay lại bài học này bất kỳ lúc nào và xem mẫu bạn cần.
  <đầu>
Bổ sung:
Để hiển thị các biến như short int  công cụ sửa đổi h được sử dụng (ví dụ: \(\%hd\))
Để hiển thị giá trị của các biến kiểu long int, hãy sử dụng công cụ sửa đổi l (ví dụ: \(\%ld \))
Công cụ sửa đổi L có thể được sử dụng làm tiền tố trước các công cụ xác định e, f, g. Điều đó có nghĩa là một giá trị thuộc loại long double được hiển thị trên màn hình.  (ví dụ: \(\%Lf\))

Hãy xem một ví dụ trong thực tế

 

Định dạng
%c Biểu tượng
%d Số thập phân có dấu
%i Số thập phân có dấu
%e Định dạng khoa học (chữ thường e)
%E Định dạng khoa học (viết hoa E)
%f Số thực 
%g Tùy thuộc vào định dạng nào ngắn hơn, %e hoặc %f được sử dụng
%G Tùy thuộc vào định dạng nào ngắn hơn, %E hoặc %f được sử dụng
%o Bát phân có dấu
%s Chuỗi ký tự
%u Số thập phân không dấu
%x Số thập lục phân không dấu (chữ thường)
%X Số thập lục phân không dấu (chữ hoa)
%p Chỉ mục
%n Con trỏ tới một biến số nguyên. Trình xác định làm cho biến số nguyên này được gán số ký tự được in trước nó
%% Ký %                           
Để  đầu ra của một số thực được đảm bảo có dấu chấm làm dấu phân cách, bạn phải sử dụng bố cục của Mỹ, được kết nối với:
  Ngôn ngữ.setDefault(Ngôn ngữ .Hoa Kỳ);