Java流程操作
1. 交互Scanner类
通过hasNext()
and hasNextLine()
来判断是否有下次的输入,
通过next()
and nextLine()
来获取输入的字符串,next()会把空格当作结束符,所以hello world只能输出hello,空格结束, nextLine()以回车符为结束
new scanner = Scanner(System.in);
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println(str);
}
scanner.close();
进阶: scanner.hasNextDouble()....
2. 顺序结构,选择结构,循环结构
-
都是顺序结构
-
选择:
if(){ pass }else if{ pass }else{ pass }
case穿透:后面的都执行, switch主要是判断具体的一个值
switch(){ case xxx: xxx break;//case 穿透,如果不写,后面的每一条代码都会执行 case xxx: xxx; break; default: xxx }
为什么switch支持String?
IDEA支持反编译: 通过工具栏的
Project Structure
来找到output文件夹,把class文件复制到项目包目录下,可以打开查看,case后面跟的是hashcode,所以支持。 -
循环结构
- while
- do...while 不满足条件的时候至少执行一次
do{ //代码块 }while(布尔值)
- for
for(初始值; 不二判断; 迭代更新){ //代码块 }
在IDEA中输入
100.for
自动生成for循环语句,太牛了!!!增强for循环
for(声明语句: 表达式){ //代码 } //声明语句:声明局部变量,必须与数组或集合的类型一致 //表达式是要访问的数组名,或者是返回值为数组名的方法(python的迭代器) int[] numbers = {1,2,3,4,5}; for (int x: numbers){ System.out.println(x); }
3. break, continue,goto
goto 不建议使用
使用方法:在continue或者break后面加上标签,在需要转到的地方前面加上标签:, 就可以直接跳转到添加标签的地方。
//求101-150之间的质数
outer:for(i = 101;i< 150; i ++){
for(j = 2; j< i/2;j++){
if(i%j == 0){
continue outer;
}
}
}
debug,打断点,在console上方有下一步的按钮。great!!