从零学起-----Java篇02 Java编程基础-4 随机数类Random&流程控制语句

目录

1. 随机数Random类

2. 流程控制语句

2.1 if 选择结构

2.2  if … else 语句

2.3 if … else if … else 语句

2.4 嵌套 if 选择结构

2.5 Switch 语句

2.6 while 循环语句

2.7 do…while 循环语句

2.8 for 循环语句

2.9 循环嵌套


1. 随机数Random类

在编写程序的过程中,如果要产生一个随机数就需要用到随机数类Random.Random类也是JDK中的类.可直接使用.

Random类里有两个常用方法如下:

方法1:public int nextInt(int maxValue)

功能:产生0到maxValue范围的随机整数,包含0,不包含maxValue.

方法2:public double nextDouble()

功能:产生0到1范围的随机小数,包含0.0,不包含1.0

2. 流程控制语句

以前写的代码程序都是从第一行执行到最后一行,按先后顺序执行.

使用流程控制语句可以控制程序的执行流程,

流程控制语句包括if选择结构和switch选择结构.

2.1 if 选择结构

通过if选择结构可以做到选择性的执行代码,如果满足某种条件,就进行某种处理.

if语句的具体语法格式如下:

if (条件语句) {

执行语句

……

}

上述格式中,条件语句的结果是一个布尔值,

当结果为true,{}中的执行语句才会执行.

2.2  if … else 语句

if … else 语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理.

if … else 语句具体语法格式如下:

if (判断条件) {

执行语句1

……

}

else {

执行语句2

……

}

上述格式中,判断条件是一个布尔值.

当判断条件为true时,if后面{}中的执行语句1会执行.

当判断条件为false时,else后面{}中的执行语句2会执行.

if … else 语句的执行流程:

    

Eg1. 判断奇偶数

2.3 if … else if … else 语句

if … else if … else 语句用于对多个条件进行判断,进行多种不同的处理.

if … else if … else 语句具体语法格式如下:

if (判断条件1) {

执行语句1

……

} else if (判断条件2) {

执行语句2

……

}

……

else if (判断条件n) {

执行语句n

} else {

执行语句n+1

}

上述格式中,判断条件是一个布尔值.当判断条件1为true时,if后面{}中的执行语句1会执行.当判断条件1为false时,会继续判断条件2,如果为true则执行语句2,以此类推,如果所有的判断条件都为false,则意味着所有条件均未满足,else后面{}中的执行语句n+1会执行.

 if … else if … else 语句的执行流程

Eg1. 判断成绩等级

2.4 嵌套 if 选择结构

嵌套 if 选择结构就是在一个 if 选择结构里还包括其他的 if 选择结构.

嵌套 if 选择结构语法如下:

if (条件1)

{

        if (条件2)

          {

           代码块1

          }

         else

         {

        代码块2

         }

}

else

{

代码块3

}

"=="和"equals()":

"==":

【1】如果比较的对象是基本数据类型,则比较数值是否相等;

【2】如果比较的是引用数据类型,则比较的是对象的内存地址是否相等。

分析:

∵Java中只有值传递

∴无论比较基本数据类型或是引用数据类型的变量,其本质比较的都是值.

Ps:其中引用类型变量的值是对象的地址。

"equals()":

"equals()"方法存在于Object类中,而Object类是所有类的直接或间接父类。

在使用Object类的"equals()"时,其比较的是两个对象的地址,等同于使用"==".

如果重写覆盖了"equals()"方法,则根据内容不同比较方式不同.

equals()方法存在两种使用情况:

【1】某类没有覆盖equals()方法:

通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象.

使用的默认是Object类equals()方法.

Object类中equals方法源码:

publicbooleanequals(Objectobj){

return(this==obj);

}

【2】某类覆盖了equals()方法:

重写内容不同,比较方式不同.

一般通过覆盖equals()方法来比较两个对象中的属性是否相等;

若它们的属性相等,则返回true(即判断两个对象相等)。

在Integer中,比较的是对应数字的值.

在String中,先判断地址的值,相同返回true,地址不相同进一步判断字符串内容,

内容相同返回true,反之返回false.

总结:

1.==用于基本数据类型时比较的是值

2.==用于包装类(引用类)时比较对象地址

3.equals方法未重写时比较对象地址,等同于使用"=="

4.equals方法重写后根据重写内容判断比较方式:

Object类(地址)、Integer类(值)、自定义类(自主定义)、

String类(先比较地址,后比较内容,两者都不相同返回false,否则返回true).

2.5 Switch 语句

switch 语句是一种很常用的选择语句,它和if选择语句不同,它是根据表达式的值决定程序执行哪一段代码.

switch 语句的语法格式如下:

switch (表达式){

     case 目标值1:

          执行语句1

                break;

     case 目标值2:

          执行语句2

                break;

             ……

     case 目标值n:

          执行语句n

                break;

     default:

          执行语句n+1;

                break;

     }

Switch 语句会先计算表达式的值然后拿表达式的值和 case 中的目标值进行匹配,从目标值1开始一次往下,如果找到了和表达式的值相等的目标值,则执行对应目标值后面的执行语句.如果没有找到任何匹配值,则执行 default 后的执行语句.每个case执行语句后面会有一个 break 语句,当执行到 break 的时候就会跳出 switch 语句.

switch 语句的执行流程

switch 语句的简写形式

2.6 while 循环语句

选择结构语句可以让程序选择性的执行代码,如果想让一段代码反复执行就需要用到循环结构语句.循环结构语句有3种: while循环语句、do while 循环语句、for 循环语句.

while 循环语句的语法结构

while (循环条件){

执行语句

……

}

{}中的代码为循环体,当循环条件成立时会去执行该循环体,循环体里的代码执行完毕后再去判断循环条件,如果循环条件成立则再次执行循环体,往复循环,直到循环条件不成立,循环结束,不再执行循环体.

循环条件结果是一个布尔值,若为true表示成立,若为false表示不成立.

while 循环的执行流程

2.7 do…while 循环语句

do…while 循环语句和 while 循环语句功能类似

do…while 循环语句的语法结构

do {

执行语句

} while (循环条件);

do…while 循环语句的循环条件在循环体的后面,所以 do…while 循环会至少执行一次循环体,这也是它和while循环的不同之处(while循环的循环体有可能一次都不执行).

do…while 循环的执行流程

2.8 for 循环语句

for 循环语句是最常用的循环语句,一般用在循环次数已知的情况下.

for 循环语句的语法格式

for (初始化表达式;②条件判断语句;④控制条件语句){

     ③循环体

         ……

      }

for 循环语句由四部分组成,程序执行时会按照如下步骤进行:

第1步:执行①初始化表达式.

第2步:执行②条件判断语句,如果成立则执行循环体.

第3步:执行控制条件语句,第一次.

第4步:再次执行②条件判断语句,

          如果仍成立则继续执行循环体.

第5步:执行控制条件语句,第二次.

往复循环……

第n步:执行④控制条件语句,不符合循环条件,结束循环.

for 循环的执行流程

Eg1. 求1至100的整数之和.

Eg2. 输入一个整数,使用for循环按加法表格式输出.

2.9 循环嵌套

循环嵌套指的是在一个循环中包含另外一个循环.

循环嵌套的语法格式

for (初始化表达式;循环条件;操作表达式){

      ……

      for (初始化表达式;循环条件;操作表达式){

             执行语句

             ……

             }

             ……

}

Eg1. 九九乘法表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果茶戒糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值