Force.com lets you implement a large percentage of your business logic using point-and-click features such as processes and flows. 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 Force.com, 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 UI pages. Web service requests and database triggers on objects can also initiate the execution of Apex code.
We recommend that you start by doing tutorials in Trailhead, and then reference the official Salesforce documentation.
The following resources are written and maintained by Salesforce's award-winning documentation team. The content is updated every time Salesforce is upgraded with a new release, typically three times per year. You will always find the most current and trusted content in the official Salesforce documentation.
The following resources contain valuable content written by Salesforce and our community. Note that the content may not be regularly maintained.