Force.com lets you implement a large percentage of your business logic using point-and-click declarative features such as workflows and approval processes. But sometimes you need more control than these features provide for. That's when you can leverage the power of Apex Code.
Apex is a strongly-typed, object-oriented programming language that lets you centralize and execute flow and transaction control statements on the Force.com platform in conjunction with application calls to Force.com APIs. Using syntax that looks like Java and acts like database stored procedures, Apex lets you add powerful custom business logic to most system events, including button clicks, related record updates, and Visualforce pages. Web service requests and database triggers on objects can also initiate the execution of Apex code.
To begin learning about Apex Code, follow this path.
Here are some other helpful resources for Apex Code.