Java流程控制语句

Java的流程控制

用户交互Scanner

Scanner对象的作用:用于获取用户端在键盘上输入的值。

基本语法:

Scanner scanner=new Scanner(System.in);//创建一个扫描器对象s,用于获取用户输入的值

通过Scanner类的next()和nexLine()的方法来获取输入的值,一般在读取值之前,会用hasNext()和hasNextLine()来判断是否有输入值。


next()与nextLine()区别:

  • next():

    • 一定要获取到有效字符才会结束

    • 对于有效字符前的空格,next()会自动去处

    • 当出现有效字符后,若输入的有空格,则会以该空格为结束标志,结束获取字符

    • 因此next()不能获取带空格的字符

  • nextLine()

    • 以按下Enter为结束标志,获取输入的所有值

    • 可以获取空白


hasNext(),hasNextLine(),hasNextInt(),hasNextDouble()等,都是用来判断是否有值输入的方法。前两个用于判断字符串类型,后面的用于判断数值类型。


练习:

 

注意:在使用IO流(即输入输出流)时,必须有结束代码,以节省运行内存

可以看到,图中程序并没有显示进程结束,因此还需要在结束输出后补上以下代码:

scanner.close();

顺序结构

按代码由上往下,一步一步执行,是最为基本的一种结构。

选择结构

if语句

  • if

  • if...else

  • if...else if

  • if的嵌套

switch多选择结构

  • 基本语法:

switch(expressino){
   case value1://case后面的value1表示判断expression是否与其匹配
       a=1;//此处表示若value1与expression相等,则运行改语句
       break;//跳出switch语句
   case value2:
       a=2;
    defult:
a=3;
}
  • switch语句中变量的类型及特性:

    • byte,short,int,char(字符型)

    • 字符串型(注意:JDK7后,switch语句开始允许String类型了)

    • case标签必须为字符串常量或字面量(即特定的值)

    • case具有穿透性,当switch语句匹配到对应的值时,case后的所有语句都会执行,故,一般都会在每个case结束后加上break语句以跳出

    • switch相交于if语句,在匹配值时,更为方便

  • switch语句的练习

 

 


 

 

switch语句可以判断字符串类型

循环结构

while循环:

  • 基本语法:

    while(判断条件){
       代码;
    };
  • 大多数情况下,while语句执行的次数都是有限的

  • 少数情况下,需要循环一直执行,如服务器的请求响应监听等

  • 只要判断条件为真,while语句就会一直执行,所以应避免出现死循环

练习:

//计算1+2+3...+100
int n=1;
int sum=0
while(n<=100){
   sum+=n;
   n++;
};

do...while

  • while与do...while的区别是:while先判断,条件为真则执行,而do...while是先执行,再判断

  • do...while语句至少执行一次

for循环

  • 基本语法:

    for(i=0;i<n;i++)//先获得i的值然后进行判断,当i满足条件时,执行for内部的代码,然后执行迭代,即i++
    {
       代码;
    }
  • for循环是支持迭代的一种通用结构,是最有效,最灵活的循环结构

  • for语句循环的次数在开始执行前就已经确定了

  • 增强for循环(用于简化数组或几何的输入输出):

    int[] array=new int[10];//创建一个含有10个元素的数组array
    //遍历数组元素
    for(int x:array){
       System.out.println(x);
    }
    //上面的增强for循环与下面的语句等效
    for(int x=0;x<array.length();x++){
        System.out.println(array[x]);
    }

练习:

 

 


 

 


 

 

break,continue

  • break与continue均用于控制循环的进程,二者区别在于:break用于跳出该循环程序,而continue仅退出本次循环

章末练习

打印一个三角形:

 

 

Debaug的使用:可以逐步观察程序进行工程中,控制台输出的值以及代码中变量的变化

总结

终于把这一章学完了,但我感觉我没刚学时那么有激情,那么悠然自得了。不过我一定会坚持的,好好利用这宝贵而短暂的大学生活,去为了以后而奋斗。我不是很愿去畅想未来会是怎样,对我来说,未来更多意味着迷茫与不知所措,虽然,我心中仍怀有希望与憧憬。我时常在某个平常而又无聊的时刻,突然恍惚,突然认不清自己,并怀疑起生活,怀疑起活着的意义。我总是这样,过得恍恍惚惚,迷迷茫茫,彷徨与流逝的时间中,深陷于浑浑噩噩的日子里。我终究是不知道自己想要什么,想成为什么样的人,经历什么样的生活。虽然,我也偶尔会幻想,幻想着物欲与金钱所能带给我的满足。我是平凡的,虽然我不愿承认,但我知道。每当我看到他人生活的苦涩时,我就开始畏惧,我承认我害怕过那样的日子。

好啦,不这么负能量了。来总结总结这两天学习的情况。在寝室上了两个星期的网课,这个星期开始线下教学了。由于这学期课程安排的比较多,所以自学进度减慢了,不过,如果好好利用时间,其实每天也能学到不少。今天和昨天学习状态都不怎么好,教室老师讲的总感觉不怎么好,总想着回来上网课,而真正在寝室时,又有些看不下去网课。以至于课程拖的比较多,其实也不算多,毕竟正式上课才开始两天,不过,这是个恶循环,如果不尽早解决,后面想补就难了。

所以,学习不仅要努力,还得有方法。就写到这吧,等会还要去上课呢。

posted @ 2022-03-08 21:34  哥本是哈根  阅读(64)  评论(0)    收藏  举报