JAVA整理

Java成长之路(四)

Posted by MiaoMiaoMiao on January 6, 2021

Java成长之路四

控制流

  • if-else,while,for,switch,do-while,return
  • 在Java中数值作为布尔值是非法的,使用条件表达式来产生boolean类型的结果
  • do-whilewhile的区别是,即使条件表达式返回结果为false,do-while语句至少也会执行一次;
  • for循环在第一次迭代之前,执行初始化随后会执行布尔表达式;

逗号操作符

  • 不是分隔符,而是在for循环的初始化和步进控制中定义多个变量,注意,要求定义的变量类型相同;

for-in语法

  • 增强版for循环,用来操作数组和集合;
  • 无需创建int变量和步进来控制循环技术;
  • 任何一个返回数组的方法都可以用for-in循环来遍历元素;
  • for-in循环适用于任何可迭代的对象(iterable)
  • 重载:同名方法,参数列表或类型不同

return

  • 作用:1.指定一个方法返回值(在方法返回烈性非void的情况下);2.退出当前方法,并返回作用1中值;

break和continue

  • 在迭代语句的主体内,都可使用break和continue来控制循环的流程;
  • break跳出循环,continue:停止本次循环,开始下一次循环;

臭名昭著的goto

  • 若程序总是从一个地方跳到另一个地方,还有什么方法来控制流程?
  • Java没有goto,但有相同机制的标签;
  • 标签后面跟着一个冒号的标识符,它实际需要紧靠在循环语句的前方,在标签与循环之间,置入任何语句都是不明智的。
  • 设置标签的唯一理由:在其中嵌套另一个循环或者一个开关;
  • break和continue关键字只中断当前循环,但若搭配标签一起使用,他们就会中断并跳转到标签所在地方开始执行;
  • 若想中断循环的同时退出方法,简单的一个return即可;
  • 对语言能力的限制,反而使它这项特性更加具有价值;

Switch

  • 可在default语句的末尾放置一个break,尽管它没有任何作用;
  • Switch的选择因子必须是intchar那样的整数值;
  • 若将floar或字符串作为选择因子使用,那么switch是不会工作的;
  • 可使用枚举类型优化绝句这种限制;
  • Random.nextInt(26) + 'a' =>随机生成小写字母;

bye