int 不能转换为short
来源:互联网 发布:删除列sql语句 编辑:程序博客网 时间:2024/06/06 02:31
short s=3;
s=s+2;
s+=2
有什么区别?
s=s+2编译错误,s+2转换为int类型 再赋给short会丢失精度,所以不能赋值给short类型的s
s+=2直接将2以short类型计算和;
在项目中我不常用以下逻辑运算符,小记一下
^为异或:true^true=false ;false^false=false;false^true=true;
&和&&的区别
&无论左边是true还是false,右边都运算
&&如果左边是false,右边不用运算
|:两边都参与运算
||:左边为true右边不运算;
位运算符:(二进制运算)
3<<2=12;
3的二进制向左移动两位后面补0:3*2*2往左移移动几就是几的几次幂
6>>2=1
6的二进制向右移,超出两位舍弃,前面多出两位补0;6/4 舍弃小数部分取整为1
<<:乘以2的移动位数次幂
<<:除以2的移动位数次幂取整
>>最高位补什么由原有数据的最高位值决定 如果最高位为0,右移后,用0补空位 如果最高位为1,右移后,用1补齐
>>>:无论最高位是什么,右移后,都补0
&运算(转换成二进制运算)
6&3=2
6的二进制: 110
3的二进制: &011 0为false 1为true
----------------------------------------------------------
010的值为2
道理相同:6|5=7 ;6^5=3
~波浪线为取反码:~6+1=-6;
6^7^7=6(异或两次同一个数最后得自己)
第一次异或相当于加密,然后再异或一次就可恢复(加密算法相当复杂|、^、等各种复杂加密)
2*8怎样运算效率最高?
2*8可以把两位转换成二进制然后和乘法一样得到的二进制数据再转换成十进制=16
位运算 2*8相当于2乘以2的3次幂,2<<3 2的二进制数据向左边移动三位就可得出二进制转换成十进制=16(位运算效率最高)
小技巧:将60转换成16进制数 先将16转换成2进制 取最后四位 通过&15 的结果 再(>>>)右移4位
switch case
switch(x)
{
default:
System.out.println("AA");
//break;
case :3
System.out.println("AA");
break;
case :4
System.out.println("abc");
break;
}
x=1;
default写在前面,首先case3、case4 再执行default(没有break)但没遇到break和结尾{号 ,然后继续执行default后面的所有代码,不再考虑case直到遇到break;
Double 取两位小数
Double a = 2.1234567; Math.Round(a,2);
Double保留小数点位数(带四舍五入)
程序代码Double salary1 = 10000.0;Double salary2 = 10000.12345;Double salary3 = 10000.1289;Int salary4 = 10000;string salary5 = "10000";string salary6 = "10000.12345";string salary7 = "10000.1289"
Convert.ToDouble(salary1).ToString("0.00");//保留小数点后两位,结果为10000.00Convert.ToDouble(salary2).ToString("0.00");//保留小数点后两位,结果为10000.12Convert.ToDouble(salary3).ToString("0.00");//保留小数点后两位,结果为10000.13Convert.ToDouble(salary4).ToString("0.00");//保留小数点后两位,结果为10000.00Convert.ToDouble(salary5).ToString("0.00");//保留小数点后两位,结果为10000.00Convert.ToDouble(salary6).ToString("0.00");//保留小数点后两位,结果为10000.12Convert.ToDouble(salary7).ToString("0.00");//保留小数点后两位,结果为10000.13
w:for(int x=0;x<3;i++)
{
p: for(int y=0;y<3;y++)
{
break w;
}
}
给for循环起名字,break直接跳出w
- int 不能转换为short
- byte数组转换为short,int
- int short byte转换
- byte[] int[] short[] 转换
- byte、short和char 隐式的转换为int
- byte、short和char隐式的转换为int
- int short型类型转换
- C语言中截断数字(比如int转换为short)处理规则
- JAVA中short和short相加自动转化为int
- JAVA中short和short相加自动转化为int
- JAVA中short和short相加自动转化为int
- java可以做switch case的只有int类型,和可以自动类型转换为int的byte, char,short
- int与short之间的转换
- short 型转换成int型
- byte、short、char和int的转换
- java-int&short-byte类型转换问题
- short 和 int 类型的转换
- “DDX_Control” : 不能将参数 3 从“int”转换为“CWnd &”
- Shell重定向&>file、2>&1、1>&2的区别
- error C2440: 'static_cast' : cannot convert from 'void (__thiscall CTCP服务器程序Dlg::* )(WPARAM,LPARAM)'
- JXNUOJ_1023:坑爹的黑店
- 练习赛14.1,。集合的划分
- JAVA基础核心,早年的总结,今天分享
- int 不能转换为short
- Windows下使用Python读取Excel表格数据
- NYOJ-845-无主之地1-2013年11月3日00:08:18
- 进程互斥----ttylock()类似原理实现
- ZZ: linux IPV4 IPV6 sockaddr 几个结构体及其关系: sockaddr sockaddr_in sockaddr_in6
- WinForm中CheckListBox控件的应用
- Ubuntu 升级、卸载内核、安装VmTools
- NSString的常用方法
- 关于共享内存的一个题目(未完)