申明:
内容来源于老师的课堂笔记,这只是我的整理以及一些额外补充。
一、入门:
了解点:
1、Java技术的三大版本:J2SE/JavaSE(Java基础)、J2EE/JavaEE(企业级应用、web开发)、J2ME/JavaME(嵌入式的小应用程序)
2、JDK:Java Development Kit
JRE:Java Runtime Environment
JVM:Java Virtual Machine
JDK包含JRE以及其他工具和引用库(library),JRE包含JVM及JavaSE的API
3、使用cmd编译运行Java程序
1).java文件经过javac命令编译后得到.class文件(javac可列举多个文件或目录进行编译)
2)说明Java以类为单位运行
3)查看语言环境,cmd默认的编码格式是GBK,而Java是UTF-8,可通过chcp命令修改。
二、语法基础:
了解点:
1、package命名规则,一般是域名反写且全部小写
2、jar包是按Java要求进行压缩的class字节码文件,导入到lib下使用(Bulid Path)
掌握点:
1、标识符命名规则:由数字、字母、下划线(_)、$符号组成,数字不能开头,不能使用关键字
2、将汉字和main作为标识符,合法但是有病
3、标识符命名习惯,要求望文生义、类名首字母大写、变量前两个字母不能大写
4、八种基本数据类型:
1)整数型:byte(1个字节,8位)、short(2个字节,16位)、int(4个字节,32位)(默认)、long(8个字节,64位)
2)浮点型:float(4个字节,32位)、double(8个字节,64位)(默认)
因为整型和浮点数的表达方式不同(计算机组成原理),某些小数在内存中不能完全的使用二进制来表示,所以会造成精度丢失的问题。(可以用BigDecimal类解决这样的问题)
3)布尔型:boolean(TRUE or FALSE)(1 或 0)
4)字符型:char(2个字节,16位)
java中的字符采用Unicode编码表示,可以存储一个汉字,单个字符用单引号表示,如:'a','人','\u0032'。
注意转义字符 \ 的使用。
5、类型转换和强制类型转换(小转大可以直接转,需要大转小则使用强制转换)
自动类型提升:整个表达式的结果会自动提升为表达式中最“大”的类型。(JVM中大部分字节码指令不支持byte、short、char、boolean类型)
6、局部变量,注意作用域和命名冲突。(先赋值后使用)
7、运算符(注意优先级)
1)算数运算符(+,-,*,/,%)
2)比较运算符(>,>=,<,<=,instanceof)
instanceof是返回布尔值,用来判断是否是特定类或是特定类子类的实例。
result = object instance of class;
//object 对象表达式;class 已定义的对象类
3)相等运算符(==,!=,!)
4)赋值运算符(=,*=,/=,%=,+=,-=,<<=,>>=,&=,^=,|=)
5)位运算(&,|,^,~)(^异或,~取反)
6)移位运算(带符号左右移>>,<<)(无符号左移>>>)
7)逻辑运算(&,|,&&,||)(与,或,短路与或)
8)三目运算符(表达式1?表达式2:表达式3;)
9)自增自减(++,--)
a++先return后自增,++a先自增后return
8、String
注意char,int,String在字符串连接(+)时的类型于值的转换
三、流程控制
了解点:
1、Java程序执行是顺序结构,从上往下执行
掌握点:
1、if语句
无须赘述。可以和三目运算符进行互换。
2、swtich…case语句
case后是常量表达式。注意break和default的使用。(没有break还会依次顺序执行)
3、循环三要素:初始值,循环条件(结束条件),迭代条件(值的变化)
4、for循环(一般知道循环次数)
5、while循环(一般不知道循环次数,条件满足就执行)
6、do…while循环(和while是迭代条件顺序不同的区别,至少执行一遍)
7、break,continue关键字(结束当前循环,结束本次循环)
8、嵌套循环(注意算法复杂度)
四、函数
了解点:
1、由访问修饰符、关键字、返回值类型、方法名、参数、异常、继承、函数体等组成
2、实参、形参
3、return关键字后是不可达语句
4、函数的嵌套使用
掌握点:
1、从语法结构理解:把一段能够独立完成某个功能的代码放在一起,并命名;从开发角度理解:可以提高代码的复用/重用性,便于维护
2、函数的递归调用(需设置循环终止条件)