1.Java开发环境的搭建
jdk包含Java开发工具和运行环境(jre)
jdk=Java Development Kit jre=Java Runtime Environment
jdk里包括单独的jre, jre里面包括Java虚拟机;
path:去哪里找编译或运行等工具(必须设置),不同目录用(;)分开
classpath:去哪里找需要运行的class文件(java5开始可不设置)
JAVA_HOME:指定JDK的安装目录,给其他应用程序看的
2.Java的基本数据类型
字符型char
Java字符采用Unicode编码,可用十六进制编码形式表示
char c1 = '\u0061'; //相当于 char c1 = 'a';
3.String
String是最常用的引用数据类型,不属于基本数据类型
字符串的连接采用 + 符号
String s = "hello,"+"world" ;
4.Java7新特性
数值的二进制表示: 0B或0b
数值的底线格式:可以通过增加底线来增强数值的可读性
int i =100_000 ;//相当于 int i = 100000;
5.编程实现“九九乘法表”
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();
}
}
6.流程控制
break:终止循环
continue:跳过该成循环
7.方法重载
两同:同一类中,方法名相同
一不同:参数列表不同(参数个数、参数类型、参数顺序)
8.数组
静态初试化:初始化时便给出数组中的初始值
int[] arr = {1,2,3,4,5};
动态初始化:指定数组长度,由系统为数组分配初始值
int[] arr = new arr[5];
得到数组长度:
int len = arr.length(); //length是数组的属性
操作数组常见问题:
数组脚标越界异常(ArrayIndexOutOfBoundsException)
空引用异常(NullPointerException)
9.Java中的堆和栈
Java把内存划分成两种:一种是栈内存,另一种是堆内存
栈内存:
用于存储局部变量,空间不用时自动释放
堆内存:
存储数组和对象(即new出来的对象)
Java对其有特定的垃圾回收机制,在不定时的时间内将垃圾清除释放空间
在函数中定义一些基本类型的变量和对象的的引用变量都是在函数的栈内存中分配。
在一段代码块中定义一个变量时,Java就在栈中为这个变量分配内存空间,但如果超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间。(局部变量)
堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由JVM自动垃圾回收器进行管理。
在堆中产生一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对对象在堆内的首地址,栈中的这个变量就成了数组或对象的引用变量。
Integer a = new Integer(2);//其中a位于堆区,new出来的整数2位于栈区
10.Java中的方法传递机制
值传递
引用传递
11.操作数组的工具类-Arrays
二分查找(对象数组必须是有序的)
static int binarySearch(type[] a, int fromIndex, int toIndex, type key)
数组拷贝:(对不同的数据类型有不同的copyOf()方法)
static int[] copyOf(int[] original, int newLength)
判断两个数组是否相同
static int equals(int[] a, int[] a2)
排序:按升序进行排序
static void sort(type[] a)
将数组内容用字符串形式表示
static String toString(type[] a)
输出形式为[val1,val2,val3,……]
int[] arr = {1,2,3,4,5,6,7};
System.out.println(Arrays.toString(arr));
//[1, 2, 3, 4, 5, 6, 7]