JAVA---03

第三天

 

1. Scanner对象

//创建一个Scanner对象
Scanner Scanner = new Scanner(System.in);

String str;
//判断用户是否输入字符串
if(scanner.hasNext){
str = scanner.next();
System.out.println("输出内容为:"+str);
}

//关闭scanner
scanner.close();

 

 

  通过Scanner类的next()与nextLine()方法获取输入的字符串,用hasNext()与hasNextLine()判断是否还有输入的数据

  next():

    1.   一定要读取到有效字符后才可以结束输入

    2. 对输入有效字符遇到的空白,next()方法会自动将其去掉

    3. 只输入有效字符后才将其后面输入的空白作为分隔符或者是结束符

    4. next()方法不能得到带有空格的字符串

  nextLine():

    1.   以Enter为结束符

    2.   可以接受空白字符

    

    nextInt() , nextDouble() , nextFloat() , nextShot() ,

    nextByte() , nextLong()......

  注意:

  1. Scanner输入IO流,凡是输入IO流的如果不关闭它,就会一直占用资源,所以,要养成习惯,用完,要关闭!

  2. hasNext() 和 hasNextLine() 的 区别:

    • hasNext()方法会判断接下来是否有非空字符.如果有,则返回true,否则返回false

    • hasNextLine() 方法会根据行匹配模式去判断接下来是否有一行(包括空行),如果有,则返回true,否则返回false

  3. 采用hasNextXxxx() 的话,后面最好也要用nextXxxx(),否则可能会在别的地方报错:

    • 比如前面用hasNextLine(),那么后面要用 nextLine() 来处理输入;

    • 后面用 nextInt() 方法的话,那么前面要使用 hasNext()方法去判断.

 

2.顺序结构

  • 按顺序,从上到下进行

  • JAVA的基本结构就是顺序结构,是任何一个算法都离不开的一种基本算法结构

3.选择结构

  1. if() else

    if () --- else if() --- else if() ...... ---else

  2. switch(){ case value: [...... default]}

    它语句中的变量类型可以是byte,short,int或者char

    jdk7之后支持字符串String类型

    同时case标签必须为字符串常量或字面量

    注:在使用switch()时,要注意case穿透,用好break(或者在有外层循环的时候也可用continue)

     

 

4.循环结构

  1. while循环

    while(布尔表达式){
       //循环内容
    }

     

  2. do...while循环

    do{
      //循环内容
    }while(布尔表达式);

     

  3. for循环

    for(初始化;布尔表达式;更新){
       //循环内容
    }

    for循环是一种支持迭代的一种通用结构,是最有效,最灵活的循环结构。

    for循环执行的次数是在执行前就确定的

  4. 在java5中引入了一种主要用于 数组增强型 for循环

for(声明语句 : 表达式){
   //代码句子
}
/*
声明语句:声明新的局部变量,该 变量 的类型必须和 数组元素 的类型匹配。
其作用域限定在循环语句块,其值与此时数组元素的值相等
表达式:表达式是要访问的数组名,或者是返回值为数组的方法
*/

public static void main(String[] args) {
   int[] number = {10,20,30,40};  //定义一个数组
   
   for(int i = 0;i<4;i++){
       System.out.println(number[i]);
  }
   
   //遍历数组的元素
   for(int x : number){
       System.out.println(x);
  }
   
   //注:不同点,下边是把number数组中的每一个元素,赋值给x,然后输出的,但使用的方法,就是第一个for循环
}

 

 

注:只要布尔表达式为true,循环就会一直执行下去

 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方法来结束循环

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

循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃

 

5.break和continue

  1. break:在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环

        不执行循环中剩余的语句。(break语句也在switch语句中使用)
  1. continue:语句在循环语句体中,用于终止循环过程,即跳过循环体中尚未执行的语句,

    接着进行下一次是否执行循环的判定

     

  2. 了解goto关键字

     

     

 

//输出质数
//这种写法不建议使用,了解就好
outer:for(int i = 101;i<150;i++){
for(int j =2;j<i;j++){
if(i % j == 0){
continue outer;
}
}
System.out.println(i+" ");
}

 

 

 

 

 

 

补充

  1. Scanner对象是jdk5的新特性,可以通过Scanner类来获取用户的输入,他存在于java.util.Scanner包中

  2. jdk7开始 swith 支持字符串String类型了(字符的本身还是数字!)

     

     

  3. 在switch没有外层循环的时候,只能用break而不能用continue

    在switch有外层循环的时候,可以用break,也可以用continue

  4. .java ---(编译)---> .class(字节码文件)---(反编译)--->

  5. 伪代码:假代码的意思

  6. 在java5中引入了一种主要用于 数组增强型 for循环

  7. 学会使用debug

posted @   qwer787  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示