Problems teaching introductory logic. Is this a statement? "If x is an integer, then..." Consider the claim, "If $x$ is an integer, then $x^3>0$". Is this a statement? 
My text defines a statement as "a declarative sentence which is true or false, but not both."
At first it seemed clear to me that the claim was a false statement. But I imagine a skeptical student saying that the sentence is not a statement because it is sometimes true and sometimes false, depending on the value of $x$. How would you respond?
Is "$x$ is an integer" a statement? It only has a truth value if we set a value for $x$. I am confusing myself. Help?
 A: "If x is an integer, ..." means "For all integers x, ..." The universal quantifier is hidden here, but this a convention of mathematical English. The student needs to understand this point- it's very important. 
A: This is depends on the convention, but without context I would say that $(x\in S)\implies(P(x))$ is not a statement!
A statement has only bound variable, in some cases the language you are talking can imply some quantifier but we have to be precise, try to write it formally, if $x$ is free then it is not a statement 
A: This gets into a bit of a murky situation, actually. Let's start with a simpler claim: the expression "If $x$ is an integer, then $x^3>3$" is not a sentence, but rather a formula - the issue being the free variable $x$. 
This brings us to a subtle point: the difference between a formula and its universal closure. Outside of logic, "If $x$ is an integer, then $x^3>3$" would often be treated as an abbreviation for "For all $x$, if $x$ is an integer then $x^3>3$" (the latter is the universal closure of the former: we take the original formula and add "for all"s to the beginning to account for all the free variables). However, within logic there are actually very good reasons (which I won't go into here) to distinguish between a formula and its universal closure, and in particular to be very careful about natural-language conventions like implicit universal quantifiers. This even extends to formulas like "$x=x$," which are tautologically true regardless of what value one assigns to $x$; within logic, "$x=x$" is a formula but not a sentence.
Because of formulas like "$x=x$," where we have a free variable but it's somehow not importantly free, I find language like "a statement is "a declarative sentence which is true or false, but not both"" to be quite confusing. For example, if within this context we say that "$x=x$" is a statement since it's obviously true regardless of what $x$ is, then the Boolean combination of two non-statements could be a statement: "$x>0$" and "$x<0$" are both of indeterminate truth value, but "$x>0$ and $x<0$" is false regardless of what value we assign to $x$. By contrast, the notions of well-formed formula and sentence are perfectly rigorous and easy to work with, and to my mind one of the major points of logic is that it's valuable to shift away from natural-language reasoning about truth and towards more rigorous (if limited and less intuitive) grounds.

So what's the answer to your question? Well, I would say that the expression is not a statement. One might disagree and say that when it comes to evaluating the truth of a formula, we implicitly choose to work with its universal closure instead, but I think this is problematic for a number of reasons. Because of this, my advice to you personally is to pick a convention and stick to it (but first read the book carefully and tell if it is already making such an implicit convention!). After all, once a convention is settled on everything will work itself out well (even if the "wrong" convention is chosen), but there may be some disagreement over what the convention should be.
A: If you like programming, formulate your problem like this:
IsPosCube(x) := x^3 > 0
NumCheck(x) := if IsInt(x) then IsPosCube(x) else True

Which I think is nice, because by making functions you can see that your expressions can't be evaluated without variable assignments, making them formulas and not statements. However, NumCheck(-3) is easily seen to be a false statement. But interestingly, NumCheck(3.3) is a true statement! This is why your formula isn't equivalent to the statement "The cube of any integer is positive." 
