java小常识之流程控制
Scanner对象
java.until.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入。
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据.
next:
1.一定要读取到有效字符后才可以结束输入。
2.对输入有效字符之前遇到的空白,next()方法回来自动将其去掉。
3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4.next()不能得到带有空格的字符串。
nextLine:
1.以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前所有的字符。
2.可以获得空白。
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构是简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
if双选择结构
if多选择结构
嵌套的if结构
switch多选结构
循环结构
while循环:最基本的循环结构,只要布尔表达式为true,循环就会一直执行下去。我们大多数情况下是会让循环停止下来的,我们需要一个表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成无限循环,我们正常的业务编程中应该尽量避免死循环。会直接影响程序性能或者造成程序卡死奔溃。
do…while循环:对于while语句而言,如果不满足条件,则不能进入循环。但是有时候我们需要即使不满足条件也至少要执行一次。do-while就是这样。
while和do-while的区别:while先判断后执行,do-while先执行后判断。
do-while总是保证循环体至少会被执行一次。
for循环:虽然所有循环结构都可以用while或者do-while表示,但是Java提供了另一种语句-for循环,是一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。
增强for循环:主要用于数组或集合。
声明语句:声明新的局部变量,改变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数据组名,或者是返回值为数组的方法。
break continue
break在任何循环语句的主题部分,均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句(break语句也在switch语句中)。
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
练习:
#打印三角形
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要打印三角形的行数:");
int line = sc.nextInt();
System.out.println("请输入空格的个数(必须大于1):");
int blank = sc.nextInt();
for(int i=1;i=line;i++){
for(int j=blank;i<=j;j--){
System.out.print(" ")
}
for(int n=1;n<=i;n++){
System.out.print("*")
}
for(int m=1;m<i;m++){
System.out.print("*")
}
System.out.println();
}
sc.close();
}