java面向对象思考_Java面向对象前的知识细节总结与思考

学习Java语言四天了,试着总结一下面向对象之前内容的一些细节性的要点和各位交流,不吝赐教。

1.JVM和Java语言的跨平台性。

众所周知Java语言是一种编程语言具有非常好的跨平台性,那么,这是为什么呢?这得益于Java虚拟机(JVM),JVM是专门用于解析用Java语言编写的相关软件的解析器,是Java语言的核心和基础,正是因为有了JVM才使得Java语言可以运行与不同的操作系统即平台之上,这样就实现了所谓的跨平台,当然Java虚拟机本身是不跨平台的。

2.Java环境变量的配置。

(1)为什么要配置path环境变量?

将编写好的Java程序在dos环境下运行时需要要编译,一般情况下敲入javac会报错,这是因为当前所执行的命令在当前的目录下不存在,系统会接着在一个名为path的指定目录下寻找如果还找不到就会报错,所以,我们的需求是在任意执行的目录下键入javac系统都能执行相关操作而不报错这时就要配置相应的环境变量。

配置过程:“我的电脑”-----“属性”------“高级”------“环境变量”;讲javac所在bin目录路径键入系统path的最前端用“;”隔开,在dos命令下敲入javac出现参数提示则配置成功。在这里相关的配置技巧将不再赘述。

(2)配置classpath

我们知道class字节码文件能够被Java所运行,那么就会出现这样的需求:能否在当前目录下运行其他目录下的可执行文件呢?答案当然可以,这时我们需要classpath变量,将所要运行的class文件目录键入到classpath变量中,其格式为set classpath=路径;这时,若路径后面无“;”会在设置路径中找可执行文件,找不到会报错,若加了“;”则先到指定目录中找,若找不到会到当前目录下找。

3.Java语言的组成及命名规范

和其他编程语言相近,Java语言的基本组成包括关键字、标识符、注释、常量及变量、运算符、函数、数组及其他语句所组成,这里主要提到的是Java的命名规范如下。

包名:多单词组成时所有字母都小写。

类名及接口名:多单词组成时,所有单词的首字母大写。

变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。

常量名:所有字母都大写。多单词时每个单词用下划线连接。

4.关键字、标识符、注释的注意点

关键字:被Java语言赋予了特殊含义的单词如“class”、“interface”等

特点:关键字中所有字母都为小写。

标识符:可以理解为在Java 程序中为了增强阅读性所自定义的名称。比如:类名,方法名,变量名

等。命名规则如下:

(1) 由字母、数字、下划线、$组成,不能以数字开头

(2) 大小写敏感

(3) 不得使用java 中的关键字和保留字,尽量别用Java API 里面的类名作为自己的类名。

注释:用于说明和解释Java语言的相关文字说明

“//”单行注释;“/*   */”多行注释;“/**   */”文档注释,主要用于生成说明文档。

5.运算符的注意点

Java语言的运算符包括,算数运算符、逻辑运算符、比较运算符、赋值运算符、位运算符、三元运算符等

i 算术运算符的注意问题:

(1)如果对负数取模,可以把模数负号忽略不记。

(2)对于除,整数之间做除法时,只保留整数部分而舍弃小数部分。

(3)“+”除字符串相加功能外,还能把非字符串转换成字符串

ii 比较运算符:其输出结果为布尔性,请勿将其写为赋值运算符“=”

iii 逻辑运算符“&”和“&&”、“|”和“||”的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

那么什么时候用“&”,我认为它主要用于位运算。

iiii 三元运算符和if  else的区别

三元运算符的好处在于简化代码量,但是作为一个运算符它必须返回运算结果,而if else是流程控制语句,无此限制。

6.流程控制语句的要点

流程控制语句主要包含判断、选择、循环。这里主要总结一下里面的细节区别。

(1)if和switch和循环结构的应用区别

个人认为相比之下if应用还是比较广泛的对区间的要求较之switch语句低,switch语句只能用于有限个可列区间的判断语句,但结构较if语句清晰明了。

(2)for和while的区别。

两者都用于循环控制,在一般情况下两者并未有大的区别,当循环条件明确且需要定义循环增量的情况下for更为适合。

(3)局部代码块的作用:用于限定局部变量的生命周期。

7.大圈套小圈思想,什么时候使用?

大圈套小圈即双重for循环,个人认为在循环流程控制中若出现需要由两个变量来控制循环且两个变量之间有相应的关联,那么这时需要考虑双重for循环,如:9X9乘法表、星型打印等案例只要找到两个控制变量间的表达关系式那么即可用大圈套小圈的思想来完成。

8.break,continue作用的范围和作用。

字面意思理解就是“跳出”,“继续”,在Java中break语句主要用于选择和循环语句而continue语句主要用于循环语句表示结束本次循环,继续下次循环,这个两个语句单独存时下面的语句执行不到。

9.函数的理解

函数就是定义在类中用于实现某种特定功能的程序代码也称为方法。

特点及优点:封装性好、提高了代码的复用性、结构清晰严谨、当被调用时才会执行、对于无具体返回值的函数可以不写return语句。

注意:函数之间只能调用,不可在函数内部定义函数。定义函数时,函数的结果应该返回给调用者,交由调用者处理。

10.函数重载什么时候使用?

当需要定义功能相同,但参与运算的内容不同时,为了提高代码的阅读性这时就需要使用同一个函数名称来表达其功能,只要它们的参数个数或参数类型不同即可构成重载。要注意,重载和返回值类型无关。

11.数组是什么,什么时候用?

数组说白了就是一个容器用来存储同一类型的数据。当程序中需要对多个同一类型的数据进行如排序、查找等操作时要考虑使用数组。

特点:数组里的每个元素都有编号,编号从0 开始,并且依次递增,方便操作元素; 使用 数组必须先声明数组通过new关键字来建立实体存放于堆内存中。

12.java的内存(栈和堆)的特点?

栈内存:数据使用完毕会自动释放,用于存储局部变量。

堆内存:存储的是对象,凡是new关键字建立的都存储于堆中,且每个对象实体都有相应地址值,当实体不被引用时会在不定的时间里被Java回收机制回收。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值