学习java的第七天

本文介绍了JDK9新特性JShell脚本工具的使用场景,演示了+=符号扩展和常量变量运算在Java中的注意事项,并提供了练习题。涵盖了byte、short类型转换,以及不同数据类型间的运算规则。

【前言】昨天我们整理的方法,已经方法的调用,今天我们来拓展一些新内容,以及出一些练习题供你们练习,明天公布答案。

一、Jshell脚本工具

JShell脚本工具是JDK9的新特性(了解)
什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编 译和运行,这个时候可以使用JShell工具。
启动JShell工具,在DOS命令行直接输入JShell命令。
接下来可以编写Java代码,无需写类和方法,直接写方法中的代码即可,同时无需编译和运行,直接回车即可
小贴士:
JShell工具,只适合片段代码的测试,开发更多内容,建议编写在方法中。
二、扩展知识点
+=符号的扩展
下面的程序有问题吗?
public static void main(String[] args){
  short s = 1;
  s+=1;
  System.out.println(s);
}
分析: s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能 将取值范围大的类型赋值到取值范围小的类型。但是, s=s+1进行两次运算 += 是一个运算符,只运算一次,并 带有强制转换的特点,也就是说 s += 1 就是 s = (short)(s + 1) ,因此程序没有问题编译通过,运行结果是2.
常量和变量的运算
下面的程序有问题吗?
public static void main(String[] args){
  byte b1=1;
  byte b2=2;
  byte b3=1 + 2;
  byte b4=b1 + b2;
  System.out.println(b3);
  System.out.println(b4);
}
分析: b3 = 1 + 2 1 2 是常量,为固定不变的数据,在编译的时候(编译器javac),已经确定了 1+2 的 结果并没有超过byte类型的取值范围,可以赋值给变量 b3 ,因此 b3=1 + 2 是正确的。
反之, b4 = b2 + b3 b2 b3 是变量,变量的值是可能变化的,在编译的时候,编译器javac不确定b2+b3 的结果是什么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失败。
jshell中体现:

练习:

1、按步骤编写代码,效果如图所示:  编写步骤:

1. 定义类 Test2
2. 定义 main方法
3. 定义两个byte类型变量b1,b2,并分别赋值为1020.
4. 定义变量b3,保存b1b2的和,并输出.
5. 定义两个short类型变量s1,s2,并分别赋值为10002000.
6. 定义变量s3,保存s1s2的和,并输出

 

2、按步骤编写代码,效果如图所示:

编写步骤:
1. 定义类 Test2
2. 定义 main方法
3. 定义 int类型变量i1 long类型变量l1
4. 定义变量add,保存i1l1的和,并输出.
5. 定义 long类型变量l2 flfloat类型变量f2
6. 定义变量add2,保存l2f2的和,并输出.
7. 定义 int类型变量i3 double类型变量d3
8. 定义变量add3,保存i3d3的和,并输出.
3、按步骤编写代码,效果如图所示:
编写步骤:
1. 定义类 Test4
2. 定义 main方法
3. 定义两个int类型变量a1a2,分别赋值10,11,判断变量是否为偶数,拼接输出结果
4. 定义两个int类型变量b1b2,分别赋值12,13,判断变量是否为奇数,拼接输出结果
扩展题目:
按步骤编写代码,效果如图所示:
编写步骤:
1. 定义类 Test5
2. 定义 main方法
3. 定义方法printNum,main方法中调用printNum方法
4. printNum方法中,定义flfloat变量f1赋值12345.01
5. printNum方法中,定义flfloat变量f2赋值12345.00
6. printNum方法中,定义flfloat 变量 var1 , 使用三元运算符赋值,f1大于等于f2,赋值12456 ,f1小于f2
赋值12456.02
7. printNum方法中,定义flfloat 变量 var2 , 保存var1 1024的和.
8. printNum方法中,同时输出var1,var2的值.

 

今天就学习到这里

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值