Show post content and title in diferent divs using WP_Query using a loop

PHP loops are loops – you can control them 😉

<?php
    $the_query = new WP_Query( array('posts_per_page' => 4) );
    if ( $the_query->have_posts() ) :
        $the_query->the_post();
?>
<div class="grid">
   <div class="main post">
      <!--show data of the first post in the array-->
      <?php the_title(); ?>
      <?php the_content(); ?>
   </div>
   <div class="nested">
      <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
      <div class="post">
         <!--show data of next post in the array-->
         <?php the_title(); ?>
         <?php the_content(); ?>
      </div>
      <?php endwhile; ?>
   </div> <!--end nested-->
</div> <!--end grid-->
<?php endif; ?>