首页 > 编程语言 >【学懂Java】(二)流程控制语句

【学懂Java】(二)流程控制语句

时间:2023-01-11 21:00:38浏览次数:41  
标签:语句 Java String System else 学懂 println out

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。包含顺序结构、分支结构、循环结构。

顺序结构不必多说。

一.分支结构

if语句(单分支选择结构)

定义

if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句

【学懂Java】(二)流程控制语句_break

使用案例

1.随机得到0-5之间的数,并判断是否大于2

public class Judge
{
public static void main(String[] args)
{
int r = (int)(Math.random()*10);
double PI = 3.14;
double area = PI * r * r;
double length = 2 * PI * r;
if(area >= length)
{
System.out.println("面积大于等于周长");
}
else
{
System.out.println("周长大于面积");
}
System.out.println("周长是"+length);
System.out.println("面积是"+area);
}
}

2.祝你好运

import java.util.Scanner;
public class AddCust
{

public static void main(String[] args)
{

System.out.println("信息录入系统");
System.out.println("添加用户信息");
//创建Scanner对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入会员ID<4位整数>");
String number = sc.nextLine();
System.out.println("请输入会员生日<年/月/日>");
String birthday = sc.nextLine();
System.out.println("请输入会员密码");
String score = sc.nextLine();

if(number.length()==4)
{
System.out.println("会员信息如下");
System.out.println(number+"\t"+birthday+"\t"+score);
}
else
{
System.out.println("会员号码输入错误,请输入4位整数");

}
}
}

if-else语句(双分支选择结构)

定义

当条件表达式为真时,执行语句块1,否则执行语句块2,也就是else部分

【学懂Java】(二)流程控制语句_break_02

使用案例

面积与周长

public class Judge
{
public static void main(String[] args)
{
int r = (int)(Math.random()*10);
double PI = 3.14;
double area = PI * r * r;
double length = 2 * PI * r;
if(area >= length)
{
System.out.println("面积大于等于周长");
}
else
{
System.out.println("周长大于面积");
}
System.out.println("周长是"+length);
System.out.println("面积是"+area);
}
}

信息录入

import java.util.Scanner;
public class AddCust
{

public static void main(String[] args)
{

System.out.println("信息录入系统");
System.out.println("添加用户信息");
//创建Scanner对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入会员ID<4位整数>");
String number = sc.nextLine();
System.out.println("请输入会员生日<年/月/日>");
String birthday = sc.nextLine();
System.out.println("请输入会员密码");
String score = sc.nextLine();

if(number.length()==4)
{
System.out.println("会员信息如下");
System.out.println(number+"\t"+birthday+"\t"+score);
}
else
{
System.out.println("会员号码输入错误,请输入4位整数");

}
}
}

If-else if-else(多分支选择结构)

定义

逐条if语句进行判断,条件匹配进入语句体,否则对if语句继续匹配

使用案例

年纪怎么叫

public class AgeName
{
public static void main(String[] args)
{
int age = (int)(Math.random()*1000);
if(age<10)
{
System.out.println("儿童");
}
else if(age<20)
{
System.out.println("少年");
}
else if(age<30)
{
System.out.println("青年");
}
else if(age<50)
{
System.out.println("中年");
}
else if(age<120)
{
System.out.println("老年");
}
else
{
System.out.println("建国之后不准成精");
}
}
}

嵌套if的判断定义

if(条件1)
{
if(条件2)
{
//代码块1
}
else
{
//代码块2
}
}
else
{
//代码块3
}

使用案例

比赛

public class AgeName
{
public static void main(String[] args)
{
int time = (int)(Math.random()*40);
if(time<20)
{
System.out.println("入选");
String sex = ((int)(Math.random()*2))==0?"woman":"man";
if(sex=="woman")
{
System.out.println("进入女子组");
}else
{
System.out.println("进入男子组");
}
}
else
{
System.out.println("未入选");
}
}
}

switch多分支选择结构

定义

  • 根据表达式值的不同执行许多不同的操作
  • switch语句会根据表达式的值从相匹配的执行,一直执行到break标签处、开始ak语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)
  • 只能处理等值条件判断的情况,且表达式必须为byte,short,int或char类型 ,不能是String或double,float.1.7之后可以使用string
  • 常量值必须是与表达式类型兼容的特定的一个常量
  • 不允许有重复的case值
  • default子句为可选

使用案例

元音辅音判断

char c = ‘a’;
int rand =(int) (Math.random()*26);
char c2 = (char)(c+rand);
System.out.print(c2 + “: ”);
switch (c2)
{
case ‘a’:
case ‘e’:
case ‘i’:
case ‘o’:
case ‘u’:
System.out.println(“元音”);
break;
case ‘y’:
case ‘w’:
System.out.println(“半元音”);
break;
default:
System.out.println(“辅音”);
}

