People usually get confused with K-means and KNN. In fact these both are completely different methods. Though they both have the letter k does not mean both are similar. Below mentioned explanation on both methods helps us in understanding the difference between.
K nearest neighbors is an abbreviation for KNN which is a simple classification algorithm. KNN is specialized in storing all cases and based on similarity measures it classifies new cases. It is also popularly known as the lazy learning algorithm and non-parametric where the actual purpose of KNN is to use a database where the data points are separated into numerous classes. This entire process is done to predict the new sample’s classification. Here KNN is supervised as we try to classify a point based on the known classification of other points.
Whereas K-means clustering is a method of vector quantization and is a simple unsupervised machine learning clustering algorithm. It is basically used when you have unlabeled data and is popular in data mining for cluster analysis. K-means clustering is in fact used as a feature learning step and is very easy to implement and apply on large datasets. K-means is unsupervised as the points have no external classification.
ref links: https://www.google.co.in/imgres?imgurl=https%3A%2F%2Flukelushu.files.wordpress.com%2F2014%2F08%2Fimage-12.png&imgrefurl=https%3A%2F%2Flukelushu.wordpress.com%2F2014%2F08%2F13%2Fclustering-k-means-k-nearest-neighbor%2F&docid=25N_xkLHc76ULM&tbnid=vlFBLyCgMkzskM%3A&vet=10ahUKEwjX5YfpuP7eAhWQfSsKHbrPCMAQMwhKKA0wDQ..i&w=358&h=267&bih=657&biw=1366&q=difference%20between%20knn%20and%20k-means%20clustering&ved=0ahUKEwjX5YfpuP7eAhWQfSsKHbrPCMAQMwhKKA0wDQ&iact=mrc&uact=8