Java流程控制
scanner对象
实现程序与人的交互,用来获取用户的输入
需要导入包:java.util.Scanner
创建语法:Scanner s=new Scanner(System.in)
方法:next()跟nextLine()获取输入得字符串
next()与nextLine的区别:
-
一定要读取到有效字符之后才可以结束
-
对输入有效字符之前遇到的空白,next方法会将其去掉 输入a b 只会对应的输出一个a
-
next()不能得到带有空格的字符串
nextLine:
- 可以接受空白
package Scanner;
import java.util.Scanner;
public class Demo03 {
//创建扫描器对象
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("使用nextLine方式接收:");
//判断是否是输入
if (s.hasNextLine()) {
String str = s.nextLine();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流得用完了再关掉
s.close();
}
}
package Scanner;
import java.util.Scanner;
public class Demo03 {
//创建扫描器对象
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("使用nextLine方式接收:");
//判断是否是输入
// if (s.hasNextLine()) {
String str = s.nextLine();
System.out.println("输入的内容为:"+str);
// }
//凡是属于IO流得用完了再关掉
s.close();
}
}
Scanner s = new Scanner(System.in);
String str = s.nextLine();
s.close();
以上三条命令是进行输入的时候保持不变的
对于判断下一个字符是否是规定的字符做判断条件用hasnextxxx就行,
下面编写一个实例对于当出现的不是数字作为判断条件,每次输入回车进行换行输入下一个数字
package Scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
float i=0.0f;
float f=0.0f;
int num = 0;
Scanner s = new Scanner(System.in);
//判断循环体
while (s.hasNextFloat()) {
num++;
f = s.nextFloat();
i = i + f;
}
System.out.println("所求的平均数为:"+i/num);
s.close();
}
}
switch多选择结构
语法:swith(可以说多种类型),也支持字符串比较
case1:
break;//case穿透现象
case2:
default:
没有。执行这个
如何找到class文件 再IDEA中
先找到项目结构,找到文件目录,去文件目录里边访问。
这里边是class文件对于switch里边的字符串比较的,原理,通过了哈希值来比较
增强for循环
语法:for(int X:numbers)
把numbers数组里边的数字放在X里
九九乘法表的实现
package Scanner;
public class 九九乘法表 {
public static void main(String[] args) {
int n = 1;
for (int i = 1;i<=9;i++ ) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
break 跟continue
break用于强制退出循环,不会终止程序
continue,跳过一次循环,只要碰到他就跳到别的地方