1. 若要打开的.class文件在D:\mydemo,但是命令行此时指向E:\,则应该在命令行中做E:\SET CLASSPATH=d:\mydemo指令操作,再做E:>java hello
得出结论,当时用java命令时,先从CLASSPATH中取得.class文件的位置,再进行类的加载操作。
CLASSPATH是一个很重要的属性,在复杂的工程中经常用到,需要着重考虑。
2. 程序注释
例如
3. 标志符和关键字
java中基本用不到的关键字:goto、const
java中特殊含义的单词:null、true、false
4. java数据类型划分
在java中数据类型一共分为两大类:
1.基本数据类型:
数值型:表示整数或小数;
整型:byte、short、int、long ———— 默认值0
浮点型:float、double ———— 默认值0.0
字符型:char; ———— 默认值‘\u0000’
布尔型:boolean ———— 默认值fulse
**2.引用数据类型:数组、类、接口; ———— 默认值null**
个人建议:
表示整型都用int,小数用double
long一般描述日期时间、内存或文件大小(字节);
byte一般用在需要编码转换或进行二进制转换的地方
char一般在描述中文使用(基本都会忽略)
boolean在描述程序逻辑时使用。
5. 数据溢出
但数据超出数据类型的极限,数据会出现偏差,例如
若某数据类型最小值为-7,-7的二进制为1111,负数在系统中以补码形式存储,即为1001。当执行-7-1计算时,正确值为-8,但在java中得到结果为8。原因为计算机中,1001-1=1000,取原码(取反加一,补码的原码为补码的补码)为10000=8(十进制)。
任何的整数其默认类型都是int,当数据超过极限时,需要将该数表示为long型,作如下操作数据强制转换
第一种
long num = 2147483648L;
第二种
int num = 10;
byte data = (byte)num;
没事干不做数据强制转换。
除法计算注意用float或double型。
6. 字符型
大小写之间差32.。java使用Unicode编码,而不使用ASCII码,但具有ASCII码的部分内容。Unicode码可以保存任何文字信息,包括中文。
范例:保存中文字符:
神奇的java:
7. 布尔型
一般布尔型表示逻辑结果。
java中没有0(错)、1(对)的概念,只能使用true、false。
8. 初见字符串
char可以描述的那个字符,string来描述一串字符。
但string不是基本数据类型,是一个引用数据类型。但是可以按照基本使用模式进行套用。两个string之间可以使用“+”,表示连接,而非加法。
当“+”在数学计算和连接两个功能间混淆时:
所有数据类型,只要与string类型的变量做“+”操作,则所有类型都变为string。这时若仍需得到正确的计算结果,则需要用“()”解决问题。
9. 基础数学运算符
10. 三目运算
11. 关系运算符
返回结果都是boolean类型。
12. 逻辑运算
!、&、 |、&&、||
其中,Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。
&可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。
&&第一个表达式为false
int i = 0;
if(i == 3 && ++i > 0 )
{
}
System.out.println("i = " + i);
console:i = 0 ==>第二个表达式没有执行
&第一个表达式为false
int i = 0;
if(i == 3 & ++i > 0 )
{
}
System.out.println("i = " + i);
console:i = 1 ==>第二个表达式执行了
另有“||”: 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”:前后两个操作数都会进行计算。也就是说:“|”不存在短路。
13.位运算
&、|、<<、>>
14.程序三种形式:顺序结构、分支结构、循环结构
分支结构:
if。。。。else
switch+case+break
循环结构:
while(){
};
和
do{
}while();
和for循环
15.循环控制
continue:遇执行此语句之后循环体后面的代码不执行,直接跳到下一次循环
break。
16.方法
指的是被重复调用的代码块。定义形式:
无参数无返回值定义
有参数无返回值
有参数有返回值
当void,即无返回值时,return的用法
17.方法重载
方法名称相同,参数的类型或个数不同。
范例:实现方法重载,将根据参数的类型和个数的不同执行不同的方法体
在进行方法重载时,要求返回值类型一定要相同。
上图证明System.out.printfln是一个被重载的方法
18.方法的递归调用
范例:求1~100累加
范例:60!
使用递归主要是一个方法可以执行的操作很多,而且结构要好。递归是数据结构的第一步。
题外话:
1.我想的永远比我做的那个要好,所以没有什么成就感。
VS
你远比你想的更强大。