Your data (not the residuals) has a mean that is not zero, that is all. If you are using the auto.arima() function in the {forecast} package, which is what the online book referenced by technocrat uses, it will report this and show the estimated mean in the results. Look at the US consumption expenditure example in Section 8.5. You will notice that the forecast in the chart is about 0.75, which is close to the 0.745 estimated mean.
The third edition of the book uses the tidyverts set of packages instead. It reports the constant in the ARMA equation (after differencing), which is related to the mean. A non-zero constant (c) implies a non-zero mean (m). For AR(1), c = m x (1 - alpha).