运算符、基本类型转为String(第二章)
运算符:对变量等数据进行操作的符号称为运算符
表达式(exception):使用运算符等符号把数据连起来的语法格式称为运算符,比如变量a=a+b; a+b就是一个基本的表达式
常用的运算符:1.算数运算符 2.赋值运算符 3.关系运算符 4.逻辑运算符 5.三元运算符
运算符的使用:
1.算数运算符:用于对变量进行数学计算(+、-、*、/、%、++、--、+=、-=)
+:加号左右都是数据,则加号的作用就是运算;加号左右有字符,则起连接作用
例:要打印输出:100+200=300
int a=100;
int b=200;
int c=a+b;
sout(a + "+" + b + "+" + "=" + c);
加号计算过程中是顺序相加,一个一个的往后加
当有不同类型的数值进行计算是,结果的类型取决于精度最高的类型
float d=300.5f;
double e=400.4;
c=a+b+d+e;(这样写会丢失精度,左边c是int型,右边e和d精度比较高,接收下来会丢失精度)
例子:如果a和b两个int型,但是两个的和超过了int型,就要将其中一个先强转成long型,不然精度也会丢失
long f=a+b;(精度丢失)
long f=(long)(a+b);(精度丢失)
long f=(long)a+b;(精度不会丢失)
乘积
c=a*b;
商:
e=a/b;
e是double类型,a和b都是int类型
若a=200.b=5则e=40;
若a=10,b=4则e=2,精度会丢失,要想精度不丢失,就要将a和b其中一个强转为double型,e=(double)a/b
%表示取余(将两数相除,除不尽的为余数)
例子:假设125个小时,换成天后将余下几个小时?
int totalHours=125;
int day=totalHours/24;(天数是直接除,小数部分会自动丢失精度)
int hours=totalHours%24;(取余获得的是除不尽的余数部分)
sout(“共有”+day+"天,余下"+hours+"个小时");
例子:键盘录入一个三位数,分别打印这个数的个位、十位、百位;
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
sout(“请输入一个三位数:”);
int num=sc.nextInt();
int n1=num%10;(获得的是个位数)
int n2=num/10%10;(获得的是十位数)
int n3=num/100;(获得的是百位数,小数精度丢失)
sout("个位数是:"+n1+"十位数是:"+n2+"百位数是:"+n3);
}
++表示自增1:(同样的a--表示自身减1)(若是表示自身加减值定的数值:a+=3,a-=3)
int a=10;
a++; (此时a等于11)
sout(a);
若是将++写在打印中
1.前置++表示先运行++,在执行其他操作
2.后置++表示先执行其他,在运算++
int a=10;
sout(++a);(此时a是11)
sout(a++);(此时a是10,但是接着执行其他操作时,a的值为11)
关系运算符:
用于两个数进行比较的运算符 > < == >= <= !=
=表示赋值,==表示相等
关系运算符的结果是boolean型,结果只为true或者false
比较数值:
int a=10;
int b=10;
sout(a>=b);(true)
sout(a==b);(true)
sout(a!=b);(false)
比较两个字符串:equals() 是object的属性,所有所有的对象都有这个方法
==比较的是值和地址,equals比较的是值不包括地址
String str1=“hello”;
String str2=sc.next();
sout(str1==str2);(false)
sout(str1.equals(str2));(true)
逻辑运算符:
用于入场交流中 并且、或者、除非等等思想的运算符
&& || ! & |
&&和||称为短路运算符,前面的一个条件满足则后面的一个条件不会再进行
& | 和双的功能一样,但是不短路,不管前面的满不满足,后面的条件都会执行
&& 只要一个错就全错
|| 只要一个对就全对
int a=10;
sout(++a>=b || ++a==c)
sout(a);
若第一个条件对了,则第二个条件不会再运行,此时打印a=11 ;
若第一个条件错了,则第二个条件运行,此时打印a=12 ;
但是将 || 换成 | 那不管条件对错,打印都是 a=12;
多种运算符的优先级:
小括号 > !> 算数运算符 >关系运算符 > && > || > 赋值运算符
!是取反符:对boolean类型的结果取反
基本类型转为String:
1.要先将基本类型转成包装类
int a=10;
Integer b=new Integer(a);
String s=a.toString();
2.连接一个string字符串
String s=a+"";
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!