1.编译和运行
javac Student.java //编译
java Student //运行。Student后面不用加。class
2.注释
// 单行注释
/* 我爱你,
我不爱你 */ 多行注释
/**
* @author Administrator
*/ 可以生成文档的注释
3.数据类型
1. 整形 都是有符号的 byte 1字节 -2^7---- 2^7-1 / short 2 字节 -2^15 ---- 2^15 - 1 / int 4字节 -2^31 --- 2^31-1 / long 8字节 -2^63 --- 2^63-1
long a = 40000000000l; // 数字后加L表示长整形(L和l都行)
int b = 0xabc; // 加0x表示16进制
int c = 010; // 加0表示8进制 c = 8
int d = 0b1001; // 加0b表示2进制 d = 9
int e = 1_000_000; // 加_ 容易读,java 7新特性 ,编译后将去掉_
int f = 0b1001_1000_0000;
2. 浮点型 有符号 float 4字节 +- 3.4028235E38 有效位为6-7位 double 8字节 +-1.7976931348623157E308 有效位为15位
float b = 10.0; // 报错须强制类型转换 , 所有小数默认为double型
float c = 10.0f; // 没错,后面加了f
float a = (float) 10.0; // 没错
float e = Float.POSITIVE_INFINITY; //表示正无穷
double d = Double.POSITIVE_INFINITY;
double f = Double.POSITIVE_INFINITY; // 负无穷da
Double g = Double.NaN; //不是一个数 如1/0
3. char 类型 用来表示单个字符,通常表示字符常量,我们可以用转义序列\u表示Unicode代码单元的编码,范围为 \u0000 到\uffff 其中\u可以出现在单双引号内外,还有其他转义字符如 \n 表示换行 \r 表示回车
public static void main(String\u005b\u005d args) {//\u005b表示[ \u005d表示]
// TODO Auto-generated method stub
System.out.println("\u03c0");
System.out.println('\u03c0');
System.out.println(\n); //除了 \u其他转义字符不能出现在引号之外
}
4.boolean型 true 和 false 布尔型和整数之间不能相互转换
boolean a = 0; // 报错
4.变量
1 java中的变量开头由字母,后面是字母和数字的组合,其中字母包括_ 和 $
2 常量, 常量包括函数内常量和类常量,用final 修饰,关键字表示这个变量只能被赋值一次,如果所定义的常量想在类外使用,可以加static关键字
5.运算符
1 运算符有 + - * /
System.out.println(3/2); // 结果为1,当除数两边都是整数时表示整数除法
System.out.println(3/2.0); //结果为1.5 当有一个浮点数时,表示浮点除法
2. 位运算符 >> 左移,最高位补符号位,相当于除2的幂 >>> 无符号左移 最高位补0 << 右移
System.out.println(1 << 3);
System.out.println(1 << 35); // 当右边数大于32时,需要模32
System.out.println(1L << 3);
System.out.println(1L << 67); // 当右边数大于64时,需要模64 输出都是8
6.字符串
1.拼接 java允许用+连接两个字符串
System.out.println("" + 1); // 字符串在前在后都可以
System.out.println(1 + ""); //
2.比较字符串是否相等,
String greet = "hello";
System.out.println(greet == "hello"); // 当两个变量用一块内存空间的时候用==比较 ,返回true
System.out.println("hello".equals(greet)); //即使不用一块存储空间,也可以比较,返回true
System.out.println("hel" == greet.substring(0, 3)); // "hel"和剪切的字符串不使用同一个空间,返回false
System.out.println("hel".equals(greet.substring(0, 3))); // 返回true;
3.空串“” 和null串
“”是java的一个字符串对象,有长度和内容,null表示没有任何对象与该变量关联,
String str = "";
System.out.println("".equals(str)); //检查是否是空串 // 返回true
System.out.println(str.length()); // 返回0
String a = null;
System.out.println(a == null); //检查是否是null 返回true
4.StringBuffer 和 StringBuilder
如果需要由多个较短的字符串构建出较长的字符串,用+操作既费时又浪费内存,使用StringBuilder会解决这个问题。StringBuffer允许采用多线程的方式添加或删除字符,但效率比较低,如果所有操作在一个线程下,应该用StringBuildr
StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append("i love you");