java基础语法学习总结

来源:互联网 发布:苹果Mac壁纸 编辑:程序博客网 时间:2024/05/01 21:08

由于前面是基础部分,所以学习起来比较快

写下学习的心得

class文件的运行,通过java + 名称文件(class文件通过jvm运行)

1 Load到内存中

2 操作系统会找到main方法开始执行后

3 内存管理,执行main方法后,一般会将内存分成四部分:

(1)code segment :存放代码

(2)data segment :存放静态变量和字符串

(3)stack :存放局部变量

(4)heap :存放new出来的东西

代码装载到code segment后,执行过程中会牵扯到其他三块

 

变量:

1java中没有全局变量,只有局部变量(方法的参数)和成员变量,java中无法在class外定义变量

 

2 4类8种基础数据类型(只在栈内存中分配内存)

整型:byte short int long

浮点型:float double

布尔型 :boolean (其值只有true和false,不能转化为0,1)

字符型 : char (java采用unicode编码,一个char类型占两个字节)

3 引用数据类型,除了4类8种外的其他数据类型,如class,interface,数组

(需要在栈内存,堆内存中分配内存)

列如 创建一个String对象 String str1 = new String();

执行到String str1时,系统会在栈内存中分配一块内存(记为1)

执行到new过程时,系统会在堆内存中分配str1的属性(记为2)

然后内存1指向内存2,通过内存1可以找到内存2。

堆内存是用来动态分配内存的

引用 一小块内存指向一大块内存

方法是一段静态的代码,只有执行的时候才在内存中分配空间

引用数据类型都用到了指针

所以,别说java没有指针,java内部处处都是指针

 

 

java没有无符号数,其数据类型的字节为定长,不受操作系统的影响,保证了java的可移植性

 

java数据类型转化

可以直接把int类型赋值给byte,short,char类型,只要不超出其表述范围(赋常量是)

列如 byte num = 1;(byte num = 128不可,溢出)

计算时要强制转换

列如

byte num1 = 1;

byte num2 = 2;

byte num3 = (byte)(num1 + num2);

 

byteshortchar等类型计算时会先转化为int类型后进行计算

 

break:强行退出循环

continue: 中止本次循环

javaswitch 只能探测int类型 (byte,short,char也可,系统会自动为int类型)

 

此为个人学习心得,难免有不足之处,还请多加点评!!!

 

 

原创粉丝点击