首页 > 其他分享 >scanner对象及控制流

scanner对象及控制流

时间:2023-07-12 17:35:15浏览次数:39  
标签:语句 scanner 对象 控制流 else break 循环 执行

scanner对象

新建scanner对象:Scanner scanner=new Scanner(System.in);
使用next()方法接收输入:String str=scanner.next();
使用nextLine()方法接收输入:String str=scanner.nextLine();

判断是否还有输入:scanner.hasNext()
               scanner.hasNextLine()

next():1、一定要读取到有效字符后才可以结束输入
2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
4、next()不能得到带有空格的字符串

nextLine():1、以回车作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白字符。

控制结构

一、顺序结构
语句之间是顺序执行

二、选择结构

单选择:if(条件){执行语句1}
双选择:if(条件){执行语句1} else{执行语句2}
多选择:if(条件1){执行语句1} else if(条件2){执行语句2} else if(条件3){执行语句3} ...else{执行语句n}
1、if语句至多有1个else语句 ,else语句在所有的else if 语句之后
2、if语句可以有若干个else if 语句 ,它们必须在else语句之前 一旦其中一个else if 语句检测为true,其他的else if以及else语句都将跳过执行。
嵌套选择:if(条件1){ if(条件2){} }
switch选择:
switch (值){
case 值1:
执行语句1
break;//用于跳出循环
case 值2:
        执行语句2
break;//用于跳出循环
   ...
default:
执行语句n
}
 break用于跳出循环,如果不使用break,某个匹配值及后面的语句都会执行

三、循环结构
1、while循环
while (布尔表达式){
循环内容
}
1、只要布尔表达式为true,循环就会一直执行下去;
2、大多数情况是会让循环停下来的,需要一个让表达式失效(即为false)的方式来结束循环;
3、少部分情况需要循环一直执行,如服务器的请示响应监听等;
4、循环条件一直为true就会造成死循环,正常业务编程中应尽量避免死循环

2、do...whild循环
do{
循环内容
}while(布尔表达式);

while与do while 的区别:
1、while先判断后执行,do while 先执行后判断
2、do while总是保证循环体会被至少执行一次


3、for循环
for(初始化;布尔表达式;更新){
代码语句
}

输入100.for快速生成for循环

4、增强for循环
for(声明语句:表达式){
代码语
}
主要用于数组或集合的遍历
int[] numbers={10,20,30,40,50};
//遍历数组元素
for(int x:numbers){
System.out.println(x);
}


break与continue
1、break 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句。(break也在switch语句中使用)
2、continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。


标签:语句,scanner,对象,控制流,else,break,循环,执行
From: https://www.cnblogs.com/mary-blog/p/17547640.html

相关文章

  • Json与Java对象互转工具类
    常用的JSON处理库:Jackson:这是最常用的库,它提供了各种特性,如生成/解析JSON的速度快,内存占用小,可扩展性强等。Jackson支持类型安全,还具有复杂数据绑定的能力。Gson:由Google开发,也是一个相当流行的库,使用起来非常简单。Gson可以工作在任何JDK版本上,没有任何额外的依赖项......
  • JVM(八)对象的实例化内存布局与访问定位
    JVM(八)对象的实例化内存布局与访问定位1对象创建的方式new变形1:Class的newInstance(),即反射Class的newInstance反射的使用较为苛刻,要求只能调用空参的构造器,而且权限必须是public这种方式再jdk9中被标记为过时了Constructor的newInstance(),也属于是反射可以调......
  • JavaScript 将对象数组按字母顺序排序
    原文链接:JavaScript将对象数组按字母顺序排序这里给出三种解决方案:1.if条件语句+sort()2.localeCompare()+sort()3.Collator()+sort()sort用法语法array.sort(compareFunction)参数值参数描述compareFunction可选。定义替代排序顺序的函数。该函数......
  • Hystrix传播ThreadLocal对象,Feign调用返回null问题
    微服务与微服务之间相互调用,你是否有过使用Hystrix时,该传播ThreadLocal对象的困惑?  我们知道Hystrix有隔离策略:THREAD(线程池隔离):即:每个实例都增加个线程池进行隔离SEMAPHORE(信号量隔离):适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身   现在有如下两......
  • Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是
    1.jquerygrep()筛选遍历数组(可以得到反转的数组)//1.jquerygrep()筛选遍历数组(可以得到反转的数组)vararray=[1,5,9,3,12,4,48,98,4,75,2,10,11];varfilterArray=$.grep(array,(currentValue)=>{returncurrentValue>10;});console.log(`${filt......
  • 如何把jQuery对象转成DOM对象?OR DOM对象转化成jQuery对象
    如何把jQuery对象转成DOM对象?参考:https://www.imooc.com/code/8110利用数组下标的方式读取到jQuery中的DOM对象<div>元素一</div><div>元素二</div><div>元素三</div><scripttype="text/javascript"> var$div=$('div');//jQuery对象 ......
  • 案例:数据源对象管理
     管理什么样的数据源就要导入他的坐标然后才能配置bean不同的数据源name属性都不一样需要自己探索driverurluserpassword ......
  • 108.如何设计一个计算仅单个子类的对象个数?
    108.如何设计一个计算仅单个子类的对象个数?1.为类设计一个static静态变量count作为计数器;2.类定义结束后初始化count;3.在构造函数中对count进行+1;4.设计拷贝构造函数,在进行拷贝构造函数中进行count+1,操作;5.设计赋值构造函数,在进行赋值函数中对count+1操作;6.在析构函数中......
  • 80.继承机制中对象之间如何转换?指针和引用之间如何转换?
    80.继承机制中对象之间如何转换?指针和引用之间如何转换?1.向上类型转换将派生类指针或引用转换为基类的指针或引用被称为向上类型转换,向上类型转换会自动进行,而且向上类型转换是安全的。2.向下类型转换将基类指针或引用转换为派生类指针或引用被称为向下类型转换,向下类型转换不......
  • vue3中父组件与组件之间参数传递,使用(defineProps/defineEmits),涉及属性传递,对象传递,
    Vue3中子父组件之间的通信一、父组件传递参数到子组件采用defineProps传递属性父组件:<template><div><h1>这是父组件</h1><h1>父组件像子组件传递参数</h1><h2>传递属性值</h2><HH:fatherMessage="fatherMessage":valNum="valNum":valBool=......