I wasn't going to submit an answer since the other answers are pretty much dead on. I just felt like they lacked something.
API
An API is essentially a way for a piece of software to transmit data to another piece of software without any issues. There are multiple different types of APIs and there is a lot more APIs than you likely realize. Personally, I believe most every functional piece of software should be powered by or have an API of some sort.
RESTful APIs
RESTful APIs use HTTP requests (GET,POST etc) in order to transmit and recieve data. They are a newer version of APIs and typically use JSON as their formatting. These APIs are extremely quick and simply intake a request and submits a response. These APIs can sometimes include what is called a WADL. A WADL will be consumed and allows the user to more easily interact with the API.
WSDL based API
A WSDL based API uses XML to interact with another system. These APIs are slowly being phased out for public facing systems since they typically have a higher overhead, require larger packets and consume more resources. I have yet to see much of a drop in popularity in back-end based systems though.
Interacting with your API
Testing
Depending on the type of API, the first step is to consume the web service if the developer provided a WSDL or WADL. The easiest way to perform such a task, especially for testing, is to use a tool like SoapUI. If there is no WSDL or WADL provided, for REST based APIs it will create the request based on the URLs. After that you can interact with the API by transmitting data and receiving the results.
For further information on SoapUI please feel free to google search and if you still have any specific questions, ask a new question.
Developing
Once you have an understanding of your API, the expected results and know what is supposed to be input and the expected output the fun can begin. I will stick with a WSDL based API and assume C#. Java is rather simple to use as well though.
In C# with VS you can use what is called "Add Service Reference" to interact with an API. After that, put in the URL to your WSDL and all of the functions are magically created. Make the calls that you need to make to the API and the data that you need will be in the response. Parse it how you need it to be done and your application now interacts with the API.
The point of an API is simplicity and flexibility
They are designed to allow another system to interact with the system that is running it. They are usually designed to be language agnostic and should be easily consumable and easy to interact with. Using a tool like SoapUI will help you a lot along the way.