环境基础
JDK配置是一个程序员工作的基础,JDK包括JRE【JVM虚拟机+核心类库(util、lang....)】和开发工具包【SLF4J/Log4j、JUnit...】。
JDK版本也有很多种,现在用的最多的版本是1.7和1.8;具体配置如下:
-
下载对应版本的JDKOrecle官网下载,解压到一个路径没有汉字或空格的路径中;
-
在“我的电脑”——“属性”——“高级系统设置”——“环境变量”中设置:
i. 设置系统变量“JAVA_HOME”,变量值为JDK的安装路径;
ii. 设置用户变量“CLASSPATH”,变量值为
“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”;
iii. 在用户变量的“Path”中添加
“%JAVA_HOME%\bin”、“%JAVA_HOME%\jre\bin”; -
进入JDK的bin目录,执行“java”即可; (4)检验:最简单的检验就是去命令提示符窗口,输入“java -version”命令,如果返回JDK的版本即为配置成功。
还有一种方法,用Eclipse或者IDEA测试代码是否可以正常运行。
注意各版本JDK变化及新特性。
常用基础
java编程常用的快捷键: https://www.cnblogs.com/alloevil/p/5939632.html
1. 命名基础
只能包含各国常见字母、数字、“_”下划线字符和“$”字符;且数字不能开头,严格区分大小写,不能使用53个关键字;
- 类名/接口名:如果由多个单词组成,要求每一个单词的首字母大写 — PlayBasketball,Demo
- 变量名/方法名:如果由多个单词组成,第一个单词的首字母小写,其余单词的首字母大写 — playBasketball,work,toString等;
- 常量名:所有单词全部大写,每一个单词之间用_隔开 — PLAY_BASKETBALL ,SAM,NULL
- 包名:所有单词全部小写,每一层包之间用.隔开 — cn.tedu
2.运算符:
-
算数运算符:+ - * / % ++ – +=
注意数字“++”和“–”的先运算还是先赋值的问题;
及显性隐性类型转换问题~ -
关系运算符:== != > >= < <=
-
逻辑运算符:&& || ! ^ & |
注意短路问题 -
位运算符:& | ~ ^ >> << >>>
注意数字的原反补码 -
三元运算符:<表达式1> ?<表达式2> : <表达式3>
先计算<表达式1>的值,
当<表达式1>的值为true时,则将<表达式2>的值作为整个表达式的值;
当<表达式1>的值为false时,则将<表达式3>的值作为整个表达式的值。
3.判断语句:
if判断:
`if(判断语句){
- }else{
- }`
switch判断:
switch(变量){
case 1:语句1;break;
case 2:语句2;break;
}
注意:
一般来说每一个case里都需要对语句或返回的变量初始化,
后面还需要加上一个break终止判断,不然后面的case都会执行。
4.循环语句:
for循环、while循环、do…while循环
-
for循环语句格式:
for( 初始化语句;判断条件语句;控制条件语句 ) { 循环体语句; }
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续 -
while循环语句格式:
while(判断条件语句) { 循环体语句; }
while循环和for循环可以等价转换,但还是有些小区别的:
- for循环适合针对一个范围判断进行操作
- while循环适合判断次数不明确操作
-
do…while循环语句格式:
do { 循环体语句; }while(判 断条件语句);
循环体先执行一次,再进行循环条件判断
Java提供了break,continue和return来实现控制语句的跳转和中断。
5.数据输入输出
- 输入:new Scanner(System.in).next(); next可以加类型如nextInt()
Math.random(); 【随机输出0-1 】 new Random().next();
记住,只要一读取键盘录入,就用:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
- 输出:System.out.print();
- 导入文件数据:
https://www.cnblogs.com/sebastian-tyd/p/7895182.html - web编程数据读取:https://www.jb51.net/article/136564.htm
6.Java常用的8种排序方法:
- 时间复杂度:程序核心代码执行的次数
- 空间复杂度:程序运行过程中占用的额外内存空间
- 冒泡排序:
a) 规则:相邻元素两两比较,大的往后排,一次比较,结束,最大值出现;
b) 多次比较可以把数组按顺序排列,即嵌套一层循环。 - 选择排序:
用选择排序对数组所有元素进行排序,依次选出剩下的的最大或最小值放到前面;即直接选出最值放在对应位置。 - 插入排序:
通过构建有序序列,将未排序数据,在已排序序列中比较插入到对应位置。 - 具体详见大佬:
https://blog.csdn.net/qy1387/article/details/7752973 - 百度图解大法:
https://jingyan.baidu.com/article/db55b609f856604ba30a2f18.html