自学JAVA的深入学习之路---0

2017-07-11  本文已影响0人  思而忧

简介:本人一开始是学嵌入式C语言方便的,4个月前转来学WEB方面的东西。学过c/c++, python, JAVA。已经学了JAVA一部分的相关知识了,也写过一些小小的程序,但是后来写大一点的项目的时候发现自己的代码太乱,思路不够清晰,代码也不够简洁易懂,所以翻开《JAVA编程思想》深入学习JAVA编程。文章不会把一些基础的东西讲得太详细,不是JAVA教程。


关于对象

基本类型 大小 最小值 最大值 包装类型
boolean - - - Boolean
char 16-bit Unicode 0 Unicode 2^16-1 character
byte 8 bits -128 +127 Byte
short 16 bits -2^15 +2^15-1 Short
int 32 bits -2^31 +2^31-1 Integer
long 64 bits -2^63 +2^63 -1 Long
float 32 bits IEEE754 IEEE754 Float
double 64 bits IEEE754 IEEE754 Double
void - - - Void

所有的数据类型都是有正负号的,不用去寻找无符号的数值类型(我在嵌入式c语言中经常用到无符号的数据类型,32位的ARM CPU性能有限。)
String 不是基本的数据类型,char才是。
基本数据类型在创建以后如果没有初始化,JAVA会自动给一个默认的数值。

基本类型 默认值
boolean false
char '\uoooo'(null)
byte (byte) 0
short (short ) 0
int 0
long 0L
float 0.0f
double 0.0d
{
    int x = 12;
    {
        int q = 96;
    }
    //q is "out of scope"
}

以下代码在java中是不合法的,在C/C++是合法的

{
    int x = 10;
    {
        int x = 100;
    }
}
{
    String s = new String("a String ");
}

引用s的作用域终点已经消失了,但是s指向的String对象依然继续占据内存空间。(很多人觉得这个JAVA的好处,写程序不用花时间关注对象的销毁问题,但是我觉得这样对计算机的性能的发挥不能达到极致,幸好JAVA只是用来搞WEB比较多,游戏方面的确C++更强。)
因为对象占用的内存空间不用马上被销毁,JAVA有个垃圾回收器监视所有用new创建的对象,自动把那些不会再被应用的对象销毁。

static int i = 0;

static int f = {}

static class c = {}

关于static后面再详细认真分析了,第二章就到这吧。

上一篇下一篇

猜你喜欢

热点阅读