-
确认过眼神,这是你想要的编程
-
选对工具很重要
java环境搭建(JDK8.0)
-
安装JDK和JRE
-
配置环境变量
-
JAVA_HOME:JDK安装目录(C:\Program Files\Java\jdk1.8.0_101)
-
Path:JDK安装目录下的bin目录(%JAVA_HOME%\bin)
-
java开发工具
-
Eclipse(推荐)
-
InteillJ IDEA(推荐)
-
MyEclipse
-
NetBeans
-
JCreator
-
后面学习中用的比较多的
构造器(Constractor)
构造器也叫构造方法,构造函数,构造器是一个特殊的方法,在java中对象的创建必须通过构造器完成,构造器的名称一般跟类名称保持一致(包括大小写),构造器没有任何的返回值类型(包括void),任何一个java类中都存在一个默认的无参构造器;构造器一般用于对成员变量初始化或者完成一些资源的开启操作等,例如:
public class Student{ String name; //构造器 public Student(String sname){ name = sname; } public static void main(String[] args){ Student s = new Student(); } }
一个类中可以存在多个构造器,但是每个构造器必须保证方法的参数个数,顺序,类型至少有一项不一致(方法的重载:overload)
-
解决一些数列问题很实用
递归(Recursion)
递归即在方法内部调用方法自身,递归可以解决一些算法问题(斐波拉契数列等),文件夹遍历问题(目录树)、菜单树等结构,在java中递归有两种模式:
-
直接递归
-
间接递归
/** * 使用递归解决斐波拉契数列 * 1 1 2 3 5 8 13 21... */ public int fib(int n){ if(n == 1 || n == 2){ return 1; }else{ return fib(n - 1) + fib(n - 2); } }
-
用来解决动态数组特别方便
动态数组ArrayList
由于数组为定长数据结构,通常数组一旦定义,则长度无法修改,在实际使用中往往存在不够灵活的缺点;因此、在java中存在一种长度可变的动态数组:ArrayList,ArrayList类是基于可变长度数组的实现,底层实现原理依然是数组,内部通过数组拷贝的方式实现了数组的长度可变,ArrayList中提供了一系列用于操作数组中元素的方法,例如:
-
size() 获取ArrayList中元素的个数
-
add() 向ArrayList中添加新元素
-
get() 获取指定索引处的元素
-
remove() 删除指定索引处的元素
-
clear() 清除数组中的所有元素
-
...
示例代码:
public class ArrayListDemo { public static void main(String[] args) { //创建ArrayList对象 泛型(参数化类型) ArrayList<String> list = new ArrayList<String>(); list.add("helloworld"); list.add("jack"); list.add("rose"); //获取指定位置的元素 System.out.println(list.get(2)); //移除指定位置的元素 list.remove(1); //获取容器的长度(元素个数) System.out.println(list.size()); //清空集合(数组)中所有元素 list.clear(); } }
注意事项:
ArrayList若不指定泛型(参数化类型)时,可以向数组中添加任何数据类型;一旦指定泛型,则ArrayList内部的元素会限定只能存储与泛型一致的数据类型
-
重点知识,需要好好把握
面向对象程序设计-信息隐藏(封装)
面向对象语言通常包含三大特征:
-
封装
-
继承
-
多态
其中封装(信息隐藏)是对对象的一种保护机制,通过将对象的属性或者方法设置为private,从而使得外界不能通过对象轻易访问器属性或方法,封装即将对象的属性和行为捆绑为一个逻辑单元,并将对象的属性设置为私有,通过公开的方法对其进行操作,从而有效避免外界未经授权而直接操作属性数据(可能会带来一些安全性问题)。(高内聚低耦合)
示例代码:
public class User{ private String username; private String password; private int age; public void setUsername(String username){ this.username = username; } public String getUsername(){ return username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } }