这三天开始重新复习java基础知识,感觉自己前两年基础特别不好,所以希望以此第一篇博客为基础,开始我新的的学习生涯,也为明年毕业做好准备
快捷键
快速打开命令行:
要特别注意一个快捷键,就是在我的电脑路径窗口前加一个cmd后空一行,再按下Enter就能快速进入对应的文件夹,示例如下:
然后出现相应路径窗口:
课堂笔记
1.类变量static
static作为修饰符时不在意前后位置,例如:
//以下两行代码等价
ststic double salary = 2500;
double static salary = 2500;
2. 实例变量
必须声明和初始化,例如:
public class Demo01 {
//类变量 static,同时作为修饰符不在意前后位置
static double salary = 2500;
static final double PI = 3.14;
//属性:变量
//实例变量:从属于对象;若不自行初始化,这个类型默认值 0 0.0
//布尔值:默认是false
//除基本类型外,其余默认值都是null;
//常量使用大写和下划线
//类名:首字母大写和驼峰原则
//方法名:首字母小写和驼峰原则
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化
int i =1;
System.out.println(i);
//变量类型 变量名字 = new Demo01();
Demo01 demo01 = new Demo01();
System.out.println(demo01.age);
System.out.println(demo01.name);
//类变量 static
System.out.println(salary);
}
}
3.String注意
(1)String不是关键字!!!
(2)字符串连接符 + 之后的数表示连接成字符串
特别注意以下例子:
//字符串连接符 + ,String
int A = 10;
int B = 20;
System.out.println("" + A + B); //结果是 字符串 1020
System.out.println(A + B + ""); //结果是 30
/*
由上注意:
字符串放前面,结果为字符串
字符串放后面,结果是数字
*/
盲点:最好完全避免浮点数进行比较!!!
因为float类型有限,还是离散,存在舍入误差,所得到的数为约数,相同的数若要和double类型比较只会接近但不等于:
float f = 0.1f;
double d = 1.0/10;
System.out.println(f == d);
//false,原因是有限 离散 舍入误差 大约 接近但不等于
float d1 = 232323f;
float d2 = d1 + 1;
System.out.println(d1 == d2);//true
4.布尔值要注意的一些问题
1)不能对布尔值进行转换
2)不能把对象类型转换成不相干类型
3)在把高容量转换到低容量时,强制转换
4)转换时可能存在内存溢出或者精度问题
/*
1.不能对布尔值进行转换
2.不能把对象类型转换成不相干类型
3.在把高容量转换到低容量时,强制转换
4.转换时可能存在内存溢出或者精度问题
*/
System.out.println("************************************");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
char c = 'a';
int h = c + 1;
System.out.println(d);
//操作较大数时,注意溢出问题
//JDK7新特性,数字间可用下划线分割
int money = 10_0000_0000;
int year = 20;
int total1 = money*year;//-1474836480,结果已经溢出
long total2 = money*year;//默认是int,转换前已经出现问题了
long total3 = money*((long)year);//先把一个数转换成long
System.out.println(total1);
System.out.println(total2);
System.out.println(total3);
5.注意程序可读性问题
不要同一行定义多个变量
int a = 1;b = 2;c = 3;//最好不要这样写一行,不具有可读性
//如下最好
int a = 1;
int b = 2;
int c = 3;
6.尽量不要让不同包名内文件重名,否则引包很麻烦
7.二元运算符和int等基本类型范围
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a =10;
int b =20;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b); //特别注意int的范围,会四舍五入
long c =10;
int d =10;
short f = 20;
byte g = 2;
System.out.println(c+d+g+f); //long
System.out.println(d+f+g); //int
System.out.println(f+g); //int(特别注意这个!!!)
System.out.println(g);
double j = Math.pow(2, 3);
System.out.println(j);
}
}
上面运行结果如下:
30
-10
200
0.5
42
32
22
2
8.0
8.左移(<<)和右移(>>)
左移<< 相当于*2
右移<< 相当于/2
二进制机理:
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
9.javadoc命令行窗口生成文档
进入cmd窗口后找到相应路径,输入javadoc -encoding UTF-8 -charset UTF-8 + (java文件名)
javadoc -encoding UTF-8 -charset UTF-8 Doc .java
生成说明文档文件如下图: