一.常量与变量的区别
Int age =24 Final int age = 24
常量:前面有final的标识且数值不可变。
变量:数值可以改变。
public class Hello{
public static void main(String[] args){
//求圆的面积 S=pai*r*r
final double pai = 3.14;
// final 是常量的一个标志 如果加上final原来作为变量的age将不会改变
int r =5;
System.out.println("圆的面积="+(pai*r*r));
System.out.println("过一会又执行下一行");
r=10;
//变量可以随时修改 pai=3.15;会报错因为final double 之前已经被赋值了
//常量一但被赋值将不会被修改
System.out.println("半径"+r+"圆的面积"+(pai*r*r));
}
}
二.Scanner的使用
小结:
1.import java.util.*;调用java下所有的工具包
2.New Scanner(System.in);系统输入
3.Int now=input.next.Int();表示从控制台等待接收数据。
例题1.
请输入你姓名手机号及三次模拟考试的成绩。
import java.util.*;//引用java下所有的工具
public class Hello3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //固定格式
System.out.print("请输入你的名字:");
String name = input.next();
//总结:以上两步分别是输出输入,print(作用是将内容输出到控制台)
// input(作用是从控制台提取内容)
System.out.print("请输入你的年龄:");
int age = input.nextInt();
System.out.print("你的手机号码:");
long haoma = input.nextLong();
System.out.print("一模的成绩;");
int yimo = input.nextInt();
System.out.print("二模成绩:");
int ermo = input.nextInt();
System.out.print("三模成绩:");
int sanmo = input.nextInt();
double avg = (yimo + ermo + sanmo) / 3.0;
System.out.println("one\ttwo\tthree\tavg");
System.out.println(yimo + "\t" + ermo + "\t" + sanmo + "\t" + avg);
//\t表示字符表 \n表示换行
}
}
例题2.
使用Scanner类获取键盘输入的会员卡号,并将该数据存储在变量中,输出这个变量的信息请输入四位会员考号:8349 会员考号是:8349
import java.util.*;
public class Tiiiii {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入四位会员卡号");
int kahao = input.nextInt();
System.out.println("会员卡号是:"+kahao);
}
}
三.自动类型转换
转换规则:
- 如果一个操作数为double型,则整个表达式可提升为double型
- 满足自动类型转换的条件
- .两点类型要兼容:数值型(整型和浮点型)互相兼容
- 目标类型大于源类型:例如double型大于int型
四.强制类型转换
例如把double类型强制转换为int
Double height=1.83d;转换为int
操作:Int hei =(int)height;
Hei=1 (多余的数据丢失)
五.运算符
注:(下面表格内容来自菜鸟教程)
1.算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。
表格中的实例假设整数变量A的值为10,变量B的值为20:
操作符 | 描述 | 例子 |
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21(区别详见下文) |
-- | 自减: 操作数的值减少1 | B-- 或 --B 等于 19(区别详见下文) |
2.关系运算符
下表为Java支持的关系运算符
表格中的实例整数变量A的值为10,变量B的值为20:
运算符 | 描述 | 例子 |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
3.逻辑运算符
下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假
操作符 | 描述 | 例子 |
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
练习:求四位会员卡号之和
需求说明:
键盘输入四位数字的会员卡号使用“/”和“%”运算符分解获得会员卡各个位上的数字
将各个位上数字求和
请输入四位会员考号:8349 会员考号是:8349 千位数是:8 百位数是:3 十位数是:4 个位数是:9 会员考号位数只和为:24
操作如下:
import java.util.*;
public class rrrrr {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入四位数的数字:");
int num =input.nextInt();
int ge = num%10;
num =num/10;
int shi = num%10;
num = num/10;
int bai =num%10;
int qian = num/10;
System.out.println(ge+shi+bai+qian);
}
}
六:运算符优先级
1.单目运算符包括! ++ --,优先级别高
2.优先级别最低的是赋值运算符
3.可以通过()控制表达式的运算顺序,()优先级最高
4.从右向左结合性的只有赋值运算符、三目运算符和单目运算符
5.算术运算符 > 关系运算符 > 逻辑运算符