运算符、基本类型转为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+"";

 

posted @ 2020-03-29 16:42  小小野生程序员sunny  阅读(174)  评论(0编辑  收藏  举报