【Java语言】— 运算符、案例:键盘录入

运算符

运算符:对字面量或者变量进行操作的符号。

1.算术运算符

符号

作用

说明

+

/

-

/

*

/

/

在Java中两个整数相除结果还是整数

%

取余

/

/ 需要注意什么,为什么?

如果两个整数做除法,其结果一定是整数,因为最高类型是整数。

案例:数值拆分

需求:一个三位数,将其拆分为个位、十位、百位后,打印在控制台。

intdata=589;
        
        intge= data % 10;
        System.out.println(ge);

        intshi= data / 10 % 10;
        System.out.println(shi);

        intbai= data /100;
        System.out.println(bai);
复制代码

2.“+”做连接符

  • “+” 符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。

能算则算,不能算就在一起。

3.自增自减运算符

符号

作用

说明

++

自增

变量自身的值加1

- -

自减

变量自身的值减1

注意:

  • ++和- - 既可以放在变量的后边,也可以放在变量的前边。

  • ++ 、- - 只能操作变量,不能操作字面量。

自增自减的使用事项

++、- -如果不是单独使用(放在表达式中、或者同时有其他操作),放前后或有明显的区别。

  • 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。

inta=10;
intrs= ++a;
复制代码
  • 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1。

intb=10;
intrs= b++;
复制代码
自增自减的案列
	System.out.println("----拓展案列----");
        intk=3;
        intp=5;
        // k 3 4 5 4// p 5 4 3 4// ks 3 + 5 - 4 + 4 - 5 + 4 + 2intrs= k++ + ++k - --p + p-- - k-- + ++p + 2;
        System.out.println(k); // 4
        System.out.println(p);// 4
        System.out.println(rs); // 9复制代码

结果为:

4.赋值运算符

基本赋值运算符:“=”
扩展赋值运算符:“+=”、“-=”、“*=”、“/=”

符号

作用

说明

+=

加后赋值

a+=b 等价于a=(a的数据类型)(a+b);

-=

减后赋值

a-=b 等价于a=(a的数据类型)(a-b);

*=

乘后赋值

a*=b 等价于a=(a的数据类型)(a*b);

/=

除后赋值

a/=b 等价于a=(a的数据类型)(a/b);

%=

取余后赋值

a%=b 等价于a=(a的数据类型)(a%b);

注意:扩展的赋值运算符隐含了强制类型转换。

5.关系运算符

对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。

注意:在做相等判断时,不要把==误写成=。

6.逻辑运算符

可以把多个布尔结果放在一起运算,最终返回一个布尔结果。

短路逻辑运算符

注意:逻辑与“&”、逻辑或“|”:无论左边是false还是true,右边都要执行。

 	System.out.println("----&& & || |的区别-----");
        inta=10;
        intb=20;
        System.out.println(a > 100 && ++b > 10);//false
        System.out.println("&&后面的不执行,b的值未变:"+ b);//20inti=10;
        intj=20;
        System.out.println(i > 100 & ++j > 10);//false
        System.out.println("&后面的运行,j的值加1:" + j);//21intm=10;
        intn=20;
        System.out.println(m > 2 || ++n > 10);//true
        System.out.println("||后面的不执行,n的值加1:" + n);//20intx=10;
        inty=20;
        System.out.println(x > 2 | ++y > 10);//true
        System.out.println("|后面的运行,y的值加1:" + y);//21复制代码

运行结果:

总结

①逻辑与“&”:有一个为false、结果是false。

②短路与“&&”:一个为false、结果是false。前一个为false,后一个条件不执行。

③逻辑与“|”:有一个为true、结果是true。

④短路与“||”:一个为true、结果是true。前一个为true,后一个条件不执行。

⑤逻辑非“!”:!false=true、!true=false。

⑥逻辑异或“^”:相同是false、不同是true。

==注意:实际开发中、常用的逻辑运算符还是:&&、||、!。==

7.三元运算符

三元运算符介绍
格式:条件表达式 ?值1 : 值2;
复制代码

执行流程:首先计算表达式的值,如果值未true,返回值1,如果为false,返回值2

场景:

	// 目标:学会使用三元运算符,并使用其流程doublesocre=98;
        Stringrs= socre >= 60 ? "考试通过" : "挂科";
        System.out.println(rs);

        doublesocre1=18;
        Stringrs1= socre1 >= 60 ? "考试通过" : "挂科";
        System.out.println(rs1);

        //案例:从两个整数中找出较大值inta=10000;
        intb=2000;
        intmax= a > b ? a : b;
        System.out.println(max);
复制代码

结果:

案例:求三个整数的最大值

需求:定义三个整数,找出最大值并打印在控制台。分析:①用三元运算符获取前两个整数的最大值,并用临时变量保存起来。

  • num1 > num2 ?num1 : num2;

②用三元运算符,让临时变量和第三个整数比较,并记录结果。

  • temp > num3 ? temp : num3;

③输出结果。

	inti=10;
        intj=30;
        intk=50;
        //1.找出2个整数的最大值inttemp= i > j ? i : j;
        //2.拿临时变量与第三个值继续比较intrsMax= temp > k ? temp : k;
        System.out.println(rsMax);//50复制代码
拓展知识:三元运算符的嵌套
 	System.out.println("-------拓展知识------");
 	inti=10;
        intj=30;
        intk=50;
        // 三元运算符的嵌套使用intrsMax1= i > j ? i > k ? i : k : j > k ? j : k;
        //辅助理解:int rsMax1 = i > j ? (i > k ? i : k) : (j > k ? j : k);
        System.out.println(rsMax1);
复制代码

运行结果如下:

8.运算符优先级

运算符的先执行后执行要看优先级

案例:键盘录入技术

需求:

  • 请完成Java程序与用户交互,比如录入用户的名称、年龄? API。

  • Java写好的程序(功能代码),直接调用。

  • Oracle也为Java写好的程序提供了相应的API文档(技术使用说明书)。

下载API文档:www.oracle.com/technetwork…

键盘录入功能实现的三个步骤

①导包:告诉程序去JDK的哪个包找扫描器技术。

②写一行代码代表得到键盘扫描对象。

③等待接收用户输入数据。

注意:

  • System、String在JDK中的Java.long包下。

  • lang包不需要我们导包,是默认的包。

案例代码:

package xuexi.scanner;
// 1.导包(不需要自己写,通过工具进行导入更加方便)import java.util.Scanner;

publicclassScannerDemo {
    publicstaticvoidmain(String[] args) {
        // 目标:学会使用键盘录入技术// 2.得到一个键盘扫描器对象Scannersc=newScanner(System.in);

        //3.调用sc对象的功能等待接收用户输入的数据//这个代码会等待用户输入数据,直到用户输入完成数据并按了回车键就会把数据拿到
        System.out.println("请您输入您的年龄:");
        intage= sc.nextInt();
        System.out.println("您的年龄是:" + age);

        System.out.println("请您输入您的名称:");
        Stringname= sc.next();
        System.out.println("欢迎:" + name);
    }
}
复制代码

效果展示:

作者:衍生星球

原文链接:https://juejin.cn/post/7182603085489897509=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值