原码、反码、补码

分析 byte b = (byte)150;
这个b是多少?
int类型的4个字节的150的二进制码是什么?
00000000 00000000 00000000 10010110
将以上的int类型强制类型转为1个字节的byte,最终在计算机中的二进制码是:
10010110
千万要注意:计算机永远存储的都是二进制补码形式。也就是说上面
10010110 这个是一个二进制补码形式,你可以采用逆推导的方式推算出
这个二进制补码对应的原码是啥!!!!!!
10010110 ---> 二进制补码形式
10010101 ---> 二进制反码形式
11101010 ---> 二进制原码形式

public class IntTest05{
	public static void main(String[] args){
	// 编译报错:因为150已经超出了byte取值范围,不能直接赋值,需要强转
	//byte b = 150;
	byte b = (byte)150;

	// 这个结果会输出多少呢?
	System.out.println(b); // -106
	}
}

变量

什么是变量:
变量其实就是内存中存储数据的最基本的单元;变量就是一个存储数据的盒子。

局部变量:在方法体中声明的变量。(当方法结束,变量占用的内存空间释放)

成员变量:在方法体外(类体内)声明的变量。

标识符

什么是标识符?
凡是程序员自己有权利命名的单词都是标识符。

标识符:
类名、方法名、常量名、接口名、变量名...

标识符命名规则:
1、标识符只能由数字、字母(包括中文)、下划线_、美元符号$组成。
2、标识符不能以数字开头。
3、关键字不能做标识符。
4、标识符严格区分大小写的。
5、标识符理论上是没有长度限制的。

标识符命名规范:
1、见名知义。
2、遵循驼峰原则。
3、类名、接口名遵循大驼峰原则
4、变量名、方法名遵循小驼峰原则
5、常量名全部大写,单词与单词之间采用下划线衔接。

数据类型

数据类型的作用:
java虚拟机到底给这个数据分配多大的空间,主要还是看这个变量的数据类型。

规则
当这个整数字面量没有超过byte的取值范围,那么这个整数型字面量可以直接赋值给byte类型的变量。

基本数据类型

整数型:byte,short,int,long

浮点型:float,double

布尔型:boolean:只有两个值,true和false

字符型:char:在Java中规定字符型字面量必须使用单引号括起来,属于文字。

1 byte=8 bit 【1个字节 = 8个比特位】 1个比特位表示一个二进制位。

类型描述 类型 占用存储空间 表示范围
字节型 byte 1字节 -27 ~ 27-1(-128~127)
短整型 short 2字节 -215 ~ 215-1(-32768~32767)
整型 int 4字节 -231 ~ 232-1(约21亿)
长整型 long 8字节 -263 ~ 263-1
单精度浮点型 float 4字节 -3.40 E+38 ~ +3.40 E+38
双精度浮点型 double 8字节 -1.79 E+308 ~ +1.79 E+308
布尔型 boolean 1字节 true/false
字符型 char 2字节 0 ~ 216-1(0~65535)

引用数据类型

​ 字符串型String属于引用数据类型。在Java中除了基本数据类型之外,剩下的都是引用数据类型。

进制转换

二进制和十进制之间的转换

控制语句

选择语句

if、if else

switch

循环语句

for

while

do while

转向语句

break

continue

返回语句

return

乱码问题

出现乱码的根本原因:编码和解码的时候没有使用同一套字符编码。

关于代码编写位置

1、一个java源文件中可以定义多个class。

2、public的类不是必须的,可以没有。

3、在源文件中只要有一个class的定义,那么必然会对应生成一个class文件。

4、public的类可以没有,但如果有的话,public修饰的类名必须和源文件保持一致。

5、public的类有也只能有1个。

posted @ 2021-01-20 15:49  LFR  阅读(324)  评论(0)    收藏  举报