A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵烈 初级黑马   /  2019-1-14 22:25  /  817 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在黑马很开心,这几天也学到了一些知识,让我懂得了Java的乐趣
一,Variable变量:
                8个基本类型以及 引用类型
                []表示可选的,加也可以,不加也可以
                变量的本质是存储单元,你给这个单元命一个名字称为变量,通过这个变量,引用存储的单元
        Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
        变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元
        int a;        //变量的声明
        a=5;        //变量的初始化
       
        可以在一行中声明多个变量,但是不提倡这种风格,逐一声明每一个 变量可以提高程序的可执行性
       
        可以将变量的声明和初始化放在同一行中,例如:
        int a=5;                //变量的声明及初始化值

        1.局部变量local Variable
        方法或者语句块内部定义的变量
        -在使用前必须先声明和初始化(赋初值)。
       
        2.实例变量(成员变量)
        方法外部,类的内部定义的变量
        -如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔类型默认是false)

        3. Final常量
        只能被初始化一次,意味着赋值了就不能改变
        一般常量用大写来区分,好分别。
        final int C=34;        //前面加final
        final MAX_VALUE        //下划线有一个用处,方便区分看清意思

二,所有变量,方法,类名的命名规范:见名知意
        变量,方法名:
        -首字母小写和驼峰原则
        -run(),run()Run,age        ageNew        monthSalary
        常量:
        -大写字母和下划线:MAX_VALUE
        类名:
        -首字母大写和驼峰原则:Man,GoodMan
方法(method,function)
        方法就是一个功能块,有输入输出,输入是形式参数,输出是返回值(有的方法不需要返回值就写void),Java的方法类似于其它语言的函数,声明格式:
        [修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表){
        Java语句;... ... ...
        }

        方法有定义与调用

void代表没有返回值

        !形式参数:在方法被调用时用于接收外界输入的数据
        !实参:调用方法时实际传给方法的数据
        返回值:方法在执行完毕后,返还给,调用它的环境的数据
        返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。
        Java语言中使用下述形式调用方法:对象名,方法名(实参列表)
        实参的数目,数据类型和次序必须和所调用方法声明的形参列表匹配
        !return 语句终止方法的运行并指定要返回的数据
        -Java中进行方法调用中传递参数时,遵循值传递的原则:
             基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身
        JAVA中只有值传递!

        设计方法的原则:我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的扩展



后续补Note:
        返回的参数 是当 形式参数 中需要有返回值得时候写的,例如:
        public static void test02()
        //test02中有值才要标明,否则不用
类:类是由属性和方法组成
引用类型:
        Java语言中除基本类型之外的变量类型都成为引用类型
        Java中的对象是通过 ! 引用 ! (reference) 对其操作的
类是对象的模板

        Student s1= new Studnet();        //未赋值状态,系统有默认Student值,除了八种数据类型之外的其它任何数据都是null(说白了就是引用类型,所有引用类型都是null),八种数据类型默认是0(小数为0.0);boolean值是false(boolean是一位,false是0,true是1);char两字节,值是\u0000;(解释1)

类的属性:
        属性 field,或者叫成员变量
        属性用于定义该类或该类对象包含的数据或者说静态属性
        属性作用范围是整个类体
        在定义成员变量是可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(见解释1)
        属性定义格式:
                [修饰符] 属性类型 属性名 =[默认值]
        修饰符:可以省略。可以是:public protected,private Static final 将到隐藏和封装时再说
        属性类型:可以是任何类型,基本类型和引用类型

类的方法:
        面向对象中,整个程序的基本单位是类,方法是从属于类的
        方法定义格式:
                [修饰符] 方法返回值类型 方法名(形参列表){
                                //n条语句
}
        JAVA中方法参数传递是:值传递!

        public int add(int a,int b,int c){
        int k=a+b+c;
        return k;                //结束的是方法的运行!!!
        }

变量的作用域:
        全局变量,程序集变量(实例变量,成员变量),局部变量
        程序集变量(实例变量,成员变量):作用于整个类
        成员变量系统会帮你初始化;局部变量必须自己初始化一下才可以使用,系统不会帮你初始化


内存分析:
        栈(自动分配连续的空间,先出后进) 放置:局部变量
        堆(不连续的空间,随便放) 堆:放置new出的对象
                方法区(也是堆) 存放:类的代码信息,static变量,常量池
        !!!具体内存分析参考图片[内存分析.png]!!!

        JVM虚拟机找class,没有去类路径下面找,找到加载,没找到报错没有找到,找的是class字节码源码,而不是java代码,找到加载,通过类加载器Class,加载后,在方法区中就有了Student类的信息!
JVM虚拟机,虚拟机有一个类加载器

        操作对象就是操作地址
        public void (String names)开辟帧,把字符串传进去
        以类为模板再建一个
        所有的引用都是四个字节
        八大基本数据类型可以直接赋值

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马