互联网包括因特网 因特网包括万维网
BS:
windows下是不区分大小写的 java是严格区分大小写的
javadoc解析的类,在类上要加一个public
多行注释中不可以嵌套使用的
javadoc -d myHello -author -version HelloJava.java
myHello:为文档注释取的名 HelloJava.java:为此文件生成javadoc文件
public static void main(String[] args)
args 变量名可变 可改成a
String[] args 括号顺序可变,括号放args后面String args[]
编译的过程:编译以后,会生成一个或多个字节码文件,字节码文件的文件名与java源文件中的类名相同(因为一个文件中有public class的类 也有class的类)
项目一:讲完流程控制后,即第二章结束后,可以做
项目二:讲完第四章面向对象(上),可以做
项目三:讲完第七章异常处理后,可以做5
第二章概要笔记:
1.关键字:关键字中所有字母都为小写 官方文档说:true false null 都是表示值的 但可以认为是关键字的 即严格意义上不算关键字 但是又在当关键字来用
2.进制与进制之间的转换
3.保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 像 goto 和 const
4.标识符:凡是能够取名字的地方都叫表示符 比如类名、变量名、方法名、接口名、报名
5.写标识符时,在起名字时,为了提高阅读性,要尽量有意义,“见名之意”。 注意:java采用unicode字符集,因此标识符也可以使用汉字声明,“但是不建议使用”
6.变量:变量就是能写入内存的数据。 ① 变量必须先声明,后使用 ②变量都定义在其作用域内。在作用域内,它是有效的。换句话说,出了作用域,就失效了
7.变量的分类:① 字符串:其是一个类类型 即引用类型
8.字符:定义char型变量,通常使用一对'',内部只能写一个字符。像'AB'是不行的,只能写成'A'或'B'."里面有且仅能放一个,多一个或者杀一个都不行”
通常(对于char):
9.“计算机底层都是以补码的方式来存储数据”
10.short += 2;不会改变变量本身的数据类型
11.比较运算符的结果不是true就是false
12.开发中推荐使用&& 和 短路 ||
13.位运算符看得懂是啥意思,因为有时候源码中会用到。“位运算是直接对整数的二进制进行计算”,对正数和负数都可以用位运算符进行位运算操作
14. & | ^ 三种运算符的左右两边如果都是boolean值,那么该运算符为“逻辑运算符”;左右两边如果都是数值,那么该运算符为“位运算符”。
15. << >> >>> :<<表示左移,空位补0,移除的高位丢弃,空缺位补0; >>表示右移,如果最高位的是0,那么空缺位补0,若最高位是1,那么空缺位补1;
>>>无符号右移,被移位二进制最高位不管是0或1,空缺位都“用0”来补,这个在hashmap的源码中求hash值的时候有用到
16. 三目运算符:(条件表达式)?表达式1:表达式2;① 表达式1 与 表达式2的最终结果要一致,例表达式1为double型,表达式2位int型,最终类型用double进行接收;
例表达式1位String类型,表达式2为int类型,这样是不允许的,因为最终结果类型无法选择;但表达式1和表达式2都为String类型,那么最终结果类型也为String类型
17.三目运算符一定可以改写成if-else;反之,if-else不可以改写成三目运算符;如果程序既可以使用三元运算符又可以使用if-else,那么优先使用三元运算符,原因:简洁、效率高
18.运算符优先级:记住2个规则:①想要谁早运算,就在那里加上小括号就可以了;②不会把很多运算符用于一行中进行展示,其可读性极差
19.对于char型的获取,Scanner没有提供相关的方法,只能通过获取一个字符串来获得
20.获取 [a,b]范围内的随机数公式:(int)(Math.random()*(b - a + 1)+ a)
21.switch结构中的表达式,只能是如下的6种数据类型之一:
byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
22.switch语句的case后面只能声明“常量”,不能声明范围;break关键字是可选的。default相当于if-else中的else,该结构是可选的,而且位置是灵活的
23.switch-case结构中的多个case的执行语句相同,则可以考虑进行合并
24.凡是可以使用switch-case的结构,都可以转换为if-else,【反之,不成立】;我们写分支结构时,当发现既可以使用switch-case(同时,switch中表达式的取值情况不太多),又可以
使用if-else时,我们优先选择使用switch-case。原因:switch-case执行效率稍高
25.while循环结构:说明:① 写while循环时千万小心不要丢了迭代条件。一旦丢了,就能导致死循环。 ② 我们写程序,要避免出现死循环。 ③ for循环和while循环是可以相互转换的
区别:for循环和while循环的初始条件部分的作用范围不同
26.do-while循环结构:① do-while循环至少会执行一次循环。 ② 开发中,使用for和while更多一些。较少使用 do-while
27.不在循环条件部分限制次数的结构:for(;;) 或 while(true)。结束循环有几种方式:① 循环条件部分返回false ② 在循环体中,执行break
28.break和continue关键字:它俩的后面都不能声明执行语句,编译会不通过
29.return的使用:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将结束。与break和continue不同的是,“return直接结束整个方法”
不管这个return处于多少层循环之内
30.