Constructing a binary tree in java
Your code does represent the tree that you drew.  However, the code doesn't implement the logic for determining where to place nodes within a binary search tree; instead, you hard-coded that logic in your main() function.  A useful implementation of Binarytreenode would let you write something like

BinaryTree t = new BinaryTree();
t.add(3);
t.add(1);
t.add(4);
t.add(2);
t.add(5);


… to produce the same tree structure.



You want to design the code as a class that maintains the tree in a self-consistent state, supporting operations such as .add(int value) and .find(int value).  The member fields left, right, and data should generally not be have public access, which would let other code modify the tree in an invalid way.  It could be acceptable, however, to let data remain public if you also mark it as final.