一定要读取到有效字符后才可以结束输入。
对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
只有输入有效字符后才将其后面的空白作为分隔符或者结束符。
next()不能得到带有空格的字符串。
Hello World ---> Hello
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
可以获得空白。
Hello World ---> Hello World
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果。 Scanner scanner = new Scanner(System.in); double sum=0;//总和 int a=0; //计数器 while(scanner.hasNextDouble()){ double x = scanner.nextDouble(); a++; //a=a+1;----> a+=1;---->>> a++; sum+=x; } System.out.println("总和是:"+sum); System.out.println("平均数是:"+(sum/a)); scanner.close();
scanner.close();//凡是属于io流的类,用完关闭节省资源.
if单选择结构
if双选择结构
if多选择结构
if嵌套结构
switch多选择结构
switch语句的变量类型可以是:
byte、short、int或者char。
从javase7开始
switch支持字符串String类型了
同时case标签必须为字符串常量或字面量。
注意case穿透,最好每一个case后面都写break
略
do...while和while相似,不同的是do...while至少会执行一次。
对于do...while语句而言,如果不满足条件,则不能进入循环。但有时候我们却需要即使不满足条件,也至少执行一次。
while和do...while的区别:
do...while先执行后判断,while是先判断后执行。
do...while总是会保证循环体被至少执行一次,这是他们的主要差别。
do{ //代码语句 }while(布尔表达式);
在java5中引进了一种主要用于数组的增强型for循环。
for( ; ; ){ }//死循环
//用for循环和while循环输出1-1000能被5整除的数,并且每行输出3个。 public class ForDemo02 { public static void main(String[] args) { for (int i = 0; i <=1000; i++) { if(i%5==0){ System.out.print(i+"\t"); } if(i%(5*3)==0){ System.out.println(); } } } }
//打印九九乘法表 public class ForDemo03 { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i+"*"+j+"="+(i*j)+"\t"); } System.out.println(); } } }
public class ForDemo05 { public static void main(String[] args) { int[] numbers={10,20,30,40}; //遍历数组的元素 for (int i = 0; i <numbers.length; i++) { System.out.println(numbers[i]); } //增强for循环 for(int x : numbers){ System.out.println(x); } } }
break主要用于循环和switch中,强制终止循环,不执行循环剩余的语句,不退出程序。
continue用于循环中,用于终止某次循环,跳过循环中尚未执行的语句,接着下一次循环。
//打印三角形 public class TestDemo { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for (int j = 5; j >=i; j--) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("*"); } for (int j = 1; j <i; j++) { System.out.print("*"); } System.out.println(); } } }