Day2 java流程学习
Day2
java流程控制
scanner用户交互
和C++的cin>>功能类似,用来用户输入,不过scanner使用前需要先New一个对象
Scanner sc=New Scanner(System.in);
String str=sc.next();
//凡是IO流的类如果不关闭,会一直占用资源,养成用完就关的习惯
sc.close();
用法和C++差别挺大,next不能得到有空格的字符串,而nextline是以回车作为结束符,可以得到有空白的字符串
scanner里面有很多方法,用来输入各种类型的数据,不过scanner还有一种判断方法,就是类似hasnextline(),用来判断是否有输入
顺序结构
从上而下的结果
选择结构
和C++一样用if来完成,判断字符串是否相等,Str.equal()返回一个true或者false。很基础
switch多选择结构
这个在做算法题倒是很少用,倒是以前写C++游戏时有用过,写控制角色行走功能时用的。
switch(表达式){
case 'A':
System.out.println();
break;//如果没有break,符合条件后,后面的也会执行语句
case 'B':
System.out.println();
default: //指如果结构不符合上述所有后使用的
System.out.println();
continue;
}
在7版本后,可以支持String类型,实际上也是字符。
循环结构
和C++一样,有三种循环
for
do.....while
while
注意事项也差不多,do....while是先执行一次再判读,while是先判断再循环
增强for循环
和python的for循环很像
int[] array={10,20,30,40,50};
for(int x:array){
//遍历数组元素
System.out.println(x);
}
break ,continue,goto
break和continue在C++就经常遇到,如果在一个循环,break是退出当前的循环,向下一个顺序结构运行,continue则是退出某次的一个循环次数,还会继续执行后面的循环。
goto在C用的较少,毕竟会引起代码混乱,不便于阅读。且java没有goto.用标签来跳转
思考
第二天学习了也算是javase的基础操作,其中很多内容都和c++差不多,意识到我应该也要尝试着用java写一些算法题,以前只用C++写算法题就能对C++有很快的了解,java应该也差不多。