The public key is just yout bitcoin address, which you can receive btc with.
No. Public key and Bitcoin address are different. Bitcoin address is hashes version of a public key.
NEVER give your private key to somebody else. The private key is to gain access to make transactions and is needed if you have accidentaly deleted your wallet from your pc (otherwise you won't be able to recover it).
But it's just saved in your wallet so you don't have to put it in everytime.
Private key is needed to access your Bitcoins even if you haven't deleted your wallet. Wallets just manage them.