Java基础
建立空项目并配置
- 创建空项目
- Module选择Java
- 配置JDK,选择1.8(选你们安装好的JDK版本)
注释
注释很很重要!!!
- 单行注释://注释
- 多行注释:/* 注释 */
- 文档注释:/** 注释 */
更改注释颜色
标识符
- 关键字
- 类名、变量名以及方法名都被成为标识符
标识符注意点
- 以字母(A-Z或者a-z)、美元符($)、下划线(_)开头
- 首字符后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)、数字组合
- 不用使用关键字作为变量名或者方法名
- 标识符对大小写敏感的
- 合法标识符举例:age、$age、_age、__1age
- 非法标识符举例:123age、-age、#age
- 可以中文名命名,但是不建议,不规范
数据类型
强类型语言
变量需要定义后才可以使用
弱类型语言
Java的数据类型分为两大类
- 基本类型
- 整数型:byte、short、int、long(值后面要加L)
- 浮点型:float(值后面要加F)、double
- 字符型:char
- 布尔型:boolean
- 引用类型
- 类
- 接口
- 数组
整数扩展:
二进制0b 十进制 八进制0 十六进制0x
int i1 = 10; //十进制,10
int i2 = 010; //八进制,8
int i3 =0x10; //十六进制,16
浮点数扩展:
最好完全避免使用浮点数比较,浮点数是有限、离散、舍入误差、大约、接近但不等于
字符扩展:
所有字符本质还是数字,根据编码 Unicode 表:(97 = a 65 = A)
转义符:
\t制表符 \n换行符 …
类型转换
低———————————————————————>高
byte , short , char —> int —> long —> float —> double
- 强制转换:变量前使用 (类型)
- 自动转换:由低—>到高
注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 高转低的时候为强制转换
- 转换的时候可以出现内存溢出或精度问题
扩展:
- JDK7新特性,数字之间可以用下划线分割,例如 10_0000_0000
- 溢出问题:可能在转换之前,数值已经溢出,需要在数值计算之前就完成转换。
变量
例如:int a = 1;
作用域
- 类变量:关键字为 static
- 实例变量
- 局部变量
常量
特殊的变量,一旦设定了初始值就不可以再更改,关键字为 final,例如 final double PI = 3.14,常量名一般为大写
变量的命名规范
- 所有变量、方法、类名:见名如意
- 类成员变量:首字母小写和驼峰原则,例如 monthSalary
- 局部变量:首字母小写和驼峰原则
- 方法名:首字母小写和驼峰原则, 例如 add()
- 类名:首字母大写和驼峰原则,例如 GoodMan
- 常量:大写字母和下划线,例如 MAX_VALUE
运算符
- 算术运算符:+ , - , * , / , % (取余), ++(自增) , –(自减)
- 赋值运算符:=
- 关系运算符:> , < , >= , <= , == , !=(不等于)
- 逻辑运算符:&&(与) , ||(或) , !(非)
- 位运算符:&(与) , |(或) , ^(异或) , ~ , >>(右移) , << (左移) , >>>
- 条件运算符:? :
- 扩展赋值运算符:+= , -= , *= , /=
扩展:
- 短路运算:例如
int c = 5; boolean d = (c<4)&&(c++<4) System.out.print(c);//c依然还是5
前面 c<4 就已经是 false,不会执行 c++<4 这部分,自然c还是5
- 位运算:效率高, >>(右移) 即为/2 , << (左移) 即为 *2
- 三元运算符:
//x ? y : z; // 如果x==true,则结果为y,否则结果为z int score = 80; String type = sorce < 60 ? "不及格":"及格"; System.out.print(c);//及格
包机制
包命名一般为公司域名倒置,例如:com.baidu.www
//package 必须在 import 上面
package pkg1.pkg2.pkg3;
//使用别的包的类
import pkg4.pkg5.pkg6;
//导入某个包的所有类,*
import pkg4.pkg5.*;