Java流程控制

Java流程控制

Scanner对象

java.util.Scanner 可以通过scanner类来获取用户的输入

基本语法:Scanner s = new Scanner(System.on);

通过scanner类的 next() 与 nextline() 方法来获取输入的字符串,再读取前我们一般需要使用hasNEXT() 与 hasNEXTLine() 判断是否还有输入的数据;

//代码:创建一个扫描器对象,用于接收键盘数据

Scanner s = new Scanner(System.on);

System.out.println("使用next方式接收:");

//判断用户有没有输入字符串

if(scanner.hasNext()){

//使用next方式接收

String str = scanner.next();

System.out.println("输出的内容为:"+str)

}

s.close();//凡是属于IO流的类如果不关闭会一直占用资源,用完就关掉

next():
  1. 一定要读取到有效字符后才可以结束输入;
  2. 对输入的有效字符之前遇到的空白,next()方法会自动将其去掉;
  3. 只有输入有效字符后才将其后边输入的空白作为分隔符或者结束符;
  4. next() 不能得到带有空格的字符串
nextline():
  1. 以enter为结束符,也就是说nextline()方法返回的是输入回车之前的所有字符
  2. 可以获得空白

Scanner 的进阶使用

Scanner scanner = new Scanner(System.in);

int i = 0;

float f = 0.0f;

System.out.println("请输入整数");

if(scanner.hasNextInt()){

i = scanner.nextInt;

System.out.println("整数数据" + i );

}else{

System.out.println("输入的不是整数");

}

System.out.println("请输入小数");

if(scanner.hasNextFloat()){

f = scanner.nextFloat;

System.out.println("小数数据" + f );

}else{

System.out.println("输入的不是小数");

}

scanner.close();

顺序结构

语句和语句之间从上到下按顺序执行

选择结构

if单选择结构

if双选择结构

if多选择结构

嵌套的if结构

switch的多选择结构{

switch case语句判断一个变量与一系列值中的某个值是否相等,每个值称为一个分支

switch语句中的变量类型可以是byte,short,int,char,string

switch(expression){

  case1: ~~~

  		break;

  ~~~

  default:

  	~~

}

}

字符--->hashcode() ==》字符串判断的本质

循环结构

while 循环

do while循环-----至少执行一次

for循环

增强for循环{

/*Java5中引入了主要用于数组的增强for循环

for (声明语句:表达式){
	//代码
}
*/
//eg:

public class Demo01 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};//定义了一个数组
        for(int x:numbers){
            System.out.println(x);
        }
    }

while(true){

//死循环,监听服务器,闹钟

}

for(第一个条件可以为空;;)//不写东西,也是一个死循环

break,continue:

continue 是请假,break 是辞职

break 在任何循环语句的主体部分,均可用break控制循环的流程。

break用于强行退出循环(break语句也可在switch语句中使用)

continue 语句用在循环语句体中,用于中止某次循环过程,即跳过循环体尚未执行的语句,接着进行下一次是否执行循环的判定

关于goto关键字

goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但在语言中并未得到正式应用;

Java没有goto,然而,在break和continue这两个关键字的身上,仍存在相关的东西:带标签的break和continue

标签是指后面跟一个冒号的标识符 eg——label:

对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方

eg:

public class Demo01 {
    public static void main(String[] args) {

        int count = 0;
        outer:for(int i =101;i<150;i++){
           for(int j = 2; j<i/2;j++){
              if(i%j == 0){
                 continue outer;
              }
           }
           System.out.println(i + "");
        }

    }

打印三角形

public static void main(String[] args) {
    for (int i = 1; i <= 5; i++) {
        for (int j = 5; j >= i ; j--) {
            System.out.print(" ");
        }
        for (int j = 1; j <= i; j++) {
            System.out.print("*");
        }
        for (int j = 1; j < i; j++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
posted @ 2021-03-11 11:29  道可道非  阅读(19)  评论(0)    收藏  举报