类型转换:
自动类型转换:把一个小的数值或变量给另一个表示数据范围大的变量
double d =10;
byte>short=char>int>long>float>double
byte和short不能直接转换成char
强制类型转换:把一个表示数据范围大的数值或者变量赋值给一个表示数据范围小的变量
格式:目标数据类型 变量名 = (目标数据类型) 值或者变量;
int k=(int) 66.63;
//自动类型转换
double d =10;
System.out.println(d);
//定义byte
byte b =10;
short s = b;
System.out.println(b);
//这是不可以的,类型不兼容
//char c =b;
//System.out.println(c);
//强制类型转换,会有数据丢失
int k =(int)66.63;
System.out.println(k);
算术运算符
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量连接起来,符合Java语句的式子。不同的运算符连接的表达式体现的是不同类型的表达式。
除法得到的是商,取余得到的是余数
整数相除得到整数,要想得到小数,必须有浮点数的参与
int a =6;
int b =4;
System.out.println(a+b);//加
System.out.println(a-b);//减
System.out.println(a*b);//乘
System.out.println(a/b);//除
System.out.println(a%b);//取余
System.out.println(6.0/4);
运算结果
字符的“+”操作
当“+”操作出现在字符串时,这个“+”是在字符串联接符,而不是运算符。
当“+”操作出现字符串,就是连接运算符,否则就是算数运算。当连续进行“+”操作时,从左到右逐个执行。
System.out.println("my "+"name");
System.out.println("name "+54328);
System.out.println("剑月"+54+32);
System.out.println(54+46+"剑月");
赋值运算符
int a = 10; = 是赋值
读作将10赋值给int 类型的变量a。
//赋值
int a =10;
System.out.println(a);
//+= 把左边和右面的数据做加法操作,结果赋值给左边
a +=20 ;
System.out.println("a:"+a);
a=a+20;
//注意: 扩展的赋值运算符底层包含了强制类型转换
short s =10;
s +=20;
s = (short)(s+20);
System.out.println("s:"+s);
运算结果
自增自减运算符
++自增,变量值加一
--自减,变量值减一
//定义变量
int i =10 ;
System.out.println("i="+i);
//单独使用++i 和 i++ 一样
i++;
System.out.println("i:"+i);
++i和i++在参与运算操作中的区别
++i是先进行i+1的操作赋值给g
i++是先将i赋值给j再进行++的操作
//定义变量
int i =10 ;
//参与操作使用
int j =i++;
System.out.println("i:"+i);
System.out.println("j:"+j);
int g = ++i;
System.out.println("g:"+g);
运算结果:
最常用的方法是单独使用