java入门
JDK
- JDK:java程序运行平台(J2SE标准版,J2EE企业版)
- 包括:
- 开发工具
- 编译器java.exe
- 解释器javac.exe
- JRE:java核心运行环境
- JVM:java虚拟机
- 字节码指令:中间代码
- 类库
- 核心文件
- JVM:java虚拟机
- 附加库
- 头文件
- 源代码
- 开发工具
- 包括:
运行过程
public class Hello {
public stastic void main (String args[]) {
System.out.println("Hello");
}
}
- 源文件
- 除字符串一律英文字符
- 大小写敏感
- public与文件名相同
- 编译
- javac.exe进行编译
- .class字节码文件
- 运行
- 一个java程序必须含有 public stastic void main (String args[])方法
- java.exe进行解释执行
- 反编译
- javap.exe反编译器
- 注释同c++
数据类型
整数
-
boolean
- true
- false
- 进行逻辑运算时可以看做0/1
- int(4byte)
- byte(1byte)
- short(2byte)
- long(8byte)
- 0x3f3f3f3fL
- 常量后L
- 没有unsigned
字符
- Unicode表(非ASCII)
- char(2byte)
- char x = 'a'; / char x = 97;
- 转义同c++
-
可以十六进制转义
- \u0041 A, \u0061 a
-
可以十六进制转义
- 用强制类型转换来获得序号
- (int)'a'; // 97
浮点
- float(4byte)
- 必须常量后f/F
- 8位有效数字
- double(8byte)
- 可省常量后d/D
- 16位有效数字
类型转换
- 顺序表:
- byte | short | char | int | long | float | double
- 由小到大转换不损失精度
IO
- Input
- Scanner
- Scanner reader = new Scanner(System.in);
- int x = reader.nextint();
- reader可自定义
- Scanner
- Output
- System.out.println()
- 换行
- System.out.print()
- 不换行
- System.out.println("Hel" +
"lo")- 不支持字符串内换行
- System.out.printf("%d", x);
- 同c++
- System.out.println()
数组
- 声明
- int方法
- int [] a == int a[];
- int [][] a == int a[][];
- int [] a, b == int a[], b[];
- int [] a, b[] == int a[], b[][];
- 这种方式不允许在括号内定义元素个数
- new方法
- a = new int[4] == int a[4]
- 本质上是malloc分配空间
- a = new int[3][4] == int a[3][4] == int a[][] = new a[3][4]
- 括号内允许变量
- int方法
- 使用同c++
- length
- a.length == 含有元素个数,同strlen(s)
- 初始化同c++
- 数组名都直接存放引用
- 输出char型数组的引用:System.out.println("" + a);
运算符
同c++
控制语句
基本同c++
- for(生命循环变量:数组名字)
- int a[] = {1, 2, 3, 4};
for(int i : a) Ststem.out.println(i);
- int a[] = {1, 2, 3, 4};
- hasNext(Byte/Int/Long……)判断数据类型是否满足
while(reader.hasNextInt()) {
int x = reader.NextInt();
}