Java quy định kiểu tham số nào là tham trị năm 2024

Mình mới bắt đầu học về java. Hiện mình có một hàm, có tham số kiểu int bên trong. Mình muốn đưa một biến vào, trong hàm sẽ thay đổi giá trị của nó. Sau khi thoát ra khỏi hàm thì biến sẽ nhận giá trị mới thì làm thế nào

ví dụ x=1; tăng[x]; -> x = 2

  • Được gửi bởi ngohieutp

Mình mới bắt đầu học về java. Hiện mình có một hàm, có tham số kiểu int bên trong. Mình muốn đưa một biến vào, trong hàm sẽ thay đổi giá trị của nó. Sau khi thoát ra khỏi hàm thì biến sẽ nhận giá trị mới thì làm thế nào

ví dụ x=1; tăng[x]; -> x = 2

Theo mình được biết thì không thể làm được. Vì với những kiêu nguyên thủy của Java chỉ có thể được truyền theo kiểu tham trị, tức là giá trị của x vẫn giữ nguyên sau khi gọi hàm. Còn làm theo cách của bạn là truyền tham biến, thì chỉ có thể áp dụng với các đối tượng.

-
  • > Java không giống với C hay C++, tất cả các biến nguyên thủy [primative value] luôn luôn truyền tham trị. Muốn giữ nguyên giá trị của biến sau khi gọi hàm chỉ có cách duy nhất là truyền vào tham số là một đối tượng. Java tương tác đến tất cả các đối tượng bằng tham chiếu. Do đó cách giải quyết vấn đền trên là bạn phải "gói" biến đó vào một đối tượng

    Ví dụ: Integer i = new Integer[]; Thay vì int i

    - > Bạn nói rõ hơn được không? Mình thử rồi nhưng không được.

    Được gửi bởi Lovely89

Bạn nói rõ hơn được không? Mình thử rồi nhưng không được.

Bạn đã thử như thế nào ? Có thể post đoạn code đó lên đây không ?

-
  • - Nó báo lỗi ngay trong dòng Integer i= new Integer[];cannot resolve symbol: constructor Integer []in class java.lang.Integer

    Biến cần có bộ nhớ dành riêng để lưu trữ giá trị. Nghĩa nào khi bạn khai báo biến bạn cần dữ trữ không gian cho bộ nhớ. Dựa vào kiểu dữ liệu của biến, hệ điều hành sẽ cấp bộ nhớ và quyết định thứ gì có thể lưu trữ ở bộ nhớ đã cho. Như biến có kiểu dữ liệu số nguyên, số thức hay kí tự thì hệ điều hành sẽ xác định vùng nhớ đó lưu giá trị như thế nào.

    Phân loại các kiểu dữ liệu

    Java có 2 loại kiểu dữ liệu:

    Các kiểu dữ liệu nguyên thủy [Primitive Data Types] Các kiểu dữ liệu tham chiếu [Reference Types]

    Primitive Data Types

    Có đến 8 kiểu dữ liệu primitive trong Java. Kiểu dữ liệu Primitive đã được đặt ra trước và tên nó nằm trong từ khóa của Java. Bây giờ ta sẽ xem những kiểu dữ liệu đó:
  • Kiểu Boolean

    Kiểu Boolean chỉ sử dụng lưu trữ cho 2 giá trị: true và false. Mục đích kiểu Boolean thường được cho những câu điều kiện rẽ nhánh.

    Ví dụ: Boolean isDone = false
  • Kiểu byte

    Kiểu dữ liệu Byte dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 1 byte [8 bit]. Giá trị có thể lưu được nằm trong khoảng từ -128 [ -2^7] đến 127 [2^7-1].

    Ví dụ: byte a = 100
  • Kiểu Short

    Kiểu dữ liệu Short dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 2 byte [16 bit]. Giá trị có thể lưu được nằm trong khoảng từ -32,768 [-2^15] đến 32,767 [2^15-1].

    Ví dụ: short a = 10000
  • Kiểu Int

    Kiểu dữ liệu Int dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 4 byte [32 bit]. Giá trị có thể lưu được nằm trong khoảng từ -2,147,483,648 [-2^31] đến 2,147,483,647 [2^31-1]

    Ví dụ: int a = 20000000
  • Kiểu Long

    Kiểu dữ liệu Long dùng để lưu trữ kiểu số nguyên có kích cỡ bằng 8 byte. Giá trị có thể lưu lưu được nằm trong khoảng từ -9,223,372,036,854,775,808 [-2^63] đến 9,223,372,036,854,775,807 [2^63-1]. Giá trị gán cần có kí tự ‘l’ phía sau.

    Ví dụ: long a = 1001000l
  • Kiểu Float

    Kiểu dữ liệu Float dùng để lưu trữ số thực có kích cỡ bằng 4 byte [32 bit]. Giá trị có thể lưu được nằm trong khoảng từ -3.4028235 x 10^38 đến -3.4028235 x 10^38. Giá trị gán cần có kí tự ‘f’ phía sau.

    Ví dụ: float a = 2.51f
  • Kiểu Double

    Kiểu dữ liệu Double dùng để lưu trữ số thực có kích cỡ bằng 8 byte [64 bit]. Giá trị có thể lưu nằm trong khoảng từ -1.7976931348623157 x 10^308 đến -1.7976931348623157 x 10^308. Giá trị gán có thể có hoặc không kí tự ‘d’ phía sau.

    Ví dụ: double a = 2.52.d hoặc double a = 2.52
  • Kiểu Char Kiểu dữ liệu Char dùng để lưu trữ kí tự có kích cỡ bằng 2 byte. Bản chất Char lưu trữ code Unicode nhưng khi lại hiển thị ra ‘kí tự’ ứng với mã đó. Giá trị có thể lưu trữ nằm trong khoảng ‘u0000’ đến ‘uffff’.
  • Ví dụ: đây là bảng chứa ít kí tự Unicode

    Khi ta khai báo char a = ‘Ă’ thì bộ nhớ sẽ lưu mã Unicode là ‘\u0102’

    -

    Reference Types

    Kiểu dữ liệu tham chiếu là kiểu dữ liệu của đối tượng. Biến của kiểu dữ liệu tham chiếu chỉ chứa địa chỉ của đối tượng dữ liệu tại bộ nhớ Stack. Đối tượng dữ liệu lại nằm ở bộ nhớ Heap. Một số kiểu dữ liệu cụ thể như các mảng [Array], lớp đối tượng [Class] hay kiểu lớp giao tiếp [Interface]. Như bài BIẾN TRONG JAVA, Kteam đã có nói qua với kiểu String, bản chất String là một mảng lưu nhiều kí tự [char]. Việc khai báo String name = ‘KTEAM’ có thể diễn đạt như sau:

    Kiểu dữ liệu này Kteam sẽ giải thích cụ thể ở nhiều bài sau.

    -

    Kết luận

    Như vậy chúng ta đã tìm hiểu các kiểu dữ liệu trong Java Ở bài sau, Kteam sẽ giới thiệu đến bạn về CÁC HẠNG TOÁN TỬ TRONG JAVA Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

    -

    Tải xuống

    Tài liệu

    Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Các kiểu dữ liệu trong Java dưới dạng file PDF trong link bên dưới. Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

    -

    Thảo luận

    Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Chủ Đề