import java.util.*;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
这段代码在控制台将会输出 Hello World!,虽然简单但是有很多需要注意的地方,下面一一阐述。
/**
*这是文档注释,一般用于对一个类或方法进行功能参数等描述,可以生成文档
*建议对于自己定义的类或者方法都先用文档注释说明其功能、参数、创建人、时间等
*可以参考java源码的注释,非常清晰
*@author sky
*/
class A {
//这是行注释,用于对某个变量或者语句进行说明
//记录出现次数
int count = 0;
/*
这是多行注释,在这个里面的所有内容都会被编译器视为注释
*/
}
类型 | 存储需求 | 取值范围 | 最大值 | 最小值 | 备注 |
---|---|---|---|---|---|
int | 4字节 | -2147483648 ~ 2147493647 | 2^31 - 1 | -2^31 | 用的较多 |
short | 2字节 | -32768 ~32767 | 2^15 - 1 | -2^15 | 特定数组 |
long | 8字节 | 2^63 - 1 | 2^63 - 1 | -2^63 | 表示较大范围值 |
byte | 1字节 | -128~127 | 2^7 - 1 | -2^7 | 特殊用途 |
float | 4字节 | 大约±3后面38个0 | 3.4028235E38 | 1.4E - 45 | 有效位6~7位 |
double | 8字节 | 大约±1后面308个0 | 1.7976931348623157E308 | 4.9E - 324 | 有效位15位 |
char | 2字节 | 2^16 - 1 | 2^16 - 1 | 0 | ‘A’表示字符;“A”表示字符串 |
boolean | 1字节 | true,false | 用于是非判断 |
// 直接截断式强制类型转换
double x = 9.9;
int n = (int)x; // n = 9;
// 舍入式转换
double x = 9.9;
int n = (int)Math.round(x); //n=10
// 二元运算符
x += 4;
// 自增自减运算,合理利用前缀和后缀方式可以简化代码
++n; //先加一再运算
n++; // 先取值再加一
// 逻辑运算
&& || //“短路”方式求值,如果第一个结果就可以确定值,第二个将不会计算
x < y ? x : y // 多元运算符简化代码
& | ^ ~ //与,或,异或,非,与和或也可以作为逻辑运算,但是不采用短路方式
>> >>> << // 移位运算,>>用符号位填充高位;>>>用0填充高位
//运算符优先级,在不确定优先级时尽量通过多加括号防止出错
//例如二分查找中求中间数的写法
mid = left + (right - left) >> 1; //错误,因为+优先级高于>>
// 正确写法
mid = left + ((right - left) >> 1);
//枚举类型,可以将变量的取值限制在一定范围,如状态机的使用就大量使用了枚举类型
enum Size {SMALL, MEDIUM};
// 输入
Scanner in = new Scanner(System.in);
String s = in.next(); //以空格结束
String s = in.nextLine();//以换行结束
int n = in.nextInt();
// 用于密码读取
Console cons = System.console();
char[] passwd = cons.readPassword("Password: ");
// 格式化输出
System.out.printf("%8.2f", x); // 8个字符宽度和小数点后两个字符精度进行打印
//也可以使用String.format进行格式化
// 文件输入输出
Scanner in = new Scanner(Path.get("my.txt"), "UTP-8");
PrintWriter out = new PrintWriter("my.txt", "UTF-8");
// 数组定义
int[] a = new int[10];
for(int x : a) //进行数组遍历,通过指针的方式进行遍历
int[] a = {2, 3, 4}; // 进行初始化
Arrays.sort(a); //对数组进行排序
Arrays.fill(a, 0); //将数组所有元素设置为0
// 不规则数据定义,例如存储三角矩阵
int[][] odds = new int[MAX+1][];
for(int n = 0; n <= MAX; n++){
odds[n] = new int[n+1];
}