how to create a static front page for my blog in wordpress

From @Ray Mitchel’s answer the tutorial shows you how to set a specific page in your blog to be the front page.

Assuming you’re using the TwentyEleven theme, you need to learn about page templates. The WordPress site has an article: http://codex.wordpress.org/Pages#Page_Templates.

So you can create a page template by starting by copying the home.php file and renaming it to my-page.php and put the following at the top of the page:

<?php
/*
Template Name: Snarfer
*/
?>

Once you have saved the file, in any page you can switch the page template, and in the drop down you should now be able to select ‘Snarfer’.

Page Attributes section

Now the correct name for the front page is front-page.php. If you call your file that, the page that you have set to be the front page will automatically use the front-page.php file without you having to set the page template.

Even further to this once you’ve named your file front-page.php you don’t have to bother setting a specific page to be the front page as the front-page.php file will get called instead of home.php (the standard home page). Below you can see why, which is thanks to the WordPress Template Hierarchy the front-page.php file comes above the home.php file if you leave it to display posts on the front page (which is the default):

Template Hierarchy