Java的流程控制
Scanner对象
next();
一定要读取到有效字符后才可以结束输入。
对输入有效字符之前遇到的空白,next()方法会自动将其去掉()。
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
next()不能得到带有空格的字符串(当输入的字符串中有空格时,不再接收空格后的字符串)
nextLine():
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
可以获得空白
package ProcessControl;
import java.util.List;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("使用next接收");
if (scan.hasNext()) {
String str = scan.next();
System.out.println("通过Scanner获取输入值" + str);
}
String str = scan.nextLine();
System.out.println("通过ScannerLine获取输入值" + str);
int num=0;
float numF=0.0f;
System.out.println("请输入整数");
//接收整型数据
if (scan.hasNextInt())
{
num=scan.nextInt();
System.out.println("整数值为"+num);
}
//接收浮点型数据
if (scan.hasNextFloat())
{
numF=scan.nextFloat();
System.out.println("浮点数值为"+numF);
}
//循环接收数据,当数据不再是数字时,退出循环
int sum=0;
int i=0;
System.out.println("请输入数据");
while (scan.hasNextInt()) {
sum+=scan.nextInt();
i++;
}
System.out.println("输入数据总和为 "+sum+" 输入数据平均值为 "+(sum/(i<1?1:i)));
//释放Scanner对象
scan.close();
}
}
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
顺序结构时最简单的算法结构。
语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
选择结构
if单选择结构
判断是否满足条件,才进入运行
if(true)
{
System.out.println("条件成立,开始运行");
}
if双选择结构
条件不满足时,执行另外一个选择
if(false)
{
}
else
{
System.out.println("条件不成立,执行该部分");
}
if多选择结构
条件不满足,任然可以判断另外的条件
if(false)
{}
else if(true)
{
System.out.println("该部分条件成离,执行该部分");
}
else
{}
嵌套的if结构
if语句程序块中任然可以写if语句
if(true)
if(true)
if(false)
{
}
else
{
System.out.println("最终条件不成立,执行该处");
}
switch多选择结构
分支语句
switch(i)
{
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("……");
break;
}
从Java SE7开始支持String类型,比较时采用Hashcode值
循环结构
while循环
while(true)
{
}do……while循环
do{
}while(true);for循环
for(int i=0;i<100;i++)
{
}foreach循环
for(声明语句:表达式)
{
}Java5引入了一种主要用于数组或者集合的增强型for循环
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
break,continue
关于goto,并未正式使用
Java的流程控制的更多相关文章
- Java的流程控制和C++的异同
Java的流程控制和C++基本相似 现将不同的地方总结一下,以便快速掌握. Java的特殊流程控制的特殊部分: 1.顺序结构 -- 没有区别 2.分之结构 -- 没有区别 3.循环结构 1> ...
- Java学习--流程控制
Java学习 流程控制 用户交互Scanner Scanner对象 Java通过Scanner类获取用户的输入 基本语法: Scanner scanner = new Scanner(System.i ...
- Java基础-流程控制(04)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...
- Java程序流程控制之if-else if-else
java基础之流程控制(一) 流程控制 Flow Control : 流程控制语句是编程语言中的核心之一.可以分为 分支语句.循环语句和跳转语句. 本讲内容包括分支语句 ...
- Java程序流程控制
程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...
- 【Java】流程控制
文章目录 流程控制 一.用户交互scanner 1.1 Scanner对象 1.2 Scanner进阶使用 二.顺序结构 三.选择结构 3.1 if单选择结构 3.2 if双选择结构 3.3 if多选 ...
- java基础 流程控制和条件语句,循环语句
顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...
- java 基础 流程控制
鄙人不才,基础不好,趁着闲时简单学习一下,仅作学习分享,如有不正确地方还请各位看客不吝指出. Java流程主要可以分为: 顺序(可以按照正常顺序一步步往下运行的) 选择(三元操作符[?:];if el ...
- 【Java】流程控制 - 顺序结构、 选择(分支)结构(单分支、双分支、多分支、嵌套)、循环结构(for、while、do...while)、跳转语句(break、continue)
流程控制语句结构 文章目录 流程控制语句结构 一. 顺序结构 1. 输出语句 2. 输入语句 3.code 二.复合语句 三. 分支结构 1. 条件判断 1.单分支结构 2.双分支结构 3.多分支结构 ...
- 跟着刚哥梳理java知识点——流程控制(六)
分支结构(if…else .switch) 1.if else 语句格式 if(条件表达式){ 执行代码块; } else if(条件表达式){ 执行代码块; } else{ 执行代码块; } 2.s ...
随机推荐
- noi 2.1基本算法之枚举
7647:余数相同问题 1.描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同. 请问满足上述条件的x的最小值是多少? 数据保证x有解. 2.输入 ...
- noi 45 金币
noi 45 金币 1.描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天)里,每天收到两枚金币:之后三天(第四.五.六天)里,每天收到三枚金币:之后四天( ...
- leetcode-36-有效数独,leetcode-37-求解9*9数独
#include <iostream> #include <vector> #include <utility> #include <unordered_ma ...
- Python 数据结构及语法
Python 数据结构及语法 Python 数据结构及其接口方法 列表 lst = [] lst.sort() # 排序列表 lst.reverse() # 反转列表 lst.append() # 表 ...
- ICPC2020上海B - Mine Sweeper II
思维 [B-Mine Sweeper II_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)(重现赛)@hzy0227 (nowcoder.com)](https://codeforc ...
- 手把手教你用Typora自动上传到picgo图床【教程与排坑】
手把手教你用Typora自动上传到picgo图床[教程与排坑] 参考链接: 1. https://blog.csdn.net/disILLL/article/details/104944710?utm ...
- Go 的位操作
在计算机内存昂贵,处理能力有限的美好旧时光里,用比较黑客范的位运算方式去处理信息是首选方式(某些情况下只能如此).时至今日,直接使用位运算仍然是很多计算领域中不可或缺的部分,例如底层系统编程,图形处理 ...
- MySQL查询时记录行号rownum MySQL查询显示行号MySQL查询显示行号MySQL流水号自MySQL自增行号
MySQL查询时记录行号rownum MySQL查询显示行号MySQL查询显示行号MySQL流水号自MySQL自增行号 一.前言 Oracle中有rownum,实现查询的时候记录行号,MySQL中没有 ...
- kibana7.6.2源码开发编译
1.进入kibana的github网址,选择自己需要的kibana版本,因为项目使用的是elasticseach7.6.2,所以我选择的是kibana v7.6.2 2.通过git命令clone所需要 ...
- adb 工具-原⽣安卓解决WiFi⽹络受限以及修改NTP服务
安装包下载地址:https://developer.android.google.cn/studio/releases/platform-tools 注: adb kill-server //结 ...