1、标识符
字母、数字、下划线、美元符号的任意组合
注:
- ? 不能以数字开始
- ? 不能是java的关键字
- ? java区分大小写
作用: 赋给类、方法或变量等取名字
书写规范:
- ? 类名首字母大写以及遵循驼峰原则
- ? 常量大写字母和下划线
- ? 其余都要首字母小写和驼峰原则(变量、方法)
2、关键字
? 编译器有提示
? 例: for、if、publice、static等
3、变量和常量
3.1 变量
? 在进行计算时,用来存放数据、接收数据
? 实际上就是一个带名字的存储空间
3.1.1 变量的语法规则:
数据类型 + 变量名 = 变量值 {作用域}
3.1.2 数据类型:
? java是一种强数据类型的语言,所以每个变量必须有明确的数据类型
3.1.3 作用域:
? 分为全局变量 和 局部变量
? 全局变量: 直接定义在类体中,在当前类中的任意位置都可以直接使用
? 局部变量: 定义在局部代码中(方法中、流程控制语句中)——只能在当前代码段中生效
? 局部变量使用的注意事项:
? (1)局部变量如果没有初始化赋值,不能用于计算
? (2)在同一作用域中,不能出现重复的同名变量
3.2 常量
? 不可改变的量,一般我们使用常量来定义一些状态值
? 需要在变量前加final关键字,来声明一个常量
final int STATE_NORMAL = 0;
4、java中的八大基本数据类型
4.1 复合数据类型
? 数组、枚举、自定义类型
4.2 基本数据类型
? 整数、小数、布尔值、字符
4.2.1 整型
? int(常用)、byte、short、long(L)
? 注: 用long的时候,建议在数值数据后加L
4.2.2 小数(浮点数)
? float、double(常用)
? 区别: 在于精度不同——保留的小数位不同
? 注: (1)float在使用时,数值后面要加f
? (2) 浮点数不能用于需要精确计算的场合(比如:涉及金钱计算)
4.2.3 布尔值
? true/flase
4.2.4 字符类型
? char 指单个字符,如’A’ ‘B’ ‘1’ ‘您’
? 注: 实际开发过程中使用最多的是字符串
? String的底层是由char编写的
String str = "xialu123";
char str1 = "A";
char str2 = 97;
? 注: 单个字符用单引号,字符串用双引号 char c = ‘A’ ; String str1 = “abcd”;
5、运算符
5.1 常见运算符及其使用
? 注:
? (1)java中,计算表达式的结果需要变量来接收,否则编译报错
? (2)两个整数相除,不管结果如何,得到的还是一个整数(结果不会四舍五入)
5.1.1 一元运算符:
? ++ –
? 前++: 先自加,后将值赋给变量
? 后++: 先将值赋给变量,后自加
? 前 - -: 先自减,后将值赋给变量
? 后 - -: 先将值赋给变量,后自减
5.1.2 赋值运算符
int x,y;
x = y = 10;
5.1.3 复合赋值运算符
? += -= /= *= %=
5.1.4 关系运算符
? > < = >= <= ==
结果为boolean类型(true/flase)
注: 字符比较要用equals()方法
public static void main(String[] args) {
String password_db = "123456";
Scanner scanner = new Scanner(System.in);
String password = scanner.nextLine();
if (password.equals(password_db)) {
System.out.println("密码正确");
} else {
System.out.println("密码错误");
}
scanner.close();
}
拓展: scanner工具类 nextXXX() 从键盘获取各种类型数据
? 例:nextInt() 获取整型
? nextLine() 获取字符串
5.1.5 逻辑运算符
? & | && || !
? &:与 |:或 ——这&和|,两边都要运算
? &&:逻辑与 ||:逻辑或 ——这&&,左边不成立,右边就不用算了;这||,左边为true,右边就不用算了
这& |与&& ||区别是运算效率问题
5.1.6 三目运算符
格式:布尔运算 ?值1 :值2
int result = a > b ? a : b;
int result = a % b == 0 ? a/b : a*b;
5.2 运算符的优先级问题
注: &&(与) 比 ||(或) 优先级高
5.3数据类型转换
5.3.1 自动转换(小—>大)
? 又称隐式转换
注:
-
不用书写代码,有系统自动完成的类型转换 —— 但是byte,short,char这三者,不管怎么组合运算得到的都是int类型 -
String类型可与任何数据类型进行+运算,只不过此时其他类型都先转成字符串,然后进行拼接操作 String str=“28”;
int x=28 ;
String s=str+x;
-
布尔类型和其他类型不能相互转换 -
复合赋值运算符也会进行自动转换
short s=10;
s=s+1;
short s1=10;
s1+=1;
5.3.2 强制转换(大—>小)
? 又称显示转换
格式: int x=10; short y = (short) x
注:也不是什么时候都可以实现任意转换的(使用不当,可能会出现一些问题)
? 1、转换前的数据类型与转换后的数据类型兼容
String str = "1";
int x = (int)str;
? 2、浮点数强转整型会造成精度丢失
double d = 12.4;
int i = (int)d;
? 3、大—>小,可能会造成数据溢出
int x = 130;
byte b = (byte)x;
6、工作空间
? eclipse: 统一将多个项目存放在同一个文件夹,进行项目的统一管理
? idea : idea中时提倡一个项目就是一个工作空间,然后一个项目下面有多个模块
?
7、注释
7.1 文档注释 /***/
? 注释再类、方法上,解释该类或方法是做什么的
? 可以通过java Doc命令生成对应的api文档手册
注:
- ? 类上的文档注释: 要有作者、创建时间、类是做什么的
- ? 方法上的文档注释: 要解释方法是做什么的、参数的含义、会发挥哪些数据类型
7.2 文本注释
/ * 多行 * / //单行
? 写给自己或看源码的人,放在代码块上
?
|