JAVAweek5
学习内容
进制
1、(十进制):752=2*10(0)+5*10(1)0+7*10(2)=752
(二进制):1011(二进制的数)=1*2(0)+1*2(1)+0*2(2)+1*2(3)
= 1 +2 +0 +8
=11
(二进制转换十进制简便)
0 1 0 1 0 1 1
64 32 16 8 4 2 1
(只有1的位置对应的相加即可)
(八进制)
111(二进制)=7,所以三位为一个八进制数
同理(十六进制)0x
1111(二进制)=15,所以四位为一个十六进制数---------超过9,用ABC....表示
结论:
八进制数,其实就是二进制位 3个二进制位一个八进制位
十六进制:其实就是二进制中的四个二进制位一个十六进制位
负数的二进制的最高位是1
负数二进制:取反,加一
变量
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
用来不断的存放同一类型的常量,并可以重复使用
格式:数据类型 变量名=初始化值
class VarDemo
{
public static void main(String[] args)
{
//数据类型 变量名 = 初始化值;
byte b = 3;
System.out.println(b);
}
}
---
class VarDemo
{
public static void main(String[] args)
{
//数据类型 变量名 = 初始化值;
{
int z = 9;
System.out.printn(z);//这段代码可以运行/*括号内的代码只在括号内运行*/
}
System.out.println(b);//这段代码不可以运行
}
}
自动类型提升(以占用类型较大的类型为主)
class VarDemo(可以运行)
{
public static void main(String[] args)
{
int x=3;
byte b=5;
x=x+b;
System.out.println(x);
}
}
class VarDemo(不可以运行)
{
public static void main(String[] args)
{
byte b=5;
b=b+4;
System.out.println(b);
}
}
强制类型转换
class VarDemo(可以运行)
{
public static void main(String[] args)
{
byte b=5;
b=(byte)(b+4);
System.out.println(b);
}
--------(华丽的分割线)--------
}
class VarDemo(可以运行,但是结果错误)【与二进制负数首位是1有关】
{
public static void main(String[] args)
{
byte b=5;
b=(byte)(b+400);
System.out.println(b);
}
}

字符类型运算
class VarDemo
{
public static void main(String[] args)
{
System.out.println('a'+1);
}
}

class VarDemo【ASCII表一一对应】
{
public static void main(String[] args)
{
System.out.println((char)('a'+1));
}
}

类型运算细节
class VarDemo
{
public static void main(String[] args)
{
byte b=4;
byte b1=7;
byte b2=3;
b=b1+b2;
System.out.println(b);
}
}

报错原因【byte类型取值有限(-128~127),进行默认强转】
b1和b2是变量,数值会变化,数值不确定,无法检查。
右边不确定是变量,是无法确定值的,可能不在范围之内
4:(强转前)|0000-0000 0000-0000 0000-0000 0000-0100|
(强转后)|0000-0100|
class VarDemo
{
public static void main(String[] args)
{
int x;
int x1=Integer.MAX_VALUE;
int x2=2;
x=x1+x2;
System.out.println(x1);
}
}

class VarDemo
{
public static void main(String[] args)
{
int x;
int x1=Integer.MAX_VALUE;
int x2=2;
x=x1+x2;
System.out.println(x);
}
}

原因:x1已经是最大值了,加法运算往前进位,只保留32位,33位舍弃,最高位变成了1,变为负数。
随机推荐
- JDK 17 营销初体验 —— 亚毫秒停顿 ZGC 落地实践
前言 自 2014 年发布以来, JDK 8 一直都是相当热门的 JDK 版本.其原因就是对底层数据结构.JVM 性能以及开发体验做了重大升级,得到了开发人员的认可.但距离 JDK 8 发布已经过去了 ...
- [apue] 进程环境那些事儿
main 函数与进程终止 众所周知,main 函数为 unix like 系统上可执行文件的"入口",然而这个入口并不是指链接器设置的程序起始地址,后者通常是一个启动例程,它从内核 ...
- 高德Android高性能高稳定性代码覆盖率技术实践
前言 代码覆盖率(Code coverage)是软件测试中的一种度量方式,用于反映代码被测试的比例和程度. 在软件迭代过程中,除了应该关注测试过程中的代码覆盖率,用户使用过程中的代码覆盖率也是一个非 ...
- AtCoder ABC183F Confluence
题意 \(n\)个人,每个人属于一个班级\(ci\),这些人会有些小团体(并查集) 两种操作: \(1\) \(a\) \(b\),将\(a\)所在的集体和\(b\)所在的集体合并 \(2\) \(x ...
- 如何把网页打包成苹果原生APP并上架TF(TestFlight)
打包网页APP并上架到TestFlight流程 需要准备的材料: 1. GDB苹果网页打包软件1.6.0或者以上版本: https://www.cnblogs.com/reachteam/p/1229 ...
- Burp Suite抓包工具配置代理手机抓取数据包
工作中很多手机上的问题因为环境差异导致无法在pc设备上完整的模拟真实物理手机,因此需要方法能抓取到手机设备上所有数据包发送详情.发现了这个好用的数据包抓取工具Burp Suite. 一.配置流程: 1 ...
- 机器学习(6)K近邻算法
k-近邻,通过离你最近的来判断你的类别 例子: 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近的样本中大多数属于某一类别),则该样本属于这个类别 K近邻需要做标准化处理 例如: imp ...
- Aho-Corasick 算法 AC自动机实现
敏感词过滤在社区发帖.网站检索.短信发送等场景下是很常见的需求,尤其是在高并发场景下如何实现敏感词过滤,都对过滤算法提出了更高的性能要求,Ahocorasick算法能够实现毫秒级的万字过滤匹配,能够很 ...
- snowboy 无法 install
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple snowboy Looking in indexes: https://pypi.tun ...
- 物理standby database的日常维护【转】
1.停止Standby select process, status from v$managed_standby; --查看备库是否在应用日志进行恢复 alter database recover ...