Coding a basic injector is actually pretty easy. Understanding what the code actually does is much harder, though.
For hacking purposes C++ would be the best, but since you haven't programmed before, I'd say go with C#. There's some stuff in C++ that you don't need to worry about yet.
About the programming language - program relation: Java, C#, C++ etc. are high level representations of the program, meaning that the code looks a lot like regular english. The languages have some syntax differences, so the same things look different when written in different languages, but they will still do the same thing. After the code is written, it will be compiled into a program. Basically it means that the compiler takes the high level representation and turns it into very simple machine instructions that the processor can execute. Now the program doesn't look like english at all, there won't be any variable names or for-loops visible etc. but the program does exactly what you told it to do.