java流程控制

用户交互Scanner

用户和计算机之间的交互的工具类,在java.util.Scanner包下,是java5的新特性,我们可以通过Scanner类来获取用户输入。

基本语法

Scanner sc = new Scanner(System.in);

通过Scanner类下的next()与nextLine()方法获取输入的字符串。hasNext()和hasNextLine()方法判断还有没有输入。

Scanner sc = new Scanner(System.in);
if(sc.hasNext()){
    String str = scanner.next();//接收字符串
}
scanner.close();//关闭io流,不关的话会一直占用资源。

next与nextLine的区别:

next:

  1. 一定要读取到有效字符才可以结束输入。
  2. 对有效输入字符前遇到的空白,会自动去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. 不能得到带空格的字符串。

nextLine:

  1. 以enter为结束符。
  2. 可以获取空白。

顺序结构

  1. java中的基本结构,除非特别指明,否则就按照顺序一句一句执行。
  2. 顺序结构是最简单的算法结构。

选择结构

if语句

if单选择结构

if(布尔表达式){
    执行语句;
}

if双选择结构

if(布尔表达式){
    条件成立,执行;
}else{
    条件不成立,执行;
}

if多选择结构

if(布尔表达式){
 	执行语句;   
}else if(布尔表达式){
    执行语句;
}else if(布尔表达式){
    执行语句;
}...

嵌套的if结构

if(布尔表达式){
    if(布尔表达式){
     执行语句;   
    }
}

switch多选择结构

switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

格式:

switch(){
    case 条件判断;
		语句
        break;//可选填
    
    case 条件判断;
        语句
		break;//可选填
        
    case 条件判断;
		break;//可选填
        //可写任意数量的case语句
    default;//可选
        语句;
}

如果不写break,则会在条件成立后往下继续执行,直到遇到break,并且条件不成立。建议加break。

jdk7之后,可以用字符串判断。

循环结构

while循环

while(布尔表达式){
    //循环语句;
    //(可选)步进表达式;
}
  1. 只要布尔表达式为true,循环就会一直执行。

  2. 我们大多数情况会让循环停下来。

  3. 少部分情况才需循环一直执行,比如服务器监听器等。

  4. 循环条件一直为true就会造成死循环,尽量避免。

do…while循环

do{
    //循环语句;
    //(可选)步进表达式;
}while(布尔表达式);

必定会执行一次。

for循环

for(初始值 ; 布尔语句 ; 更新){//里面的三个参数可以不写,但是要写两个分号
    //循环语句;
}

 
//死循环
for( ; ; ){
    	
}

for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。

增强for循环

java5引入了一种主要用于数组或者集合的增强for循环。

格式

for(声明语句 :表达式){
    //代码语句;
}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,值与此时数组元素的值相同。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

break&continue

break

在任何循环语句的主体部分,均可使用break控制循环的流程,用于强制退出循环,不执行剩余语句。

continue

用于终止某次代码执行,跳过本次代码执行,接下来继续执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值