温故java基础

来源:互联网 发布:mac做app开发 编辑:程序博客网 时间:2024/06/08 06:13


Java 入门

  1. jdk安装和配置

    为啥windows系统下jdk安装完成后需要在环境变量path中配置jdk?

    答:path(环境变量)是dos以前的内部命令,windows继续沿用至今。

    用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。

  2. 汉化eclipse

  1. 下载汉化包:http://www.eclipse.org/babel/downloads.php

  2. eclipse中配置:help->install New Softwere->Add->Local...->选择下载好的插件路径,next....next....next.

  3. 中文和英文的切换:配置好汉化之后,可以通过快捷方式配置中英文切换:

  1. 右键属性eclipse图标,在目标项后添加-nl zh_cn,如:D:\download\eclipse-jee-juno-SR2-win32-x86_64\eclipse\eclipse.exe -nl zh_cn

  2. 英文配置:在目标项后加 -nlEND:\download\eclipse-jee-juno-SR2-win32-x86_64\eclipse\eclipse.exe -nl "EN"

  1. java语言基础

  1. 区分大小写

  2. 标识符

  1. 命名规则:

  1. 、由字母、数字、下划线和美元符号组成;

  2. 、第一个字符不能是数字;

  3. 、使用标准的unicode字符集,最多可以识别65535个字符,因此标识符中的字母可以是任何一个unicode字符,包括拉丁字母、汉字、日文和其他许多语言的字符;

  4. 、标识符不能是java的关键字和保留字;

  5. 、标识符区分大小写。

  1. 基本数据类型

    8种基本数据类型:byte1字节8位)、short2字节16位)、int4字节32位)、long8字节64位)、float4字节32位)、double8字节64位)、字符型(chart,2字节)、布尔型(boolean)

  1. 1字节=8位(1 byte = 8 bit);

      1. bit:位  一个二进制数据01,是1bit;  

      2. byte:字节 存储空间的基本计量单位,如:MySQL中定义VARCHAR(45)  即是指45个字节;

      3. 一个英文字符占一个字节:1字母 = 1 byte = 8 bit

      4. 一个汉字占2个字节:1汉字 = 2 byte = 16 bit  

        3)、取值范围:-2^7<byte<(2^7)-1(即是2的该类型位数次方),其他的以此类推。(注意溢出)

        4)、long型定义变量必须在数值后面加L或者l(最好是L,因为l容易跟数字1混淆)。

        5)、数据类型标示方法三种:

        十进制、八进制、十六进制;

        八进制:逢八进一,每位上最大位7且从0开始;

        十六进制:逢十六进一,每位上最大数字是f(15),且必须以0X或者0x开头。

  1. 、浮点类型 float定义变量需要在后面加f或者F,如果不加则默认转换位double类型:浮点类型float结构:

符号位(S):1bit

指数位(E):8bit

尾数位(M):23bit

一个float4字节32位,分为三部分:符号位,指数位,尾数位。

(1).符号位(S):最高位(31位)为符号位,表示整个浮点数的正负,0为正,1为负;

(2).指数位(E)23-30位共8位为指数位,这里指数的底数规定为2(取值范围:0~255)。这一部分的最终结果格式为:2 E127  ,即范围-127~128。另外,标准中,还规定了,当指数位8位全0或全1的时候,浮点数为非正规形式(这个时候尾数不一样了),所以指数位真正范围为:-126~127

(3).尾数位(M)0-22位共23位为尾数位,表示小数部分的尾数,即形式为1.M0.M,至于什么时候是1,什么时候是0,则由指数和尾数共同决定。 小数部分最高有效位是1的数被称为正规(规格化)形式。小数部分最高有效位是0的数被称为非正规(非规格化)形式,其他情况是特殊值。 最终float的值= (1) S(2 E127 )(1.M)

7)、字符类型chart(2字节)。特殊字符转义字符以反斜线\开头:

8)、布尔类型(boolean):truefalse两种值。

4、变量和常量

命名规则:有效的标识符;不能重复;

变量有效范围:成员变量和局部变量,成员变量是类体种定义的变量,在整个类中都有效;

成员变量又分成静态变量和实例变量:实例变量前加static即成为静态变量,静态变量可以跨类,甚至可达到整个应用程序之内,静态变量不只是能在类内读取,还可以通过类.静态变量的方式在其他类内使用。

成员变量和静态变量的区别

      1、两个变量的生命周期不同

            成员变量随着对象的创建而存在,随着对象被回收而释放。

            静态变量随着类的加载而存在,随着类的消失而消失。

      2、调用方式不同

            成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

      3、别名不同

            成员变量也称为实例变量。

            静态变量也称为类变量。

      4、数据存储位置不同

            成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

            静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。(jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行)

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。

总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticInt变量,并且每创建一个实例对象,这个staticInt就会加1;但是,每创建一个实例对象,就会分配一个random,即可能分配多个random,并且每个random的值都只自加了1次。

代码:

public class StaticTest {

     private static int staticInt = 2;

     private int random = 2;

     public StaticTest() {

         staticInt++;

         random++;

         System.out.println("staticInt = "+staticInt+"  random = "+random);

     }

     public static void main(String[] args) {

         StaticTest test = new StaticTest();

         StaticTest test2 = new StaticTest();

     }

 }

成员变量和局部变量可以名字相同,此时成员变量将被隐藏。这个成员变量在此方法中失效,想要调用成员变量时,需要使用类名.静态变量调用。

 

局部变量:在类中的方法体中定义的变量,只能在当前代码块中有效,在其他的类体中不能调用该变量。局部变量的生命周期取决于方法,当方法被调用时虚拟机为该变量分配内存空间,方法调用结束后,则释放局部变量的内存,变量也就销毁。

声明常量constantfinal变量,常量在整个程序种只被赋值一次;常量通常为大写字母,但不是必须的。

  1. 运算符

    赋值、比较、算术、自增自减;

    放在操作元之前的自增和自减运算符,会先将变量的值增1或者减一,然后再使该变量参与表达式的计算;放在操作元之后的自增和自减运算符,会先使变量参与表达式的计算,然后再将该变量加1或减1

    比较运算符:比较大小,操作数据:整形,浮点型,字符型;

    比较相等:操作数据:基本数据类型,引用型;

    逻辑运算符:逻辑与 &&&,逻辑或|||,逻辑非!;返回值为布尔类型的表达式,操作元也必须是boolean型数据。

    && &的区别:前者为短路运算符,后者属于非短路。前者判断前一个表达式如果如果为false时则不再进行后面的判断。后者则两个都判断。

    || |的区别跟&& &的区别一样。

    运算符优先级:由高到低:增量和减量运算 -》算术运算-》比较运算-》逻辑运算-》赋值运算。

  2. 类型转换

    从占用存储空间大的转换为占用存储空间小的数据类型时为显式类型转换也是强制转换。反之则隐式转换也是自动转换。

    运算期间,自动从低转换到高。

     

原创粉丝点击