JAVA基础(第1天java介绍)

JAVA基础(第1天java介绍)

JAVA介绍

:标准版 ————————-桌面开发

:微型版————————-移动电子设备

:企业级应用版——————-企业级开发(企业管理系统等)

JDK工具

jdk是java语言的软件开发工具

bin文件夹:存放java运行的各种可执行文件

jre文件:存放java的运行环境

文件:用于编译本地方法的文件

lib文件:存放java的核心类库

src.zip:该文件是java的核心源码包,它在JDK安装的根目录下。

JVM、JRE和JDK区别什么?

(1)JVM(Java ):java虚拟机,用于保证java的跨平台的特性。java语言跨平台,jvm不是跨平台的。

(2)JRE(Java ):java的运行环境,包括jvm+java的核心类库。

(3)JDK(Java Kit):java的开发工具,包括jre+开发工具。

环境变量path和的作用是什么?

(1)path是配置可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录,用于指定DOS窗口命令的路径。

(2)是配置class文件所在的目录JAVA基础(第1天java介绍),用于指定类的搜索路径,JVM就是通过他来寻找该类的class类文件的。

java注释

单行注释————————//

多行注释———————–/*>>>>>>>>>>>*/

文档注释———————–/**>>>>>>>>>>*/

基本注意事项

变量定义:在整个程序执行过程中值会发生改变的量

类:具有一组相同属性和方法的集合

变量:变量名由字母、数字,下划线,美元符号构成的,但是不能以数字开头。

其他规范

变量:如果变量名由一个单词组成,首字母要小写,如果变量名同时由多个单词组成,首字母小写java -xms64m,从第二个单词开始java -xms64m,首字母大写。

1.首字母:字母,下划线(_)或符号(不能含有空格,不能以数字开头)

2,其他部分:数字,字母,下划线,符号(不能含有空格,不能以数字开头)

3.变量名不能是Java关键字(即保留字)

4.除了下划线之外,不包括任何其他特殊字符

5.变量必须先声明再使用

6.变量可以先声明 后 赋值

7.同一个作用域中,变量名不能重复(不能声明多次)

属性和方法:首字母小写,第二个单词开始首字母大写。

类名:每个单词首字母大写

常量:全部大写

注意:

包名:全部小写

如何定义包、使用包,以及使用时应该注意哪些事项。

包是Java语言提供的一种区别类名字命名空间的机制,它是类的一种文件组织和管理方式、是一组功能相似或相关的类或接口的集合。Java

提供了访问权限和命名的管理机制,它是Java中很基础却又非常重要的一个概念。

一、包的作用

1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

二、包的定义

在一个.java文件中可以一个类和多个非类,如果要将这些类组织在一个包当中,则在.java文件中除注释以外的第一行使用关键字即可实现。当需要调用此包中的类时,就可以使用关键字进行导入。在定义包的时候,应该注意几点:

为了尽量使包名保持唯一性,包名通常采用小写、按倒写互联网址的形式进行定义。如:com.hank.www表示包文件放置的文件路径为com/hank/www。

在进行命名包时,应该避免使用与系统发生冲突的名字,如java.lang、java.swing等。

三、包的使用:

创建类的时候,在java源码第一行使用 关键字标志本类所在的包。如果某个类调用不同包类时,使用 进行导入,如果使用包名.*;表示导入包中所有的类。如果本包中有某个类,而这时必须导入另外一个包相同名字的类时,使用导入时会出现问题,为了避免出现歧义,一般使用全类名访问。

基本数据类型:

基本数据类型(8种):

数值型:

整形:

浮点型:

非数值型:

引用数据类型:数组、接口、类

Java中的4种引用类型

从JDK1.2开始,Java中的引用类型分为四种,分别是:

①强引用()

②软引用()

③弱引用()

④虚引用()

强引用-

java -xms64m

这种引用是平时开发中最常用的,例如 = new (“ ”)java -xms64m,当一个实例对象具有强引用时,垃圾回收器不会回收该对象,当内存不足时,宁愿抛出异常也不会通过回收强引用的对象,因为JVM认为强引用的对象是用户正在使用的对象,它无法分辨出到底该回收哪个,强行回收有可能导致系统严重错误。

软引用-

如果一个对象只有软引用,那么只有当内存不足时,JVM才会去回收该对象,其他情况不会回收。软引用可以结合来使用,当由于系统内存不足,导致软引用的对象被回收了,JVM会把这个软引用加入到与之相关联的中。

java -xms64m

当系统内存不足时,触发gc,这个Book就会被回收, 将不为null。

弱引用-

只有弱引用的对象,当JVM触发gc时,就会回收该对象。与软引用不同的是,不管是否内存不足,弱引用都会被回收。弱引用可以结合来使用,当由于系统触发gc,导致软引用的对象被回收了,JVM会把这个弱引用加入到与之相关联的中,不过由于垃圾收集器线程的优先级很低,所以弱引用不一定会被很快回收。下面通过一个主动触发gc的例子来验证此结论。

java -xms64m

java -xms64m

当然这不是每次都能复现,因为我们调用.gc()只是告诉JVM该回收垃圾了,但是它什么时候做还是不一定的,但就我测试来看,只要多写几次.gc(),复现的概率还是很高的。

虚引用-

如果一个对象只有虚引用在引用它,垃圾回收器是可以在任意时候对其进行回收的,虚引用主要用来跟踪对象被垃圾回收器回收的活动,当被回收时,JVM会把这个弱引用加入到与之相关联的中。与软引用和弱引用不同的是,虚引用必须有一个与之关联的,通过.get()得到的值为null,试想一下,如果没有与之关联还有什么存在的价值呢?

