----------------------<ahref="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<ahref="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

 

黑马程序员__关于自己的一些学习死角的再学习(基于老毕的java基础视频)

 

 

 

在学习配置环境变量时,本人也就是会弄,但是从没认真思考过,比如为什么要配置,甚至说path和classpath区别是什么?其实这些一想就清楚,只是可能是我视觉死角吧!

 

配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

其实classpath就是class文件的环境,path就是javac的

环境变量的配置:

永久配置方式:JAVA_HOME=%安装路径%\Java\jdk

path=%JAVA_HOME%\bin

临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin

特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

classpath的配置:

1):永久配置方式:classpath=.;c:\;e:\

2):临时配置方式:set classpath=.;c:\;e:\

如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;(这时classpath和path的一个区别)

如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。

如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。

一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

运算符号:(不是什么难点,记清楚就行)

%:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。

^:异或:和或有点不一样。(一个数异或同一个数两次结果就还是那个数)

两边结果一样,就为false。

两边结果不一样,就为true.

& 和 &&区别: & :无论左边结果是什么,右边都参与运算。

 &&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别:|:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

>>>(无符号右移):搞清楚他与>>的区别

无符号右移无论最高位是什么,右移后空位用0补,而>>是最高位是什么它就补什么

在switch中如 果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现

当while和for可以进行互换时建议使用For循环,因为for循环完毕,变量在内存中释放。

(老外写代码就尽量都写for循环,节省资源)

关于break和continue:两者单独存在时底下都不可以定义其他语句,因为根本执行不到,编译会失败。(所以出现考官问这种情况会出现什么结果时,得回答编译失败)

而且break只能跳出当前循环,要跳出外部循环,只能给循环起个标号

                                          标号 for(){}

 

 

函数:定义一个函数要明确:返回类型和参数列表

作用:定义功能,封装代码提高复用性(函数中只能调用函数,不能定义函数)

函数名:对功能进行标示,方便调用; 增加代码的阅读性(通过名称就可以明确函数功能,这一点我要注重学习)

如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。

栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );

只要数据运算完成所在的区域结束,该数据就会被释放。

堆:用于存储数组和对象,也就是实体。就是用于封装多个数据的。

1每一个实体都有内存首地址值。(十六进制)

2堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。

3垃圾回收机制。

面向对象张孝祥老师讲过一句经典的话:谁对外提供数据,谁就对外提供这些数据的操作方法

匿名对象

1当对方法只进行一次调用的时候,可以使用匿名对象。

2当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。

类中怎么没有定义主函数呢?

注意:主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。

主函数的解释:保证所在类的独立运行,是程序的入口,被jvm调用。

成员变量和局部变量的区别:

1:成员变量直接定义在类中。

局部变量定义在方法中,参数上,语句中。

2:成员变量在这个类中有效。

局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。

3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。

局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

构造函数特点

1该函数的名称和所在类的名称相同。

2不需要定义返回值类型。

3该函数没有具体的返回值。

记住:所有对象创建时,都需要初始化才可以使用。

构造函数和一般函数有什么区别呢?

1两个函数定义格式不同。

2构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。

一般函数,是对象创建后,需要调用才执行,可以被调用多次。

什么时候使用构造函数呢?

分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内。

构造代码块和构造函数有什么区别?

构造代码块:是给所有的对象进行初始化,也就是说,所有的对象都会调用一个代码块。只要对象一建立。就会调用这个代码块。

注意:用this调用构造函数,必须定义在构造函数的第一行。因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败

静态函数几个小点:

被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式。

静态随着类的加载而加载。而且优先于对象存在。

静态方法只能访问静态成员,不可以访问非静态成员。

因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。

静态方法中不能使用this,super关键字。

因为this代表对象,而静态在时,有可能没有对象,所以this无法使用。

成员变量存在于堆内存中。

静态变量存在于方法区中。

成员变量随着对象创建而存在。随着对象被回收而消失。

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

静态代码块、构造代码块、构造函数同时存在时的执行顺序:静态代码块à 构造代码块 à 构造函数;

