zoukankan      html  css  js  c++  java
  • java笔记

    1 Java环境变量配置

    //hello.java文件

    class Demo

    {

        publicstaticvoid main(String[] args)

        {

            System.out.println("Hello World!");

            System.out.println("the day is the first day!");

        }

    }

    2 数据类型

    数据类型:基本数据类型和引用数据类型

    引用数据类型:类(class)、接口(interface)、数组[]

    基本数据类型:byte。java byte是做为最小的数字来处理的,占用1个字节。因此它的值域被定义为-128~127,也就是signed byte。char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符

     

    class Demo

    {

        publicstaticvoid main(String[] args)

        {

            byte b =3;

            int x =1;

            b = 1 + b;

            System.out.println("b="+b);

        }

    }

    /*错误: 不兼容的类型: int转换到byte可能会有损失

                    b = x + b;

                          ^

    1 个错误*/

    这种错误的发生原因,就是因为byte b在定义的时候,初始化的值是常量,因而可以自动将常量转为byte类型。但是b=1+b; 此时b是变量,因而就不会自动转化byte类型,因为会带来精度的丢失。

    解决方法:就是强制类型转化b =(byte)(1+ b);

    3 赋值运算符

    class Demo1

    {

        publicstaticvoid main(String[] argc)

        {

            int a =3;

            a+=4;

            short s =4;

            s = s +4;//编译失败,因为右边计算之后会是int类型,结果无法检测是否符合short类型的要求

            s+=4;//赋值运算符具有自动转换,5会转为short类型,编译成功

           

        }

    }

    4 比较运算符

    Instanceof  检查是否是类的对象

    5 逻辑运算符

    //

    &&&的区别

    &:两边都参与运算;

    &&:当左边为false,右边不参与运算

    |||区别

    |:两边都参与运算

    ||:当左边为true,右边不参与运算

    6 定义数组

    int[] arr =newint[3];

    7构造函数

    l  构造函数可以调用类的成员函数,但是成员函数是不可以调用构造函数。因为对象创建初始化,首先使用的是构造函数,然后通过创建的对象,才可以使用成员函数。

    l  构造函数可以调用构造函数,涉及到了this对象。谁调用了this(参数),谁的对象初始化。且对this的调用必须是构造器中的第一个语句。例如:

    class Person

    {

        private String name;

        privateint age;

        private Person(String n)

        {

            name = n;

        }

        Person(String n,int a)

        {

            this(n);

            name = n;

            age = a;

        }

    }

    l  对于普通类成员函数,其也有一个this, 而这个this的指向是根据谁哪个对象调用给改变的。对于使用变量,一般都是先判断所在的函数是否有局部变量,若有,则就不会再this所指向的堆中去查找变量。若想输出堆中的变量内容,则就需要用this显示标识。即this关键字的一个作用:可以用this标识哪个变量是成员变量,这个标识可以省略不屑。但是局部变量和成员变量同名时,必须用this来标识。

     

    8 static关键字-修饰函数

    创建对象就是为了产生实例,并进行数据的封装。而调用功能时,却没有用到这些对象中封装的数据。该对象的创建意义时没有,也浪费了堆内存中的空间。解决方法:使用static静态关键字。

    被static修饰的成员方法,除了可以被对象调用外,也可以被类名调用。

     

    但是绝对不允许在static修饰的成员函数中,使用this变量。原因:静态是随着类的加载而加载,也是随着类的消失而消失,静态优先于对象存在,被对象共享。因为静态先存在内存中,无法访问后来的对象中的数据,所以静态无法访问非静态。而且内部无法书写this,因为这时对象有可能不存在,this没有任何指向。

     

    什么时候需要使用static静态修饰呢?定义功能时,如果功能不需要访问类中的成员变量时,该功能就需要static静态修饰。还需要注意的是,静态方法不能非静态成员;但是非静态可以访问静态成员。静态的弊端在于出现了访问的局限性。

    在一个静态修饰的方法中,若想调用非静态方法,第一,就是使用类调用,则要求调用的非静态成员方法也必须是static修饰;第二,若不是静态修饰,就是使用对象调用,然后调用非静态方法。

     

    在代码的世界尽情的翱翔吧!
  • 相关阅读:
    ES6对象的扩展
    ES6函数的扩展
    ES6新增变量
    ES6框架的搭建
    自适应布局 左右结构、上下结构
    iframe 子页面改变父页面样式
    检测终端类型
    $.grep()
    点击元素内部不隐藏,点击元素外部元素隐藏
    angular表单验证
  • 原文地址:https://www.cnblogs.com/maleyang/p/9490613.html
Copyright © 2011-2022 走看看