C++ är vad jag skulle råda dig till. Anledningen till detta är följande.
Om du lär dig C++ från grunden, dvs. allt som språket innehåller och behärskar alla konstuktioner mm. Då har du ett stort försprång med allt. Java är fruktansvärt likt C++, man kan säga att Java är som C++ fast man har tagit bort allt som brukar vara svårt och krångligt att hantera, minneshantering, pekararitmetik, multipla arv mm. Jag själv har hållt på med C++ i många år. (7 år). Och nyligen började jag med Java, det tog inte många timmar innan man skriver ganska avancerade program i Java. Fördelen med att kunna C++ är att det är lättare att fatta hur Javas referens-variabler fungerar och vad en "garbage collector" egentligen gör och fungerar. Man förstår bättre de bakomliggande mekanismerna i en Java applikation helt enkelt. I C++ inkluderar jag då även C, som egentligen är en mindre del av C++. Skillnaden är väl egentligen att C program oftast är skrivna på ett annorlunda sätt än C++ program, mer bitoperatorer och massor av lustiga preprocessor-direktiv.
C++ är mycket krångligare att lära sig och att behärska till fullo, men om du vill och orkar så har du mycket gratis sen. Jag skulle nästan vilja gå så långt att jag säger att om du lär dig C++ så kan du i princip Java sen, bara att lära sig att använda Javas standardbiblotek. Det svåra med programmering är ju oftast inte att kunna syntaxen i ett visst språk utan att skriva bra kod. Dessutom så är alla stora programsystem nästan uteslutande skrivna i C/C++.
Java är bra, men det har sina nackdelar. Det är för det första ett interpreterande språk som gör att det exekverar långsammare än ett program kompilerat för en viss processortyp. (Ja, det finns Just In Time Compiling, men det är ändå långsammare). Dessutom så exekverar Java inuti en virtuell maskin som körs på datorn.
Det är ditt val, men jag rekommenderar C++ för en mer grundläggande förståelse för vad som händer i datorn och för mer kontroll av vad som händer.
EDIT: Tips på utvecklingsmiljöer. För Java så rekommenderar jag antingen Borland JBuilder eller IntelliJ IDEA. Det senare är nog snäppet bättre, har vunnit en del priser vet jag.
För C++,har du ju Microsoft Visual Studio, Borland C++ Builder. Eller att använda emacs/notepad tillsammans med nån kommandorads-kompilator. Ex DJGPP (gratis). Skulle nog rekommendera det senare alternativet då det är enklast när man vill lära sig språket och inte blanda in massa grafik o annat jox.