二.循环结构

while循环

使用逻辑

  • 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
  • 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

包含

  • 初始化:变量的初始化
  • 条件判断:必须要求返回true或者false的值
  • 循环体:具体的要执行的逻辑代码
  • 迭代变量:促使此循环结束

案例

求100以内偶数和

public class Sum
{
public static void main(String[] args)
{
int i = 1;
int sum = 0;
while(i<=100)
{
if(i % 2 == 0)
{
sum+=i;
}
i++;
}
System.out.println("偶数和为"+sum);
}
}

do-while循环

与while循环类似,只不过while是先判断后执行;do-while是先执行后判断。

do-while至少执行一次

for循环

语法形式

for (初始表达式;布尔表达式;步进)
{
//循环体;
}

注意

  • for循环在执行条件判断后,先执行程序部分,再执行步进。
  • 在for诧句的初始化部分声明的变量,其作用域为整个for循环体
  • “初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作
  • 如果三个部分都为空语句(分号不能省),相当于一个无限循环

三.break、continue和return

​break:

改变程序控制流,用于do-while、while、for中时,可跳出循环而执行循环后面的语句

​continue :

叧能用在循环里,continue 作用:跳过循环体中剩余的语句而执行下一次循环

return:

​语句从当前方法退出,返回到调用该方法的语句处,并且从该语句的下条语句处继续执行程序。

返回语句的两种格式

  1. return expression
  1. 返回一个值给调用该方法的语句。
  2. 返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
  1. return
  1. 当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。​

四.递归算法

定义

  • 程序调用自身的编程技巧称为递归。
  • 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。

​递归问题的特点

  • 一个问题可被分解为若干层简单的子问题
  • 子问题和其上层问题的解决方案一致
  • 外层问题的解决依赖于子问题的解决​

组成

  • 递归结束条件。什么时候不调用自身方法。如果没有条件,将陷入死循环。
  • 递归体。什么时候需要调用自身方法。

​递归的优点

简单的程序

递归的缺点

  • 但是递归调用会占用大量的系统堆栈,内存耗用多,
  • 在递归调用层次多时速度要比循环慢的多​



















标签:语句,Java,String,System,else,学懂,println,out
From: https://blog.51cto.com/u_15796276/6002855

相关文章

  • Java程序的加载与执行
    Java程序的运行包括两个非常重要的阶段编译阶段运行阶段编译阶段编译阶段主要的任务是检查Java源程序是否符合Java语法,符合就能够正常生成字节码文件字节码文件......
  • 7.JavaScript--正则表达式
    实验原理正则表达式是用于处理字符串的强大工具,其他编程语言中也有正则表达式式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己的独特的语法以及一个......
  • Java发送HttpPost请求
    依赖jar包<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.6</version></dependency>发......
  • 为什么list的size只有一个的时候,无法执行for循环,不然会报这个错误(Unable to evaluate
       “ConcurrentModificationException是基于java集合中的快速失败(fail-fast)机制产生的,在使用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了......
  • java.2
    初步接触java注释(comment)java中“//表示单行注释”“/*表示多行注释”“/*(此处应为星号)在java中表示文档注释”(不常用)简单的文字设置File->setting->font(改变整......
  • mysql从库无法正常回放主库的sql语句原因总结
    1.从库回放时报1062错误ERROR1062(23000):Duplicateentry'100-100'forkey'c1'违反唯一约束主库能通过,从库不能通过,要注意主从上表结构与索引结构信息是否完全......
  • [JAVA]RestHighLevelClient的超时设置
    背景设置RestHighLevelClient的超时间,防止请求时间过长,导致接口访问时间过长es官方设置TimeoutsConfiguringrequeststimeoutscanbedonebyprovidinganinstance......
  • Java的标识符与编码规范
    一、Java标识符1.代码回顾在认识什么是Java里的标识符之前,咱们还是先把上节课中的那段代码拿过来复习一下,如下:publicclassHelloWorld{publicstaticvoidmain(Str......
  • JAVA中JSON嵌套报错:Cannot deserialize instance of `java.util.ArrayList` out of ST
      org.springframework.http.converter.HttpMessageNotReadableException:JSONparseerror:Cannotdeserializeinstanceof`java.util.ArrayList`outofSTART_O......
  • 学Java报培训班靠谱不?
    其实各位还在观望要不要入门的同学们,建议先不考虑培训,先考虑下自己靠谱不。刮了一阵风:1、所有大牛都是科班出来的,一股脑推荐自学;2、所有培训没找到好工作的都是受害者;3、所......