Cá đã thích nghi với môi trường của chúng thông qua sự tiến hóa của mang, vây bơi và vây. Mang cho phép cá hấp thụ oxy từ nước, vây bơi cho phép cá duy trì mức độ nổi và vây thích hợp cho phép cá di chuyển trong nước. Các loài khác nhau thể hiện sự đặc biệt của những đặc điểm này để phát triển theo cách riêng của chúng.
Cá thở bằng cách hút nước trong miệng và đẩy nước ra khỏi cơ thể qua một số khe mang. Các khe mang có nhiều mạch máu, tạo điều kiện cho việc hấp thụ oxy trực tiếp. Trong khi tất cả các loài cá đều có mang, một số loài cá cũng có thể hút oxy từ không khí bằng cách nuốt nước bọt.
Hầu hết các loài cá đều có các tấm chắn khi bơi được bịt kín vĩnh viễn, nhưng những loài cá khác có các tấm chắn khi bơi có thể chứa các lượng không khí khác nhau. Cá hồi bơi hở và chúng phải nuốt không khí trên bề mặt để giữ cho chúng no. Một số loài cá, chẳng hạn như cá mập, hoàn toàn không bơi được. Điều này khiến chúng bị chìm nếu chúng không duy trì chuyển động về phía trước.
Cá có vây thích nghi với lối sống của chúng. Một số đã phát triển thành các cấu trúc dài, có gai, thích hợp để phòng thủ. Các loài cá khác có vây thích hợp để đạt được tốc độ lớn hoặc để đi dọc dưới đáy đại dương.