How is bitcoin sent into my bank account? I've been trying to find a way to transfer bitcoins from my bitcoin wallet into my bank account, I've gone to a couple sites that kinda use a similar method, but I don't really understand how it works.

One of them is exkash for example, seems legit but don't I have to give them my bitcoin address before giving my bank details so that they know where the bitcoin is coming from or do they just send the amount that I enter, If so where is the money coming from.
Traditional banks don't hold bitcoin in their accounts, so you can't send bitcoin to your account.  What you can do is sell your bitcoin for fiat currency and have that fiat deposited into your bank account.  There are many companies willing to buy your bitcoin for fiat currency.

As for giving out your address for a transaction, that is not something you need to do when you are sending bitcoin to someone.  Bitcoin is a system where you push funds to someone, rather than give them the credentials to pull them from you.  Afterwards, they will be able to determine your address, but that isn't really the mechanism you use to pay someone, nor is it important to the recipient.  This is similar to if you pay someone with cash.  Afterwards they will be able to see the serial numbers on the bills, but they don't care, nor were those numbers needed by them for the transaction to occur.