博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DAY02
阅读量:3915 次
发布时间:2019-05-23

本文共 2880 字,大约阅读时间需要 9 分钟。

今天又学了好多芝士啊,感觉老师又帅了~

老师讲了辣么多基础知识,主要还是想让我们看懂当年让他成为枪神的wg
Java当中的基本数据类型
四类 八种

boolean char byte short int long float double布尔型:boolean		true/false	*:不允许使用数字赋值字符型:char		采用Unicode 16个位 2个字节	char c1 = 'a';	char c2 = '中';	char c3 = 97;	char c4 = '\u4e2d';	//Unicode指定	char c4 = '\u56fd';		*:native2ascii    -> JDK安装目录的BIN	char c5 = '\t';		\t	\b	\r	\n	字符 中 对应的ASCII码为 20013	字符 国 对应的ASCII码为 22269整数型:	byte	8	short	16	int	32	*	long	64	符号位+数值位 (1 - n-1)	就是1个符号位n-1个数值位	-98 = -1 – 97 = -1 – 64 – 32 – 1 = 10011110		*: 假如 我在游戏当中的攻击力是short类型存储的		数值是134 请问 它在存档文件当中 是?		128 + 4 + 2 = 00000000010000110	*: long类型定义结尾 可以加L 尽量保证大写		当数值超过2147483647的时候 必须加L浮点型:符号位 + 幂指位 + 数值位	float   double	32	64	F/f	D/d	*:2.0-1.1		Float  double		32		64		F\f 		D\d		System.out.printIn(2.0 – 1.1);//0.899999999999999		涉及到二进制中的无限循环会舍位变精确		解决:用分做单位

浮点型如何实现存储 IEEE7541

浮点型如何实现存储 IEEE7542

float : 32 = 1[符号位] + 8[幂指位] + 23[数值位]	35.25F => float num = 35.25F;	BigDecimalboolean char byte short int long float double

运算符~

+ - * / %[+ : 当+遭遇字符串的时候 不再代表算术加法 而是追加连接][* : 杀人于无形 容易数据溢出]System.out.printIn(365*24*60*60*1000); //数据溢出System.out.printIn(365L*24*60*60*1000); //数据不会溢出[/ : 整数除以整数 结果一定是整数][% : 最终结果的符号位 取决于参与运算的第一个数]+= -= *= /= %= ...[它们能够保持运算符左侧的数据类型不发生任何变化 => 隐藏式的强制类型转换]int  num = 1;num += 5.5;++ -- [a.取值  b.运算     x++ = ab    ++x = ba]&& || & | [逻辑运算符][ &&  ||逻辑短路运算符 & | 逻辑非短路运算符]		if(中国战胜土耳其&&巴西战胜黎) 中国队还活着~//2003世界杯& | ^ ~ [按位运算符]		& 按位与   			0000110101&		1101010011	    0000010001	10  27  52  12  58%2	0   1   0   0   0               类似判断单复数&1	0   1   0   0   0%4	2   3   0   0   2                 //??????为啥可以这样&3	2   3   0   0   2*: %2 %4 %8 %16 ...   &1 &3 &7 &15 ...| 按位与 		0000110101	 |	1101010011		1101110111^ 按位与 	    不同的为1		0000110101	 ^	1101010011		1101100110IBM 笔试题 [禁止使用第三块空间]	int a = 3;	int b = 5;		a = a ^ b;//a = 6		110	b = a ^ b;//b = 3		011	a = a ^ b;//a = 5		101	a = a + b;//a = 8	b = a - b;//b = 3	a = a - b;//a = 5	int c = a;	a = b;	b = c;		[禁止]>> << >>> [位移运算符]00001000001000System.out.printIn(12 + 012 + 0x12 + 0b1011);//8进制0开头  16进制0x开头 0b开头是2进制System.out.printIn(3 + 1 + ‘1’ + 5);//415System.out.printIn(1 + ‘1’ );//11System.out.printIn( 5/2*2);//4//瓷砖14块一箱子 183块System.out.printIn( 183/14 + 1);//装多少箱//以后的分页(总记录数 + 每页显示多少条 -1 ) /每页显示多少条   = 总数页数System.out.printIn( (183 + 13) / 14);// 买多少箱int x = 3;int y = x++;System.out.printIn(x);// 4System.out.printIn(y);// 3int a = 5;int b = 7;System.out.printIn(a++  +  ++b  + b--  - b++);System.out.printIn(5  +  8 + 8  - 7);a = 6; b = 8;System.out.printIn(a);// 6System.out.printIn(b);// 8System.out.printIn(5 % 2);// 1System.out.printIn(5 % -2);//1System.out.printIn(-5 % 2);// -1System.out.printIn(-5 % -2);// -1另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。//??????a:for(){    for()      break a;}

二进制转换的草稿纸

数值可以采用原码,反码,补码等不同的表示方法。

计算机一般用补码表示数值。
正整数的原码,反码,补码都相同。
负数的原码:符号位为1,其余各位表示数值的绝对值。
负数的反码:符号位为1,其余各位对原码取反
负数的补码:反码加1。
所以写一个负数的二进制(补码)就可以先写出原码,变成反码,然后变成补码。
也可以按照老师讲的把负数的二进制变成十进制:数值位取反+1

你可能感兴趣的文章
从业务需求抽象成模型解决方案
查看>>
Kafka
查看>>
Magicodes.IE 2.2发布
查看>>
应用交付老兵眼中的Envoy, 云原生时代下的思考
查看>>
.NET 开源项目 StreamJsonRpc 介绍[上篇]
查看>>
.NET Core微服务开发选项
查看>>
探讨NET Core数据进行3DES加密或解密弱密钥问题
查看>>
Vue 3拖更,尤雨溪介绍最新进展
查看>>
如何利用.NETCore向Azure EventHubs准实时批量发送数据?
查看>>
WPF 框架全构建环境虚拟机硬盘分享
查看>>
ABP框架 v3.0 已发布!
查看>>
使用.Net Core实现的一个图形验证码
查看>>
.NET 开源项目 StreamJsonRpc 介绍[中篇]
查看>>
Blazor带我重玩前端(三)
查看>>
基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (下篇)
查看>>
实现业务数据的同步迁移 · 思路一
查看>>
龙芯开源社区上线.NET主页
查看>>
eShopOnContainers 知多少[11]:服务间通信之gRPC
查看>>
闲谈设计模式
查看>>
平台or职位,你怎么选?
查看>>