write me instructions for following of what I'm supposed to learn for each steps and how it works:

APCS Unit 1 
Primitive Datatypes, Variables, Assignment Statements, Expressions
Specification
Create a project in repl called Unit1.
Create a new class in the project called DatatypeVariablesAssignment.
(1) Create a run  method in the class that does the following:
Create a variable of each primitive data type available in Java.
Set the value of each with a literal of the appropriate type.
Create a variable of each primitive data type required for the AP exam.
Set the value of each with Scanner and the corresponding conversion method for each type. When you run the program, observe what happens when you input a string that looks wrong?
Print out the values for the primitives with System.out.println(). For this you only need to print out the values.
Print out the values for the AP primitives with System.out.format(). For this create formatted output with labels. The output in the terminal should look like this:
int: 23
double: 5.123
boolean: false
String: APCS
Call DatatypeVariablesAssignment.run() from Main.main().
Define a typeTest method in your class. It should use the following method signature:

public static void typeTest()

The method should do the following things:
(2) Create 6 new integer variables as follows. Print the results using System.out.format(). Observe patterns.
2 should be set using Scanner.
1 should contain the sum of 2 integers
1 should contain the difference of 2 integers
1 should contain the product of 2 integers
1 should contain the quotient of 2 integers
(3) Create 6 new double variables as follows. Print the results using System.out.format(). Observe patterns.
2 should be set using Scanner.
1 should contain the sum of 2 doubles
1 should contain the difference of 2 doubles
1 should contain the product of 2 doubles
1 should contain the quotient of 2 doubles
(4) Create 4 new int variables as follows. Print the results using System.out.format(). Observe patterns.
2 should be set using Scanner.
1 should contain the sum of 2 doubles
1 should contain the difference of 2 doubles
1 should contain the product of 2 doubles
1 should contain the quotient of 2 doubles
(5) Create 4 new double variables as follows. Print the results using System.out.format(). Observe patterns.
The 2 operands should be set using Scanner.
1 should contain the sum of 1 integer and 1 integer
1 should contain the difference of 1 integer and 1 integer
1 should contain the product of 1 integer and 1 integer
1 should contain the quotient of 1 integer and 1 integer
(6) Create 4 new integer variables as follows. Print the results using System.out.format(). Observe patterns.
The 2 operands should be set using Scanner.
1 should contain the sum of 1 integer and 1 double
1 should contain the difference of 1 integer and 1 double
1 should contain the product of 1 integer and 1 double
1 should contain the quotient of 1 integer and 1 double
(7) Create 4 new double variables as follows. Print the results using System.out.format(). Observe patterns.
The 2 operands should be set using Scanner.
1 should contain the sum of 1 integer and 1 double
1 should contain the difference of 1 integer and 1 double
1 should contain the product of 1 integer and 1 double
1 should contain the quotient of 1 integer and 1 double
	


Topic 1.1: Why Programming? Why Java?
ENDURING UNDERSTANDING
MOD-1
Some objects or concepts are so frequently represented that programmers can draw upon existing code that has already been tested, enabling them to write solutions more quickly and with a greater degree of confidence.
LEARNING OBJECTIVE
ESSENTIAL KNOWLEDGE
MOD-1.A
Call System class methods to generate output to the console.
MOD-1.A.1
System.out.print and System.out.println display information on the computer monitor.
MOD-1.A.2
System.out.println moves the cursor to a new line after the information has been displayed, while System.out.print does not.



ENDURING UNDERSTANDING
VAR-1
To find specific solutions to generalizable problems, programmers include variables in their code so that the same algorithm runs using different input values.
LEARNING OBJECTIVE
ESSENTIAL KNOWLEDGE
VAR-1.A
Create string literals
VAR-1.A.1
A string literal is enclosed in double quotes.


Topic 1.2: Variables and Datatypes
ENDURING UNDERSTANDING
VAR-1
To find specific solutions to generalizable problems, programmers include variables in their code so that the same algorithm runs using different input values.
LEARNING OBJECTIVE
ESSENTIAL KNOWLEDGE
VAR-1.B
Identify the most appropriate data type category for a particular specification.
VAR-1.B.1
A type is a set of values (a domain) and a set of operations on them.
VAR-1.B.2
Data types can be categorized as either primitive or reference.
VAR-1.B.3
The primitive data types used in this course define the set of operations for numbers and Boolean values.


VAR-1.C
Declare variables of the correct types to represent primitive data.
VAR-1.C.1
The three primitive data types used in this course are int, double, and boolean.
VAR-1.C.2
Each variable has associated memory that is used to hold its value.
VAR-1.C.3
The memory associated with a variable of a primitive type holds an actual primitive value.
VAR-1.C.4
When a variable is declared final, its value cannot be changed once it is initialized.




Topic 1.3: Expressions and Assignment Statements
ENDURING UNDERSTANDING
CON-1
The way variables and operators are sequenced and combined in an expression determines the computed result.
LEARNING OBJECTIVE
ESSENTIAL KNOWLEDGE
CON-1.A
Evaluate arithmetic expressions in a program code.
CON-1.A.1
A literal is the source code representation of a fixed value.
CON-1.A.2
Arithmetic expressions include expressions of type int and double.
CON-1.A.3
The arithmetic operators consist of +, −, *, /, and %.
CON-1.A.4
An arithmetic operation that uses two int values will evaluate to an int value.
CON-1.A.5
An arithmetic operation that uses a double value will evaluate to a double value.
CON-1.A.6
Operators can be used to construct compound expressions.
CON-1.A.7
During evaluation, operands are associated with operators according to operator precedence to determine how they are grouped.
CON-1.A.8
An attempt to divide an integer by zero will result in an ArithmeticException to occur.


CON-1.B
Evaluate what is stored in a variable as a result of an expression with an assignment statement.
CON-1.B.1
The assignment operator (=) allows a program to initialize or change the value stored in a variable. The value of the expression on the right is stored in the variable on the left.
CON-1.B.2
During execution, expressions are evaluated to produce a single value.
CON-1.B.3
The value of an expression has a type based on the evaluation of the expression.