java基础
2020-11-04 14:34:41 1 举报
AI智能生成
登录查看完整内容
java
作者其他创作
大纲/内容
java基础
Java 开发环境配置
安装jdk
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
配置环境变量
我的电脑\",点击\"属性\",选择\"高级系统设置\";
测试
cmd命令java -version出现版本信息说明配置成功
Eclipse
public class HelloWorld { public static void main(String[] args) { System.out.println(\"Hello World\"); }}控制台输出Hello World测试成功
工具下载地址: http://www.eclipse.org/downloads/packages/
IDEA测试
工具下载地址:https://www.jetbrains.com/idea/download/
Java 基础语法
对象:对象是类的一个实例,有状态和行为。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
基本语法
大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
Java 标识符
Java修饰符
访问控制修饰符
default
public
protected
private
非访问控制修饰符
final
abstract
static
synchronize
Java 变量
局部变量
在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
类变量
类变量也声明在类中,方法体之外,但必须声明为 static 类型。
成员变量
成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
Java 数组
Java 枚举
Java 关键字
访问控制
private\t私有的protected\t受保护的public\t公共的default\t默认
类、方法和变量修饰符
程序控制语句
break\t跳出循环case\t定义一个值以供 switch 选择continue\t继续default\t默认do\t运行else\t否则for\t循环if\t如果instanceof\t实例return\t返回switch\t根据值选择执行while\t循环
错误处理
assert\t断言表达式是否为真catch\t捕捉异常finally\t有没有异常都执行throw\t抛出一个异常对象throws\t声明一个异常可能被抛出try\t捕获异常
包相关
mport\t引入package\t包
基本类型\t
boolean\t布尔型byte\t字节型char\t字符型double\t双精度浮点float\t单精度浮点int\t整型long\t长整型short\t短整型
变量引用
保留关键字
goto\t是关键字,但不能使用const\t是关键字,但不能使用null\t空
Java注释
Java 空行
继承
接口
Java 源程序与编译型运行区别
子主题
Java 对象和类
多态继承封装抽象类对象实例方法重载
Java中的对象
对象都有自己的状态和行为。
Java 中的类
类可以看成是创建 Java 对象的模板。
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
创建对象
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字 new 来创建一个对象。
初始化:使用 new 创建对象时,会调用构造方法初始化对象。
访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法,如下所示:/* 实例化对象 */Object referenceVariable = new Constructor();/* 访问类中的变量 */referenceVariable.variableName;/* 访问类中的方法 */referenceVariable.methodName();
Java 基本数据类型
内置数据类型
byte
short
int
long
float
double
char
String
引用类型
在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象, 指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型, 比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。对象、数组都是引用数据类型。所有引用类型的默认值都是null。一个引用变量可以用来引用任何与之兼容的类型。
Java 常量
在 Java 中使用 final 关键字来修饰常量,声明方式和变量
自动类型转换
强制类型转换
1. 条件是转换的数据类型必须是兼容的。2. 格式:(type)value type是要强制类型转换后的数据类型
隐含强制类型转换
1. 整数的默认类型是 int。2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
Java 数据结构
枚举
位集合
向量
栈
字典
哈希表
属性
Java 集合框架
Set和List的区别
集合实现类(集合类)
集合算法
集合框架定义了几种算法,可用于集合和映射。这些算法被定义为集合类的静态方法。在尝试比较不兼容的类型时,一些方法能够抛出 ClassCastException异常。当试图修改一个不可修改的集合时,抛出UnsupportedOperationException异常。集合定义三个静态的变量:EMPTY_SET,EMPTY_LIST,EMPTY_MAP的。这些变量都不可改变。
如何使用迭代器
通常情况下,你会希望遍历一个集合中的元素。例如,显示集合中的每个元素。一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或 ListIterator接口。迭代器,使你能够通过循环来得到或删除集合的元素。ListIterator 继承了 Iterator,以允许双向遍历列表和修改元素。
遍历 ArrayList
import java.util.*; public class Test{ public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add(\"Hello\"); list.add(\"World\"); list.add(\"HAHAHAHA\"); //第一种遍历方法使用 For-Each 遍历 List for (String str : list) { //也可以改写 for(int i=0;i<list.size();i++) 这种形式 System.out.println(str); } //第二种遍历,把链表变为数组相关的内容进行遍历 String[] strArray=new String[list.size()]; list.toArray(strArray); for(int i=0;i<strArray.length;i++) //这里也可以改写为 for(String str:strArray) 这种形式 { System.out.println(strArray[i]); } //第三种遍历 使用迭代器进行相关遍历 Iterator<String> ite=list.iterator(); while(ite.hasNext())//判断下一个元素之后有值 { System.out.println(ite.next()); } }}
遍历 Map
如何使用比较器
TreeSet和TreeMap的按照排序顺序来存储元素. 然而,这是通过比较器来精确定义按照什么样的排序顺序。这个接口可以让我们以不同的方式来排序一个集合。序号\t比较器方法描述1\t使用 Java Comparator这里通过实例列出Comparator接口提供的所有方法
Java ArrayList
ArrayList类是一个可以动态修改的副本,与普通副本的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList继承了AbstractList,并实现了List接口
添加元素
ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法:
访问元素
访问 ArrayList 中的元素可以使用 get() 方法:
修改元素
如果要修改 ArrayList 中的元素可以使用 set() 方法:
删除元素
如果要删除 ArrayList 中的元素可以使用 remove() 方法:
计算大小
如果要计算 ArrayList 中的元素数量可以使用 size() 方法:
迭代数组列表
import java.util.ArrayList;public class RunoobTest { public static void main(String[] args) { ArrayList<String> sites = new ArrayList<String>(); sites.add(\"Google\"); sites.add(\"Runoob\"); sites.add(\"Taobao\"); sites.add(\"Weibo\"); for (int i = 0; i < sites.size(); i++) { System.out.println(sites.get(i)); } }}
import java.util.ArrayList;public class RunoobTest { public static void main(String[] args) { ArrayList<String> sites = new ArrayList<String>(); sites.add(\"Google\"); sites.add(\"Runoob\"); sites.add(\"Taobao\"); sites.add(\"Weibo\"); for (String i : sites) { System.out.println(i); } }}
其他的引用类型
ArrayList 中的元素实际上是对象,在以上实例中,数组列表元素都是字符串 String 类型。如果我们要存储其他类型,而 <E> 只能为引用数据类型,这时我们就需要使用到基本类型的包装类。
ArrayList 排序
Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
import java.util.ArrayList;import java.util.Collections; // 引入 Collections 类public class RunoobTest { public static void main(String[] args) { ArrayList<String> sites = new ArrayList<String>(); sites.add(\"Taobao\"); sites.add(\"Wiki\"); sites.add(\"Runoob\"); sites.add(\"Weibo\"); sites.add(\"Google\"); Collections.sort(sites); // 字母排序 for (String i : sites) { System.out.println(i); } }}
Java ArrayList 方法
add()\t将元素插入到指定位置的 arraylist 中addAll()\t添加集合中的所有元素到 arraylist 中clear()\t删除 arraylist 中的所有元素clone()\t复制一份 arraylistcontains()\t判断元素是否在 arraylistget()\t通过索引值获取 arraylist 中的元素indexOf()\t返回 arraylist 中元素的索引值removeAll()\t删除存在于指定集合中的 arraylist 里的所有元素remove()\t删除 arraylist 里的单个元素size()\t返回 arraylist 里元素数量isEmpty()\t判断 arraylist 是否为空subList()\t截取部分 arraylist 的元素set()\t替换 arraylist 中指定索引的元素sort()\t对 arraylist 元素进行排序toArray()\t将 arraylist 转换为数组toString()\t将 arraylist 转换为字符串ensureCapacity()\t设置指定容量大小的 arraylistlastIndexOf()\t返回指定元素在 arraylist 中最后一次出现的位置retainAll()\t保留 arraylist 中在指定集合中也存在的那些元素containsAll()\t查看 arraylist 是否包含指定集合中的所有元素trimToSize()\t将 arraylist 中的容量调整为数组中的元素个数removeRange()\t删除 arraylist 中指定索引之间存在的元素replaceAll()\t将给定的操作内容替换掉数组中每一个元素removeIf()\t删除所有满足特定条件的 arraylist 元素forEach()\t遍历 arraylist 中每一个元素并执行特定操作
Java LinkedList
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
以下情况使用 ArrayList :
频繁访问列表中的某一个元素。只需要在列表末尾进行添加和删除元素操作
以下情况使用 LinkedList :
你需要通过循环迭代来访问列表中的某些元素。需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。
LinkedList 继承了 AbstractSequentialList 类。LinkedList 实现了 Queue 接口,可作为队列使用。LinkedList 实现了 List 接口,可进行列表的相关操作。LinkedList 实现了 Deque 接口,可作为队列使用。LinkedList 实现了 Cloneable 接口,可实现克隆。LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。
Java HashSet
Java HashMap
Java Iterator
Java Object
Java 泛型
Java 序列化
Java 网络编程
Java 多线程编程
0 条评论
回复 删除
下一页