1945年,時任海軍司令的陳紹寬赴歐美考查
國民政府的海軍艦船主要繼承自清朝、北洋政府,極為落後。海軍「以地域言之,分為東北艦隊、渤海艦隊、粵海艦隊、江陰電雷隊;以學系分之,有青島、福建馬尾、廣東黃埔、江陰電雷等海軍學校,中國由於內戰,故海軍派系複雜,意見分歧。」國民政府建立後,即設海軍部,在名義上統一指揮權。
陳紹寬就任海軍部長,屢次要求中央擴建海軍,皆未獲准。1932年,一二八事變後,海軍部又制定計劃,指出「吾國海軍欲求其與日本在海上作戰,至少須有其海軍之七成」,如果不如此,則「中國海海上之制海權將為日本所獨占」。在海軍部看來,中國海軍需「先建設日本海軍之四成兵力,以保持中國海近海之自由,以濡滯日本海軍及其陸軍之行動」。
以上計劃雖獲政府同意,但因經費問題,遲遲未能落實。1929年7月—1931年3月,海軍按規定應得經費1050萬元,實際只領到98萬多元。1936年下半年,海軍申報經費1203萬元,實際領到362萬。1937年,在國民政府的國防建設費中,有1.197億元給了陸軍,7000萬元給了空軍,海軍只得到228.9萬元,相當於陸軍軍費的1.8%。相比之下,日本海軍在前一年的軍費是55.1億日元,為中國的115倍。因此直至戰前,海軍部的情況還是「迭次所擬海軍建設計劃,均限於財力未獲實施」;而「惟因經費限制,所造飛機得數甚微,只以供海軍航空員生訓練之用。」
抗戰爆發時,中國海軍有各類艦艇74艘,主要為一些輕巡洋艦、炮艦和魚雷艇。其中排水量最大的3000噸,小的僅300噸,總排水量約5.9萬噸。而同時,日軍海軍有艦艇285艘,包括9艘戰列艦、4艘航空母艦、12艘重巡洋艦、13艘輕巡洋艦、70艘驅逐艦等,總排水量約115.3萬噸。作為輔助,日本海軍配有飛機811架。
中國海軍處此絕對劣勢之下,在歷次戰役中,也以艦隊作戰、要塞作戰、水雷作戰和阻塞港道四種戰術,打擊了日軍。1937年8月,海軍奉命將12艘老舊軍艦、23艘商船和8艘碼頭船沉入江陰水道,另以民船、鹽船185艘和大量石料填補空隙,建起一道江防阻塞線。隨後淞滬會戰爆發,中國海軍又在黃浦江構築了三道阻塞線,同時布置水雷,堵住了日軍海軍溯江進犯的通道。
淞滬會戰期間,中國海軍還多次主動出擊日軍,炸毀了日軍登陸的三井碼頭和儲存汽油的躉船,炸毀鐵駁船4艘、小火輪2艘,炸傷日軍在上海的旗艦「出雲號」。但在保衛上海、南京、武漢的戰鬥後,中國海軍損失了主力艦「平海」、「寧海」、「應瑞」、「逸仙」、「建康」與其它數十艘艦船。海軍眾多官兵在戰鬥中犧牲,他們「至殉職或負傷之地點均在炮座之下,即未受傷者,亦未寸步離開其戰時職守之處所」。
中國海軍損失嚴重,加之日軍封鎖中國沿海,殘存的艦船主要被用於保衛川江、荊河、湘江等河段,拱衛陪都重慶。這一時期,中國海軍主要以敵後的漂雷游擊隊,打擊日軍。1943年,陳紹寬撰文回答「海軍到哪裡去了」,歷數其戰績,「單就長江方面之蕪湖至湖口,九江至漢口,漢口至岳陽這三個地區中,已經出擊過九十三次,布放漂雷一千六百具。」「經調查屬實者,業已炸沉敵艦艇船隻一百五十六艘」這其中「包括有中型艦、運輸艦、商船、汽艇等,其物質損失的價值,至為重大。」
敵軍方面的記述,證實陳紹寬所言不虛。日本隨軍記者回憶,中國海軍「在江面上布下了無數的水雷,南京和漢口之間成了可怕的水雷區。」「以近藤英次郎中將為司令官的海軍十一戰隊,一邊同兩岸的敵軍作戰,一邊排雷前進。這就是後來有名的長江溯江艦隊。這支艦隊派出十幾艘掃雷艇,每二艘之間拉上鋼纜進行掃雷,但是由於水雷太多,好多掃雷艇都觸雷沉沒了。炮艦、運輸船也相繼觸雷,損失慘重。」一支執行登陸任務的艦船觸雷後,「江水升起了巨大的水柱,船被炸成兩截。船上的若月(記者),同盟通訊社的下津久男以及六十多名陸戰隊員全被拋入江中,被江水吞沒了……一旦落水,連屍體都浮不上來。」
在長江以外,海軍還在閩廈、浙江、粵桂三地抗敵。閩廈方面,中國海軍「加強防務,增設臨時炮台,封鎖閩江港口,閩廈各役血戰,收復馬長失地,籌劃閩江防禦」;浙江方面,「浙東各江防務配備,甌江炮台屢挫敵艦」;粵桂方面,「協防珠江,雷隊布防西江」。中國海軍以巨大犧牲,為贏取抗戰勝利做出了貢獻。