Inserting a Node in a singly linked list
public Node(){
      this.next = null;
      this.data = 0;
}



As used, your no-arg constructor can be reduced to Node() {} The default instance values for objects and integers is null and 0 respectively; this is redundant.

In your insert method you refer to item yet it has no reference anywhere, I'm guessing that's supposed to be data but that's conjecture. The same goes for wherever first comes from. I'm guessing the actual linkedList class keeps reference to it, but again without the context this is purely speculation.

I would suggest you ponder why linkedlists are used. When you think of the answer you might realize you want to keep a reference to tail and prev as well.