From your example code above, I'm guessing you have had some prior experience in another programming language and are trying to use some of that to write Mathematica.
First problem
For[n = 1, n = 3, n++]
does almost nothing and is done.
This does a little more
For[n = 1, n <= 3, n++]
but not much more.
This does a little more
For[n = 1, n <= 3, n++,
Print[n];
Print[n^2]
]
Note that Mathematica does not use { and } to group multiple statements, it uses semicolons to accomplish that. I am guessing your prior programming experience with other "more normal" programming languages is leading you to expect to group statements with { and }.
r = 0;(*defines the critical radius variable*)
For[i = 0.000015, i <= 0.00015, i += 0.000015,(*iterates through initial condition values*)
s = NDSolve[{x'[t] - (2.5*10^-25) ((1.2*10^31 ((9*10^-6) - (1.5*10^-3) t) (5*10^5 ((9*10^-6) - (1.5*10^-3) t) -
1000000 x[t] + 3)(5*10^5 ((9*10^-6) - (1.5*10^-3) t) + 1000000 x[t] - 3)/(1000000000000 ((9*10^-6) -
(1.5*10^-3) t)^2 + 1000000000000 x[t]^2 -6000000 x[t] + 9)^(7/2)) - ((3 ((9*10^-6) - (1.5*10^-3) t)^3 -
12 ((9*10^-6) - (1.5*10^-3) t) x[t]^2))/(x[t]^2 + ((9*10^-6) - (1.5*10^-3) t)^2)^(7/2)) == 0,
x[0] == i*10^-6}, x, {t, 0, 1}][[1]];
Print[Plot[Evaluate[x[t] /. s], {t, 0, .1}]];
Print["x[.006]=", x[t] /. s /. t -> .006];
If[x[t] /. s /. t -> .006 == 0, r = r + 0.000015](*checks if zero at specified time-adds .000015 to r if true*)
];
Print[r]
I'm not sure you really mean to do 100000 plots so I reduced 1.5 to 0.00015 for a first try.
There are several other changes in that and you should probably compare that with your original, character by character, word by word, and try to figure out why each change was made. But at least it appears to be correctly iterating and displaying plots for you. If I have misunderstood then please let me know and I will try to fix what I can. Please test this very carefully to make certain that the result is correct before depending on it.
I am concerned that your If statement may never find x[t] to be exactly 0 and thus never True. That may not be good programming.