Java03流程控制
JAVA流程控制
用户交互Scanner
java.util.Scanner是Java5的新特征,可通过Scanner类来获取用户的输入
Scanner S = new Scanner(system.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前使用hasNext()与hasNextLine()判断是否还有输入的数据
next()
- 一定要读到有效字符后才可以结束输入
- 对有效字符前的空白会自动过滤
- 只有输入有效字符后才将其后输入的空白作为分隔符或结束符
- next()不能得到带有空格的字符串 _hello_world->hello
nextLine()
- 以Enter为结束符,会返回回车之前的所有字符
- 可以获得空白
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
//快捷键 new Scanner(System.in) alt+enter
System.out.println("使用next方式接收:");//hello world
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str); //hello
}
//凡是属于IO流的类如果不关闭会一直占用资源,要用完就关闭
scanner.close();
}
}
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
//输入多个数字,并求其和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;
Scanner scanner = new Scanner(System.in);
System.out.println("请任意输入多个数字,以ok结尾:");
//和
double sum = 0;
//计算输入了多少个数字
int m = 0;
//通过循环判断是否还有输入,并每一次在里面求和
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m + 1;//m++;或者++m;或者 m=++m;但m=m++时,m始终为0
sum = sum + x;
System.out.println("你输入了第"+m+"个数,合计"+sum);
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close();
}
}

顺序结构
- 最简单基本的结构
选择结构
-
if单选择结构 if(){}
-
if双选择结构 if(){}else{}
-
if多选择结构 if(){}else if(){}
-
嵌套的if结构
-
switch多选择结构:具有穿透性,一般在每个case都加break跳出
JDK7起switch支持String
反编译 看源码

循环结构
-
while循环
while(表达式){ //循环内容 }避免死循环,即表达式永远为true
-
do...while循环,至少循环一次
do{ //循环内容 }while(表达式); -
for循环☆
最灵活、最有效的循环结构
for(初始化;布尔表达式;更新){ //代码语句 }*快捷键 100.for
*快捷键ctrl+D 复制当前行到下一行
-
Java5中引入了一种主要用于数组的增强型for-each循环
for(声明语句:表达式) { //代码 }public class ForDemo05 { public static void main(String[] args) { int[] numbers = {10,20,30,40,50};//定义了一个数组 //遍历数组的元素 for(int x:numbers){//将数组中每一项逐个赋值给x System.out.println(x); } System.out.println("========等同于============"); for (int i = 0;i<5;i++){ System.out.println(numbers[i]); } } }
break&continue
- break:用于强制跳出循环或switch
- countinue:用于跳出某一次循环,进入下一个循环
- 了解:关于goto关键字:goto仍是Java的一个保留字,但并未得到正式使用;类似于:带label的continue
浙公网安备 33010602011771号