JAVA 基础知识整理-01 命名规则,进制转换,数据类型

1. 常见命名规则

A. 包名 全部小写
单级包:小写
多级包:小写,并用.隔开

B. 类或接口
一个单词:首字母大写
多个单词:每个单词首字母大写

C:方法或变量
一个单词:首字母小写
多个单词:从第二个单词开始,每个单词首字母大写

D:常量
全部大写
一个单词:大写
多个单词:大写,并用_隔开

2.常量

在程序执行过程中,值不发生改变的量。

主要包括以下:
1)字符串常量
2)整数常量
a. 二进制 由0,1组成,以0b开头。
b.八进制 由0,1,…7组成,以0开头。
c.十进制 由0,1,…9组成。整数默认是十进制。
d.十六进制 由0,1,…9,a,b,c,d,e,f(大小写均可)组成,以0x开头。
3)小数常量
4)字符常量
5)布尔常量
6)空常量
7)自定义常量

3.进制转换

1)其他进制到十进制

系数:就是每一个位上的数值
基数:x进制的基数就是x(比如二进制,基数就是2
权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
比如:二进制110[2,1,0]转化为十进制就是
1乘以2的2次方加上1乘以2的1次方加上0乘以2的0次方等于6
公式:系数*基数^权之和

2)十进制到其他进制

除基取余,直到商为0,余数反转

3)进制转换的快速转换法

a.二进制转十进制

二进制 : 1 1 1 1 1 1 1 1
十进制: 128 64 32 16 8 4 2 1
比如有一个二进制数100010按照上面的对照表找出所有1位置对应的十进制数相加结果就是对应得十进制数(32+2)=34

b.二进制转八进制和16进制

8=2^3,
16=2^4
二进制转八进制时,将二进制数每三个分一组:
比如100010分成 100 010
100和010两部分结果分别时4和2那么其八进制结果就是42
二进制转16进制时,将二进制数每四个分一组
比如10111011分成 1011 1011
1011和1011两部分结果分别是B和B(16进制中超过9的部分用字母表示,从A开始,A代表10,B代表11,以此类推直到F代表15)那么其16进制结果就是BB

4.变量

在程序的执行过程中,其值在某个范围内可以发生改变的量。

定义格式:
a. 数据类型 变量名 = 初始化值;
b. 数据类型 变量名;
变量名 = 初始化值;

5.数据类型

1)基本数据类型:
具体类型 占用字节数 数字范围
a. 整数 byte 1 -128 ~ 127
short 2 -2^15 ~ 2^15-1
int 4 -2^31 ~ 2^31-1
long 8 -2^63 ~ 2^63-1
b.浮点数 float 4 -3.403E38~3.403E38
double 8 -1.798E308~1.798E308
c.字符 char 2
d.布尔 boolean 1
注: 整数默认是int类型,浮点数默认是double。
长整数要加L或者l。
单精度的浮点数要加F或f。
比如:
aa.long l = 100000000000000L;
不仅前面要定义 long 类型,数字的后面还要跟上L;因为100000000000000已经超过了默认类型int的范围

2)引用数据类型:
类,接口,数组

6.数据类型转换

1)默认转换
a. 从小到大(byte,short,char–int–long–float–double)计算过程中不同类型的数据类型会默认先转成int数据类型再参与运算
b.byte,short,chart之间不相互转换,直接转成int类型参与运算。
注:之后计算之后的结果能转换成其他类型。计算过程中参与计算的各种类型实际还是int类型,比如:

	byte b1 =(byte)(3);
	byte b2 =(byte)(4);
	byte bx = b1+b2;
	
	出错!can not convert int to byte
	byte b1 = 3;
	byte b2 = 4;
	byte bx = (byte)b1+b2;
	正常运行

2)强制转换

a. 从大到小(可能会损失精度)
b.转换格式:
目标数据类型 变量名 = (目标数据类型)(被转换的数据)
举例:

			 byte a = 3;
			 int  b = 4;
			 byte c = (byte)(a+b);
byte bt = (byte) 130;
System. out.println(bt);
输出结果:-126
****当赋给byte的值不再-128~127时,计算结果会因为截取出现差异

解释:130 的 int类型 二进制原码为00000000 00000000 00000000 10000010,130是一个正数因此它的补码就是原码00000000 00000000 00000000 10000010,byte截取之后变为10000010,对
10000010取反码(补码-1)10000001,对10000001取原码为11111110也就是-126
(计算机操作的时候都是用数据对应的二进制补码来计算。下面是计算补码的过程。
原码: byte 类型为一个字节占8位,左边第一位为符号位,其他空位以0填充,比如0 0000111 表示+7,1 0000111表示-7;
反码:正数的反码和原码相同,负数的反码为除符号位其他数值取反,比如+7的反码还是0 0000111,-7的反码是1 1111000;
补码:整数的补码与原码相同,负数的补码是反码的基础上+1,比如+7的补码是0 0000111,-7的补码是1 1111001)

3)Boolean 类型不参与转换

4)字符参与运算
会查找对应的ASCII码值计算
A → 65,B → 66,C → 67,D → 68,E → 69,
F → 70,G → 71,H → 72,I → 73,J → 74,
K → 75,L → 76,M → 77,N → 78,O → 79,
P → 80,Q → 81,R → 82,S → 83,T → 84,
U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90
小写:
a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,
g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,
s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122

	System.out.println(1+'a');
	System.out.println('a'+1);
	输出98

5)字符串参与计算

实际是字符串连接

当有数字参与是,按照参与数字的位置不同输出结果会不一样:

	System.out.println(1+2+"hello");
	System.out.println("hello"+1+2);
	System.out.println('a'+"hello");
	System.out.println("hello"+'a');
	
输出:  3hello
		hello12
		ahello
		helloa
发布了55 篇原创文章 · 获赞 0 · 访问量 2068

猜你喜欢

转载自blog.csdn.net/KathyLJQ/article/details/104192693