java入门学习2 下载本文

内容发布更新时间 : 2024/12/23 6:49:29星期一 下面是文章的全部内容请认真阅读。

1. 运算符和表达式-2 2. 分支结构

1. 运算符和表达式-2

1.1. 赋值运算

使用“=”进行赋值运算

“=”称为赋值运算符,用于对变量赋值。关于赋值运算符,除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值。示例代码如下所示:

1. 2. 3. 4. 5. 6.

int num = 18, index;

= num % 5); // 结果为:3,赋值表达式本身也有值 ; // 结果为:3 int a, b, c;

a = b = c = 100; // c=100 整个表达式的值为100, 将其赋值给b,同样b=(c=100)整个表达式的值也为100,然后有将这个值赋给了a,所以a 的值也是100。

使用扩展赋值表达式

在赋值运算符”= ”前加上其它运算符,即为扩展赋值运算符,其效率高于赋值运算符,推荐使用,扩展赋值运算符如下图 - 5所示: 图- 5

1.2. 字符连接运算

使用“+”进行字符串连接

“+”除了可以进行算术运算以外,还可以实现字符串的连接,同时可以实现字符串与其他数据类型的“相连”。

当 + 号作用于两个数字类型变量时,是在进行算术运算。

当 + 号两边的变量有一个是字符串类型,即””括起来的时候,则其进行的是字符串的连接,连接后的结果为字符串类型。示例代码如下所示:

1. 2. 3. 4. 5. 6. 7.

int a = 100;

String msg = \; //a=100,字符串拼接 msg = \

; //结果为: 100200,””+100,为字符串100再拼上200为100200 msg = 100 + 200 + \

; //结果为:300,100+200为算术运算结果为300,再加上””为300

1.3. 条件(三目)运算

使用条件(三目)运算符

条件运算符又称“三目”运算符,其结构为:boolean表达式 ? 表达式1:表达式2。 条件运算符的规则如下:

1. 先计算boolean表达式;

2. 如果boolean表达式的值为true,整个表达式的值为表达式1的值; 3. 如果boolean表达式的值为false,整个表达式的值为表达式2的值。 示例代码如下:

1. 2.

int a = 100, b = 200;

int flag = a > b ? 1 : -1; //因为a>b为false,所以整个表达式的值为-1,将其赋给flag,即:flag的值为-1。

条件(三目)运算符的嵌套

条件运算符可以嵌套使用,所谓嵌套是指在条件(三目)表达式:“boolean表达式 ? 表达式1:表达式2”中的表达式1或表达式2也是条件(三目)表达式,相当于多重判断,示例代码如下所示:

1. 2. 3.

int a = -3;

String r = a > 0 ? \正数\负数\

; //结果为负数,因为 a 的值小于 0,即boolean 表达式的值为 false ,则取问号后第二个表达式的值作为表达式的结果。而问号后的第二个表达式也是一个三目运算符所构成的表达式。因为 a==0 表达式的值为 false,则取“负数”为表达式的结果。

2. 分支结构

2.1. 什么是分支结构

首先,看一个需求,假设需要编写一个收银柜台收款程序,要求根据商品单价、购买数量以及收款金额,计算并输出应收金额和找零。

通过分析可以想到,这个程序,需要定义三个输入,即:单价、数量、金额。定义两个输出,即:应收金额、找零。因为金额有可能为小数类型,所以变量的数据结构定义为double类型。

此程序可以以如下方式解决,用户由控制台输入:商品单价、购买数量、收款金额;而后计算商品的总价及找零,并输出。示例代码如下所示:

1. 2. 3. 4. 5. 6. 7. 8. public static void main(String[] args) { //定义输入

Scanner console = new Scanner(System.in); \请输入单价(¥):\

double unitPrice = console.nextDouble(); \请输入数量:\

double amount = console.nextDouble(); \请输入金额(¥):\

9. double money = console.nextDouble();

}

console.close(); //计算商品总价

double totalPrice = unitPrice * amount; //计算找零

double change = money - totalPrice; //输出

\应收金额为:\,找零为:\

10. 11. 12. 13. 14. 15. 16. change); 17.

如上代码,输入数据后,可以正确输出应收金额及找零,假设现在需求增加,当商品总价满500时享受8折优惠, 如何解决?这种情况,在软件应用中,需要使用分支结构来实现。

任何复杂的程序逻辑结构都可以通过“顺序”,“分支”,“循环”这三种基本的程序结构实现。如图 – 1所示: 图- 1

刚刚的案例即为顺序结构,第一步A执行完执行第二步B,第二步执行完执行第三步,一步一步顺序执行。分支结构即为根据一个条件做判断,如果条件满足则执行A,否则执行B。还有一种即为后面要介绍的循环结构。原则上,任何复杂的程序, 都可以通过这三种结构来解决。

当程序在运行过程中, 需要根据不同的条件而运行不同的语句时,即可以使用分支结构,Java中有专门的语法结构来实现分支:

1. 当条件满足时运行某些语句;当条件不满足时则不运行这些语句——if结构。 2. 当条件满足时运行某些语句; 当条件不满足时运行另外一些语句——if-else结构

2.2. if语句

if语句的执行逻辑

首先看下面if语句的语法:

1. 2. 3. 4. 5. 6.

语句0;

if(逻辑表达式){ 语句1; 语句2; }

语句3;

如上语句的执行步骤如下所示: 步骤一:执行语句0;

步骤二: 判断逻辑表达式的值,此表达式的值结果为boolean类型,即true或者false。此处可以是关系表达式也可以是逻辑表达式。

1. 若值为true,则执行if语句块中的语句; 2. 若值为false,则跳过if语句块;