Map from Google - Corsica

The climate of Corsica is Mediterranean on the coast, with mild and rainy winters and warm and sunny summers, while it gradually becomes colder in inland areas, with increasing altitude. In fact, the interior of the island is largely mountainous; the highest peak is Monte Cinto, 2,706 metres (8,878 feet) high. At high altitudes, in winter and early spring snowfalls can occur, and sometimes it can snow even in the first half of May.
In the major cities that are located on the coast, like Ajaccio, Calvi, Bastia, Bonifacio, Porto Vecchio, Sartena, the climate is similar, ie Mediterranean. Corte, which sits at 400 metres (1,300 feet) above sea level, in the interior of the island, is instead a bit colder in winter, while in summer it can be hot during the day, with some more thunderstorms, but also a bit cooler at night.
Here are the average temperatures of Ajaccio, the largest city, located in the west coast.
Average temperatures - Ajaccio
AjaccioJanFebMarAprMayJunJulAugSepOctNovDec
AjaccioJFMAMJJASOND
Min (°C)445711141717151285
Max (°C)141415172125282826221715
Min (°F)393941455257636359544641
Max (°F)575759637077828279726359

The island is pretty windy, not only for the summer breezes, but also because it can be affected by the north-western wind coming from the Rhone Valley, the Maestrale (or Mistral), which blows in gusts, especially on the west coast and on the Strait of Bonifacio, while the south-western Libeccio, the most frequent wind, is moist and is usually followed by bad weather conditions.
In the mountain slopes of the interior, precipitation is more abundant, and thunderstorms in summer are more likely; for this reason, some inland areas are very rainy and covered with forests. On the other hand, along the coast, annual precipitation does not exceed 700 millimetres (27.5 inches) and follows the Mediterranean pattern, with a maximum from October to February, a gradual decrease in spring, and a minimum in summer.
Here is the average precipitation in Ajaccio.
Average precipitation - Ajaccio
AjaccioJanFebMarAprMayJunJulAugSepOctNovDecYear
AjaccioJFMAMJJASONDY
Prec. (mm)605555654025102055909570640
Prec. (in)2.42.22.22.61.610.40.82.23.53.72.825.2
Days87886312588872

Winter, from December to February, is mild and rainy on the coast, where the average temperature in January and February is about 8/9 °C (46/48 °F). In the mountains, where ski resorts are found, winter is cold, with quite frequent snowfalls. The wind blows frequently. Sometimes the wind blowing from the Rhone Valley, in addition to the usual wind gusts, when the cold air mass is of Polar or Siberian origin, can bring snowfalls even in the plains, especially in the northern part of the island. On plains and coasts, light frosts may occur as a result of cold waves: generally the temperature does not drop below -2/-3 °C (27/28 °F), although the records are lower: -8 °C (18 °F) in Ajaccio, recorded in February 1986.

Spring is initially cool and unstable in March and April, while it becomes gradually milder and sunnier as the weeks pass, and it becomes generally pleasant in May.

Summer, from June to August, is warm and sunny along the coast, while in inland areas it becomes progressively cooler with increasing altitude, where there is also a higher chance of afternoon thunderstorms. These thunderstorms can sometimes reach the coasts. On the coasts the heat is usually acceptable, since it is a bit moist but also tempered by the breeze. Sometimes, however, there may be waves of African heat, usually of short duration, with peaks around 38/40 °C (100/104 °F).

Autumn is initially mild or pleasantly warm, and gradually becomes cooler; it is also quite rainy: the first disturbances occur in September, and become more frequent in October. November is typically a cloudy and rainy month, as normally happens also in north-central Italy.

The amount of sunshine in Corsica is very good in summer, especially along the coasts, when clear skies prevail, while it's not high from November to February, given the frequent passage of Atlantic depressions. However, sunny periods can occur also in winter.

Corsica is the French region where the sea reaches the highest temperature, ie 23 °C (73 °F) in July and September, and 24 °C (75 °F) in August, while it is still cool in June.
Here are the average sea temperatures.
Sea temperature - Ajaccio
AjaccioJanFebMarAprMayJunJulAugSepOctNovDec
AjaccioJFMAMJJASOND
Sea (°C)141414141720232423201815
Sea (°F)575757576368737573686459

Ajaccio

When to go

To visit cities, you can choose the period from mid-April to mid-June, and the month of September, to avoid the albeit rare days of annoying heat.
For hiking in the mountains, you can go from June to September.
For swimming, the best months are July and August. In June and September you can go, but sometimes it can be a bit cool in the evening, or it can rain, and in June as mentioned the sea is still cool. For cool evenings and windy days, you can bring a sweatshirt.
In summer, in inland areas, where thunderstorms can break out, even if the weather is fine in the morning, care must be taken to lightning (therefore it's better not to take shelter in the forests or under the trees), and to the sudden swelling of the streams during heavy rains.