----------------------<ahref="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<ahref="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

黑马程序员__关于自己的一些学习死角的再学习(基于老毕的java基础视频)相关推荐

  1. 黑马程序员__飞行棋

    黑马程序员__飞行棋 ------- Windows Phone 7手机开发..Net培训.期待与您交流! ------- using System; using System.Collections ...

  2. 黑马程序员__银行业务调度系统

    ------- <a href="http://www.itheima.com" target="blank">android培训</a> ...

  3. 梦想黑马程序员__夜雨飘零的心绪

    夜雨飘零的心绪 ---------- android培训 .java培训.期待与您交流! ----------  ------------------------------------------- ...

  4. 开年第一炸:黑马程序员1月就业报告新鲜出炉!

    春节假期完结,进入开工模式,是时候打起精神,以元气满满的状态开启新的奋斗. 当代打工人年前必聊年终奖,年后的话题焦点非跳槽莫属.新年新气象,很多人摩拳擦掌跃跃欲试,计划着换个好工作. 在大家还翘首期盼 ...

  5. 【黑马程序员C++ STL】学习记录

    黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 ⬅

  6. 【C++】黑马程序员-C++核心编程学习笔记

    前言 根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode. 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C ...

  7. 梦想在三十岁起航!__来自黑马程序员69期安卓班的学员

        梦想在三十岁起航! 多久没动笔了?恐怕我也记不起来了,在生活不如意的时候也曾想写点什么,可是却又全然没有思路,曾经的文思泉涌,早已在长时间浑浑噩噩的工作生活中干涸了,而今宛如仲永一般,泯然众人 ...

  8. mysql【黑马程序员】

    基础篇 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库.表.字段) DML: 数据操作语言,用来对数据库表中的数据进行增删改 DQL: 数据查询语言,用来查询数据库中表的记录 DC ...

  9. 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著

    <MySQL数据库原理.设计与应用>课后习题及答案 黑马程序员编著 答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧.<MySQL数据库原理.设计与应用>课后习 ...

最新文章

  1. css和JavaScript
  2. 迫于项目压力研究果园
  3. Jquery获取对象的几种方式介绍
  4. 【Paper】2020_Qize_Design of UGV Trajectory Tracking Controller in UGV-UAV Cooperation
  5. 教你如何将二进制文件导入到数据库
  6. 加密货币究竟是不是泡沫?
  7. 【vjudge contest 418548】2021 BUAA Winter Training 3(Private),签到题ABCDG
  8. spring源码-第五个后置处理器笔记
  9. 虚幻引擎2D游戏开发教程系列
  10. cmos功能测试软件,CMOS摄像头开发测试方法(我总结的)
  11. HDU2594 Simpsons’ Hidden Talents 前缀与后缀转化成用s1去匹配s2
  12. 阿里银泰集团物业预付费系统项目的设计与应用
  13. NISP第一讲信息安全和网络空间安全
  14. 【爬虫进阶】验证码处理:打码平台的使用(反反爬)
  15. 佛,我心中的一朵莲花
  16. 使用 Kubernetes Ingress 对外暴露服务
  17. php实现支付宝对账单打通
  18. 违反卖家评论政策被警告了应该怎么操作?
  19. 机器学习之数据归一化(Feature Scaling)
  20. Android Sensor 传感器总结

热门文章

  1. js+css实现花瓣飘落效果
  2. Python Excel操作模块XlsxWriter之添加文本框 worksheet.insert_textbox()
  3. 学习笔记0604----Linux集群架构(一)
  4. Gartner | 2023年十大战略技术趋势
  5. python function at 0x00000_Python函数装饰器原理与用法详解
  6. 手机短信验证服务,为个人信息安全提供保障
  7. 远程控制公司电脑真的很简单
  8. springboot 银联支付(企业网银支付)
  9. UE4 虚幻引擎,为自定义的植物添加“”风吹“”效果
  10. Network penetration testing_Work5(Flash 0day CVE-2018-4878复现过程)