高质量的代码:
复用性好、扩展性好、维护性好、
可移植性好、健壮性好、可读性好、效率好…
1.Java开发环境:
1)编译运行过程:
1.1)编译期:.java源文件,经过编译,生成.class字节码文件
1.2)运行期:JVM加载.class并运行.class
特点:跨平台、一次编程到处使用
2)名词解释:
2.1)JVM:java虚拟机
加载.class并运行.class
2.2)JRE:java运行环境
除了包含JVM以外还包含了运行java程序所必须的环境
JRE = JVM+java系统类库(小零件)
2.3)JDK:java开发工具包
除了包含JRE以外还包含了开发java程序所必须的命令工具
JDK = JRE+编译、运行等命令工具
说明:
1)运行java程序的最小环境是JRE
2)开发java程序的最小环境是JDK
3)配置环境变量
3.1)JAVA_HOME:指向jdk的安装路径
3.2)CLASSPATH:表示类的搜索路径,一般简写为.
3.3)PATH:指向jdk下的bin目录
2.变量:存数的,代词,指代的就是它所存的那个数
1)声明:
2)初始化:第一次赋值
3)使用:
1)对变量的使用就是对它所存的那个数的使用
2)变量的使用必须与数据类型匹配
3)变量在用之前必须声明并初始化
4)命名:
4.1)只能包含字母、数字、_和$符,并且不能以数字开头
4.2)严格区分大小写
4.3)不能使用关键字
4.4)可以中文命名,但不建议
建议”英文的见名知意”、”驼峰命名法”
3.基本数据类型:
1)int:整型,4个字节,-21个多亿到21个多亿
1.1)整数直接量默认为int类型,但不能超范围,超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
1.3)整数运算时若超出范围会发生溢出,溢出是需要避免的
2)long:长整型,8个字节,很大很大很大
2.1)长整型的直接量,需在数字后加L或l
2.2)运算时若有可能溢出,建议在第1个数字后加L
2.3)System.currentTimeMillis() 用于获取
自 1970.1.1零时到此时此刻的毫秒数
3)double:浮点型,8个字节,很大很大很大
3.1)浮点数直接量默认为double型,若想表示float需在数字后加F或f
3.2)double和float型数据参与运算时,有可能会出现舍入误差
4)boolean:布尔型,1个字节
4.1)只能取值为true或false
5)char:字符型,2个字节
5.1)采用Unicode字符集编码,每个字符对应一个码
表现的形式是字符char,但本质上是码int(0到65535之间)
(ASCII码: ‘a’–97 ‘A’–65 ‘0’–48)
5.2)字符型直接量必须放在单引号中,只能有一个
5.3)特殊符号需要通过\来转义
4.基本数据类型间的转换:
1 | 数据类型从小到大依次为: |
1)两种方式:
1.1)自动类型转换:小类型到大类型
1.2)强制类型转换:大类型到小类型
语法: (要转换成为的数据类型)变量
强转有可能会发生溢出或精度的丢失
2)两点规则:
2.1)整数直接量可以直接赋值给byte、short、char,
但不能超出范围
2.2)byte、short、char型数据参与运算时,
先一律转换为int再运算
5.运算符:
1)算术运算符:+, -, *, /, %, ++, –
2)关系运算符:>, <, >=, <=, ==, != boolean
3)逻辑运算符:&&, ||, ! boolean
4)赋值运算符:=, +=, -=, *=, /=, %=
5)字符串连接运算符:+
6)三目/条件运算符: boolean?数1:数2
6.分支结构:基于条件的执行
1)if结构:1条路
2)if…else结构:2条路
3)if…else if结构:多条路
4)switch…case结构:多条路
优点:效率高、结构清晰
缺点:整数、相等
break:跳出switch