我的JAVA学习 基础(1)

一 Java语言JDK
   Java是一门面向对象编程语言
   Java分为三个版本
   SE(J2SE) 标准版,我们通常用的版本,主要用于桌面应用软件的编程。
   EE(J2EE) 企业版,主要用于分布式的网络程序的开发。
   ME(J2ME) 微缩版,主要用于移动设备,嵌入式设备上的java应用程序。
   J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但添加了一些专有类
   可以理解为:J2SE是基础;压缩一点增加一点CLDC等方面的特性就是J2ME;扩充一点,增加一些EJB等企业应用方面的特性就是J2EE。学习java从SE开始。
   JDK是java语言的软件开发工具包,主要用于移动设备,嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA运行环境(JVM和java系统类库(Java API))和JAVA工具。JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常
运行Java程序。
   JDK的配置环境
   鼠标右击“计算机”->属性->左侧高级系统设置->高级->环境变量
   系统变量->新建->变量名:JAVA_HOME 变量值:JDK安装目录
   系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
   系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;
   测试是否配置成功
   命令提示符界面:
   java -version
   javac

二 Java数据类型
   Java的数据类型分为两大类
   基本数据类型和引用数据类型
   基本数据类型有八种
   整数类型 
   byte   1个字节  8位  取值范围-128~127 默认值0
   short  2个字节  16位 取值范围-32768~32717 默认值0
   int    4个字节  32位 取值范围-2147483648~2147483647 默认值0
   long   8个字节  64位 取值范围-2^63~2^63-1 默认值0
   浮点数类型(存储带小数点的数字)
   float  4个字节  32位 取值范围1.4E-45~3.4028235E38 默认值0.0(与double的区别在于float类型有效小数点只有6~7位)
   double 8个字节  64位 取值范围4.9E-324~1.7976931348623157E308 默认值0.0
   字符类型 
   char 存储单个字符,2个字节,16位,unicode编码集,默认值为空(null)。
   布尔类型 
   boolean  1个字节,用于判断真假,false和true,默认值为false。
   引用数据类型就比如类,接口,数组类型这些。
   基本数据类型与引用数据类型的区别:
   基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。

   引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈面的引用指向堆中对象的地址。

三 变量
   什么是变量?变量可以理解为代替一个数据的别名,在内存中开辟一个存储空间,用来存储数据。
   变量是指内存中的一个存储区域,该区域要有自己的名称(变量名)、类型(数据类型),该区域的数据可以在同一数据类的范围内不断变化值
   变量在使用前,必须在代码中进行声明,即创建该变量。
   数据类型  变量名 = 初始化值
   比如 
   int a = 5;
   int b = 6;
   int c = a+b;
   变量的使用是通过变量名来访问所指向的内存区域中存储的值。
   变量名的命名规则:
   变量名由字母,数字,_和$组成,但是数字不能开头
   比如
   abc;
   b_;
   _b
   _3;
   3_;-----数字不能开头
   3b;-----数字不能开头
   尽量做到见名知意,驼峰命名法,可以使用汉字,但是不建议使用。

   不能使用Java关键字(Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量)就比如上面的数据类型int,double,这种关键字不能拿来命名。还有,Java语言是区分大小写的。

四 类型转换
    基本类型的转换原则:
    类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。
    从低精度向高精度转换byte 、short、int、long、float、double、char
  赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:
 (1)布尔型和其它基本数据类型之间不能相互转换; 
 (2)byte型可以转换为short、int、long、float和double; 
 (3)short可转换为int、long、float和double; 
 (4)char可转换为int、long、float和double; 
 (5)int可转换为long、float和double; 
 (6)long可转换为float和double; 
 (7)float可转换为double; 
    引用类型的转换原则:
    基本类型与对应包装类可自动转换,这是自动装箱和折箱的原理; 
    子类能直接转换为父类或接口类型;

    父类转换为子类要 强制类型转换;且在运行时若实际不是对应的对象,会抛出ClassCastException运行时异常。

五 运算符
    Java提供了一组运算符丰富的操纵变量。我们可以把所有的Java操作符为以下几组:
    我们先假设A=10,B=20.
    算术运算符
    + A + B = 30 
    - A - B = -10
    * A * B = 200
    / B / A = 2
    % B % A = 0
    ++ A++和++A的相同点都是给A+1,不同点是A++是先参加程序的运行再+1,而++A则是先+1再参加程序的运行。
    举个例子来说: A=2;  B = A++;    运行后: B = 2,A =3 ;
                  A=2;  B = ++A;    运行后: B = 3,A =3 ; 
    --   与上同理
    关系运算符
    == (A == B) is not true.
    != (A != B) is true.
    > (A > B) is not true.
    < (A < B) is true.
    >= (A >= B) is not true.
    <= (A <= B) is true.
    位运算符
    Java定义了几个位运算符,它可以应用到整数类型,长型,整型,短整型,字符和字节。
    位运算符作用于位,并执行逐位操作。假设当a =60和b= 13; 现在以二进制格式,他们将会如下:
    a = 0011 1100
    b = 0000 1101
    -----------------
    a&b = 0000 1100
    a|b = 0011 1101
    a^b = 0011 0001
    ~a  = 1100 0011
    假设整型变量A=60和变量B=13.
    & (A & B) will give 12 which is 0000 1100
    | (A | B) will give 61 which is 0011 1101
    ^ (A ^ B) will give 49 which is 0011 0001
    ~ (~A )   will give -61 which is 1100 0011 
    << A << 2  will give 240 which is 1111 0000
    >> A >> 2  will give 15 which is 1111
    >>> A >>>2  will give 15 which is 0000 1111
    逻辑运算符
    假设布尔变量A=ture,变量B=false.
    && (A && B) is false.
    || (A || B) is true.
    ! !(A && B) is true.
    赋值运算符
    =  +=  -=  *=  /=  %=  <<=  >>=  &=  ^=  |=
    其它运算符
    Java 语言支持一些其他的运算符。
    条件运算符 ( ? : ):
    条件运算符也被称为三元运算符。该运算符包括三个操作数,用于评估计算布尔表达式。此运算符的目标是确定哪些值应分给该变量。
    x = (判断条件)?值1:值2
    判断为true则x=值1
    判断为false则x=值2
    关于运算符的优先级
    运算符优先级:从左到右
    [],(),++,-- ,! ,~,instanceof ,* ,/ ,% ,+ ,-,<<, >>,>>>,<,>,< =,> =,== ,!= ,& ,^ ,&& ,||,? : 
 
阅读更多

没有更多推荐了,返回首页