首页 > 代码库 > java基础

java基础

一、变量与数据类型

1.

原始数据类型也称为基本数据类型,它们包括了最基本的 boolean、byte、char、
short、int、long、float 与 double 等类型。另一种数据类型为引用数据类型,它是以一
种特殊的方式指向变量的实体,这种机制类似于 C / C++的指针。这类的变量在声明
时是不会分配内存的,必须另外进行开辟内存空间的操作,如字符串与数组均属于这
种数据类型。

技术分享

技术分享

 

 二进制补码:

正数的补码是其本身;
负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后加1。
所以最小数的补码形式为 1 0 0 0 0 0 0 0 ;
它的数值绝对值应该是各位取反再加1,即为
0 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 = 128
又因为是负数,所以是 - 128
而最大数是正数,原码和补码一样 所以是 +127

 2.常量的数据类型

java把整数常量的数据类型均视为int型,如果使用超过2147483647大小的常量,编译会出错。

技术分享

需要加上L。long num = 329852547553L ;

 

3.字符

字符类型在内存中占有 2 个字节,可以用来保存英文字母等字符。计算机处理字
符类型时,是把这些字符当成不同的整数来看待,因此,严格说来,字符类型也算是
整数类型的一种。举例来说,Unicode 中的小写 a 是以 97 来表示

技术分享

字符输出一定要加上单引号。

输出双引号:用转义字符,\"

 

4.取补码

System.out.println("a = "+a+" , ~a = "+(~a));

a = 127 , ~a = –128

 

 

二、类与对象

Person p = new Person(); 的过程

技术分享

p变量是指向对象的参考地址。new了才会分配空间。

 

p1= new person();

p2=new person();

技术分享

各自指向不同空间。

如果p1=new person();

p2=p1;

p1=null;

p2依旧指向原有空间。

------------------------------------------

 

构造方法:创建对象时自动调用的类名方法。

如果没有声明构造方法,则会自动创建一个无参无内容方法,如果已经声明有参方法,则

Person p = new Person();会出错。需要自己创建一个无参无内容方法。

---------------------------------------

 

equals和==区别:

技术分享

equals用于比较内容,==用于比较内存位置。

----------------------------------------

 

关于String:

技术分享

str1和str3指向同一内存。

技术分享

当改变str1的值,须先断开原连接,再开辟新空间。

技术分享

用new String创建:

技术分享

实际上开辟了两个空间。

 

---------------------------------

static关键字,公有属性,static方法中必须调用static数据类型。

 

--------------------------------

main方法:

public:java虚拟机要调用类的main()方法,

static:执行方法时不必创建对象,

String数组:保存执行Java命令时传递给类的运行参数。

 

----------------------------------

 

java基础