黑马程序员__关于自己的一些学习死角的再学习(基于老毕的java基础视频)
----------------------<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基础视频)相关推荐
- 黑马程序员__飞行棋
黑马程序员__飞行棋 ------- Windows Phone 7手机开发..Net培训.期待与您交流! ------- using System; using System.Collections ...
- 黑马程序员__银行业务调度系统
------- <a href="http://www.itheima.com" target="blank">android培训</a> ...
- 梦想黑马程序员__夜雨飘零的心绪
夜雨飘零的心绪 ---------- android培训 .java培训.期待与您交流! ---------- ------------------------------------------- ...
- 开年第一炸:黑马程序员1月就业报告新鲜出炉!
春节假期完结,进入开工模式,是时候打起精神,以元气满满的状态开启新的奋斗. 当代打工人年前必聊年终奖,年后的话题焦点非跳槽莫属.新年新气象,很多人摩拳擦掌跃跃欲试,计划着换个好工作. 在大家还翘首期盼 ...
- 【黑马程序员C++ STL】学习记录
黑马程序员 2017 C++ STL 教程(STL 部分已完结) 基于黑马STL课程整理:黑马程序员2017C++STL教程 ⬅
- 【C++】黑马程序员-C++核心编程学习笔记
前言 根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode. 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C ...
- 梦想在三十岁起航!__来自黑马程序员69期安卓班的学员
梦想在三十岁起航! 多久没动笔了?恐怕我也记不起来了,在生活不如意的时候也曾想写点什么,可是却又全然没有思路,曾经的文思泉涌,早已在长时间浑浑噩噩的工作生活中干涸了,而今宛如仲永一般,泯然众人 ...
- mysql【黑马程序员】
基础篇 通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库.表.字段) DML: 数据操作语言,用来对数据库表中的数据进行增删改 DQL: 数据查询语言,用来查询数据库中表的记录 DC ...
- 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著
<MySQL数据库原理.设计与应用>课后习题及答案 黑马程序员编著 答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧.<MySQL数据库原理.设计与应用>课后习 ...
最新文章
- css和JavaScript
- 迫于项目压力研究果园
- Jquery获取对象的几种方式介绍
- 【Paper】2020_Qize_Design of UGV Trajectory Tracking Controller in UGV-UAV Cooperation
- 教你如何将二进制文件导入到数据库
- 加密货币究竟是不是泡沫?
- 【vjudge contest 418548】2021 BUAA Winter Training 3(Private),签到题ABCDG
- spring源码-第五个后置处理器笔记
- 虚幻引擎2D游戏开发教程系列
- cmos功能测试软件,CMOS摄像头开发测试方法(我总结的)
- HDU2594 Simpsons’ Hidden Talents 前缀与后缀转化成用s1去匹配s2
- 阿里银泰集团物业预付费系统项目的设计与应用
- NISP第一讲信息安全和网络空间安全
- 【爬虫进阶】验证码处理:打码平台的使用(反反爬)
- 佛,我心中的一朵莲花
- 使用 Kubernetes Ingress 对外暴露服务
- php实现支付宝对账单打通
- 违反卖家评论政策被警告了应该怎么操作?
- 机器学习之数据归一化(Feature Scaling)
- Android Sensor 传感器总结
热门文章
- js+css实现花瓣飘落效果
- Python Excel操作模块XlsxWriter之添加文本框 worksheet.insert_textbox()
- 学习笔记0604----Linux集群架构(一)
- Gartner | 2023年十大战略技术趋势
- python function at 0x00000_Python函数装饰器原理与用法详解
- 手机短信验证服务,为个人信息安全提供保障
- 远程控制公司电脑真的很简单
- springboot 银联支付(企业网银支付)
- UE4 虚幻引擎,为自定义的植物添加“”风吹“”效果
- Network penetration testing_Work5(Flash 0day CVE-2018-4878复现过程)