类型转换:

java生成文档目录:

方法1:

.java -d A

.java表示java的源代码

-d 是一种格式

A 表示生成文档的信息存放的文件夹

A文件夹可以现在盘下创建,亦可以不用,但必须保证A文件夹和你导出的java源代码必须是在同一个盘下的同一级文件目录下。

方法2:

在->->->->选中你要生成的单个JAVA源代码->选择:这里面的输出文件夹名字和存放的路径不能包含汉字,否则出错。

另外就是如果编译的时候报 运行生成文档时gbk字符问题。

加入编码 – utf-8 – utf-8

java -xms64m

Java运算符优先级整理

算术运算符:+ - * / %
关系运算符:>   <  !=  ==  =结果一定是boolean
位运算:& |   ~  ^
逻辑运算符:&  |  !   &&  | |
条件运算符(三元表达式):    ?:
赋值运算符:= +=  -=  /=  *=

口诀:括单算关位逻条赋

括号(1级):() (数组去取下标)

单目(2级)(从右向左):

! + – ~ ++ –

算术(3-5级)

* / % —>>>+ – —>>>> >>>

关系(6-7级)

= —>>> == !=

位(8-10级)(特殊的单目)

~—>>>& —>>>^—>>>|

逻辑(11-12级)

!(优先级高于算术运算符)—>>>&&—>>>||

条件运算符

?:

赋值(14级)(从右向左)

= += -= *= /= %= &= |= ^= ~= = >>>=

—>>>用于区别同一类里面的优先等级

其中 1 级最高,14 级最低

注意:

Java 中共有 54 种运算符JAVA基础(第1天java介绍),按优先级可以分为 14 级,详见如下(原来整理的,供为参考):

1.	优先级   操作符   含义        关联性  用法 
2.	----------------------------------------------------------------
3.	1        [ ]      数组下标      左    array_name[expr] 
4.	         .        成员选择      左    object.member 
5.	         ( )      方法参数      左    method_name(expr_list) 
6.	         ( )      实例构造      左    class_name(expr_list) 
7.	         ++       后缀自增      左    lvalue++ 
8.	         --       后缀自减      左    lvalue-- 
9.	 
10.	2        ++       前缀自增      右    ++rvalue 
11.	         --       前缀自减      右    --lvalue 
12.	         ~        按位取反      右    ~expr 
13.	         !        逻辑非        右    !expr 
14.	         +        一元加        右    +expr 
15.	         -        一元减        右    -expr 
16.	 

java -xms64m

17. 3 ( ) 强制转换 右 (type)expr 18. new 对象实例化 右 new type() 19. new type(expr_list) 20. new type[expr] 21. 22. 4 * 乘 左 expr * expr 23. / 除 左 expr / expr 24. % 求余 左 expr % expr 25. 26. 5 + 加 左 expr + expr 27. - 减 左 expr - expr 28. + 字符串连接 左 strExpr + strExpr 29. 30. 6 >> 有符号右移 左 expr >> distance 31. >>> 无符号右移 左 expr >>> distance 32. 33. 7 < 小于 左 expr < expr 34. <= 小于等于 左 expr <= expr 35. > 大于 左 expr > expr 36. >= 大于等于 左 expr >= expr 37. instanceof 类型比较 左 ref instanceof refType 38. == 等于 左 expr == expr 39. != 不等于 左 expr != expr 40. 41. 8 & 整数按位与 左 integralExpr & integralExpr 42. & 布尔与 左 booleanExpr & booleanExpr 43. 44. 9 ^ 整数按位异或 左 integralExpr ^ integralExpr 45. ^ 布尔异或 左 booleanExpr ^ booleanExpr 46. 47. 10 | 整数按位或 左 integralExpr | integralExpr 48. | 布尔或 左 booleanExpr | booleanExpr 49. 50. 11 && 逻辑与 左 booleanExpr && booleanExpr 51. 52. 12 || 逻辑或 左 booleanExpr || booleanExpr 53. 54. 13 ? : 条件运算 右 booleanExpr ? expr : expr 55. 56. 14 = 赋值 右 lvalue = expr 57. *= 乘赋值 右 lvalue *= expr 58. /= 除赋值 右 lvalue /= expr 59. %= 模赋值 右 lvalue %= expr 60. += 加赋值 右 lvalue += expr 61. += 字符串连接赋值 右 lvalue += expr 62. -= 减赋值 右 lvalue -= expr 63. <<= 左移赋值 右 lvalue <<= expr 64. >>= 有符号右移赋值 右 lvalue >>= expr 65. >>>= 无符号右移赋值 右 lvalue >>>= expr 66. &= 整数按位与赋值 右 lvalue &= expr 67. &= 布尔与赋值 右 lvalue &= expr 68. |= 整数按位或赋值 右 lvalue |= expr 69. |= 布尔或赋值 右 lvalue |= expr 70. ^= 整数按位异或赋值 右 lvalue ^= expr 71. ^= 布尔异或赋值 右 lvalue ^= expr

上表说明

1、 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级14的优先级最低。

2、 结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如3±4,则意义为3加-4,符号首先和运算符右侧的内容结合。

3、 作用是判断对象是否为某个类或接口类型,后续有详细介绍。

4、 注意区分正负号和加减号,以及按位与和逻辑与的区别

其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代,示例代码:

int m = 12;

int n = m

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » JAVA基础(第1天java介绍)

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们