文章目录
JAVA概述
- JDK
- Java Web 针对Web程序
- J2EE 企业级应用
- J2ME 移动设备
安装JDK1_5_0: J2SE Development Kit 5.0
J2SE Runtime Environment (JDK自带)
客户不需要JDK,只需要JRE,只安装JRE即可
开发需要JDK,用户只需要JRE
- J2se(Java 2 standard edition)主要用于开发桌面的应用程序。J2se包含了构成Java语言核心的类:数据库连接、接口定义、输入输出、网络编辑等
- J2ee(Java 2 enterprise edition)主要用于分布式的网络程序的开发。weblogic、JSP都是这个J2ee标准的实现。J2ee包含j2se中的类,并且包含用于开发企业级应用的类,也包含企业应用中很多的API。例如:JDBC、JNDI、EJB等。
标识符 关键字
- 标识符由字母,下划线,$组成
- 标识符以字母,下划线,$开头
局部变量 成员变量
- 局部变量:方法体的变量,包含方法参数
- 成员变量: 方法外,类体内
- 没有全局变量!java是纯面向对象的语言
数据类型
数据使用之前必须初始化!!!
boolean
只有两个值: true
false
char
Java字符采用Unicode
编码,每个字符占用两个字节
因而可用十六进制编码形式
char c1 = '\u0061'; // a
Unicode是全球语言统一编码,统一所有国家的文字
Java语言中还允许使用转义字符\
来将其后的字符转变他的函数以,例如
char c2 = '\n';
整数类型
声明long类型,后面必须加l,L,否则报错
类型 | 占用空间 | 表示范围 |
---|---|---|
byte | 1B | -128~127 |
short | 2B | -2^15 ~ 2^15-1 |
int | 4B | -2^31 ~ 2^31-1 |
long | 8B | -2^63 ~ 2^63-1 100L |
浮点类型
类型 | 占用空间 | 表示 | 精度 | 最大值 |
---|---|---|---|---|
float | 4B | 12.3f | 小数点后7位 | 3.4028235E38 |
double | 8B | 12345.6 | 小数点后15位 | 1.7976931348623157E308 |
最大值
int 10位,long 19位,float 40位,double,300位
数据类型转换
- boolean类型不能转为其他的数据类型
数据类型按照容量
大小排序 - byte,short,char -> int -> long -> float -> double
- byte,short,char之间不会自动转换
- 多种类型的数据混合运算时,兄台你首先自动地将所有数据转换成容量最大的那个数据类型,然后再进行计算
- 实数常量:如 1.2 默认为double
- 整数常量: 如 12 默认为int
运算符
switch
只要能转换为int
类型,都可判断,byte
,char
,short
, int
int i = 18;
switch (i){
case 8: System.out.println(8); break;
case 18: System.out.println(18); break;
default: System.out.println("error");
}
char i = 'a';
switch (i){
case 'a': System.out.println('a'); break;
case 'b': System.out.println('b'); break;
default: System.out.println("error");
}
}
面向对象
局部变量: 定义+赋值+使用
成员变量: 定义+可以不赋值+使用
构造函数
- 构造函数与类同名,且没有返回值
this关键字
- 在类的方法定义中使用的this关键字代表使用该方法的对象的引用
- 当必须指出当前使用方法的对象是谁时要使用this(成员方法中)
- 有时使用this可以处理方法中成员变量和参数重名的情况(构造函数中)
- this可以看做是一个变量,他的值时当前对象的引用
public class Test {
int i = 0;
Test(int i){ this.i = i; }
Test increment(){
i++;
return this;
}
void print(){ System.out.println("i = " + i); }
public static void main(String[] args) {
Test test = new Test(100);
test.increment().print();
}
}
Static 关键字
- 在类中,用static声明的成员变量为静态成员变量,它为该类的公共变量。在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份
- 用static从声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以static方法中不可以访问非static的成员。
Random
[0,1)
Arrays
toString
binarySearch
public static void main(String[] args) {
int arr[] = {1,2,3,4,5};
String s = Arrays.toString(arr);
System.out.println(s); //[1, 2, 3, 4, 5]
//二分查找指定元素的索引, 前提数组有序
int index = Arrays.binarySearch(arr, 3);
System.out.println(index); //2
}