Java基础
Posted 雲淡、風輕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础相关的知识,希望对你有一定的参考价值。
Java程序设计:
Java 分为 JAVASE(标准版)、 J2EE(企业版)、 JAVAME (微型版)
基础和高级
基础: 语法,语义,关键字
高级: 应用场景: 文件读取,多线程,网络,集合框架
JDK
java提供一套api(接口),
32位操作系统,不允许装64,64位都可以装。
装在默认位置 ,不需要配置环境变量,就可以启动java编辑器。
## JDK、JRE、JVM 之间的区别与联系
JDK(Java Development ToolKit): Java开发工具包。是整个 java的核心,包含了java运行环境JRE(Java Runtime Envirnment),还有其他 java工具(javac、java、jdb等)以及Java基础的类库(即Java API 包括rt.jar)。
JRE(Java Runtime Enviromental):Java运行环境。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行,包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具--编译器、调试器和其他工具。
JVM(Java Virtual Mechinal):Java虚拟机。 JVM是JRE的一部分,是一个虚构出来的计算机。它是整个Java实现跨平台的最核心部分,(即不同的操作系统使用不同的JVM映射规则,完成了跨平台性)所有的Java程序会首先编译为.class的类文件,虚拟机就是执行这种类文件,将程序解释给本地系统执行。
&&一句话描述: JDK就是Java开发工具包,包含JRE、JVM 等。 (他是开发者使用的)
JRE就是Java运行环境,包含JVM。 (他是Java程序的用户使用的--即程序员使用的)
JVM就是Java虚拟机。实现跨平台用的。
Eclipse:
1. 工作空间: 项目存放的地点
2. package explorer :项目管理位置
3. src: 存放源代码
4. package: window文件夹,每个点都是一级目录
变量:
注释
1. 单行注释 // 绝大部分使用 单行注释
2. 多行注释 /* */
3. 文档注释 javadoc工具 生成一份类声明和方法声明
内容
1. 标识符,关键字
2. 变量
3. 运算符
数据类型
1. 数字型 整数 int 带小数
2. 字符 char 单个字符,\'A\'
标识符
java规则 整个标识符由 0-9 a-z A-Z _ $,数字不能开头
程序员的规则 每个标识符尽量有意义,不要使用无意义abcd a1,a2.
用多个有意义的单词来组合。
数值本身的类型
运算符
1. 赋值运算符 = : 将 = 右边的值赋值给=左边。
2. 算数运算符 + - * / % 先*/后+-,使用()来提升优先级。
Java关键字
有系统 赋值有意义的单词,已经被系统占用,不允许使用成 标识符。类名,包名,方法名,变量名。
变量要先声明后使用
变量不允许重名(在生命周期中 有效范围)
异常分为两种,编译期异常,运行期异常(程序运行过程中,崩溃了)
变量基本结构
变量类型 变量名(标识符) = 变量值
命名习惯
// 方法名,变量名 首字母小写 后面的所有单词首字母大写
// 类名 项目名 每个单词首字母都大写
// 包名 必须全部小写
包
系统所有的类都有自己的包,在使用的时候,需要导入,将他的包名导入到improt中
java.lang中的所有类 可以不用导入。
基本数据类型
数值型: 整数: short (双字节) int (四字节) long (八字节)
小数: float (四字节) double (八字节)
非数值型 字符: char (2个字节 根据编码格式来算的) (GBK,GB2312,UTF-8)
逻辑: boolean(1/8字节) true false 1位 1/8byte
字节: byte (1字节)
引用型数据类型 其他所有非基础类型都是引用型
1. //常量的类型 1 int类型
2. // 1l long类型
3. // 1.0 double类型
4. // 1.0f float类型
基础数据类型转换
1. 整数转换时,short>int>long 可以随意转型,long>int>short 强制类型转换,有可能溢出.
2. 整数转换小数时,可以随时转换,小数转换整数时,需要强制类型转换,并且丢失小数位。
3. 小数转换时,float>double 可以随意转换,double>float 强制类型转换.
4. 非数值型转换时,都会先转成对应的整数型,转换回来的时候,需要强制类型转换.
i++与++i
1. i++ : 先做运算,然后再自身+1;
2. ++i : 先做自身+1,在做运算;
字符型 : a=97 A=65 0=48
关系运算符
< > == != >= <=
关系运算符 最终 返回的是 boolean
逻辑运算符
break
1. 跳出 switch 的分支结构
2. 跳出 循环 结构 (跳出 内层循环)
continue
1. 结束本次循环,继续下次循环
数组
数据结构
数组,链表,队列,栈,树。。。
定义
在内存中开辟一块连续的空间
一旦被初始化(new),就不能在增加或者删除空间。
声明
1. 数据类型[] 标识符;
2. 数据类型 标识符[];
分配空间
java中 除了基础数据类型,直接存放在栈中,其他的类型,都必须要使用new关键字来在堆中开辟空间。
先定义,初始化后在使用.
1. 数组下标越界
2. java.lang.ArrayIndexOutOfBoundsException -->数组越界
基本数据类型和引用数据类型
基本数据类型指向同一地址时,修改其中一个变量,不影响另外的变量。 (栈中)
引用型数据类型 指向同一地址时,修改其中一个变量,另外一个变量也会被影响。(引用在栈,对象在堆)
String例外。
多维数组
定义
数据类型[][] 变量名 = new 数据类型[长度][长度];
equals和==的区别:
equals比较的是值,==比较的是地址。
以上是关于Java基础的主要内容,如果未能解决你的问题,请参考以下文章