scanner类是一个简单的文本扫描器,可以用其对象来获取用户的输入,代码如下:
//创建一个Scanner对象来负责接收用户的输入 Scanner scanner = new Scanner(System.in); //判断是否有下一行 if (scanner.hasNext()){ String str=scanner.next();//等待用户输入,并将用户输入赋值给str System.out.println(str); } scanner.close();//涉及到IO流的都需要关闭资源,否则容易造成资源的浪费
next()和nextLine()的区别在于
scanner还可以精确到类型,如nextInt、nextFloat等,用法和上面一样。
//练习,输入多个数,求和和平均数,第个数用回车确认,输入非数字程序结束并输出结果 Scanner scanner=new Scanner(System.in); //需要定义一个和 double sum=0; //定义一个数量代表输入数字的个数 int num=0; //通过while循环来获取输入 while(scanner.hasNextDouble()){ double input=scanner.nextDouble();//等待用户输入 sum+=input;//sum=sum+input num++; System.out.println("输入的是第"+num+"个数,目前的和为"+sum); } System.out.println("总共输入"+num+"个数,总和为"+sum+",平均数为"+sum/(double)num); scanner.close();
java的基本结构就是顺序结构,除非特别指明,否则就是按顺序一步步执行。,顺序结构是任何一个算法都离不开的一种基本算法结构
if单选择结构:一个if语句,无else
if双选择结构:if...else...,有两个选择可走
if多选择结构:if...else if...else if.....else,有多个选择可走
if的嵌套:在if里面加if
switch多选择结构,从java7开始,可以支持字符串类型了,本质是后台匹配的Hashcode(要注意break,不加break会”穿透“):
switch(){
case xxx:
xxxx;
break;
...
deflaut xxx:
}
反编译,将class从文件夹的层面copy到项目目录中,可以在IDEA中直接打开
循环条件一直为true,会陷入死循环
while:最基本的循环结构
do ...while:和while相似,不过至少会执行一次
for:最灵活,最有效的,执行次数在执行前就已经确定了,也可以是空语句(表示死循环)
JDK5新增,主要为了方便数组和集合的遍历,一种语法糖。
int[] numbers={10,20,30,40}; for (int x : numbers) { System.out.println(x); }
break用于强制退出循环
continue用于退出此次循环,继续执行下次循环
标签语法用于跳转(基本不用),java中没有goto
//求101-200的质数 out: for (int i=101;i<=200;i++){//定义一个out标签 for (int j=2;j<i/2;j++){ if (i%j==0) continue out;//跳转到out标签 } System.out.println(i); }