一、标识符
凡是自己明明的地方都叫标识符。例如:包名,类名,接口名,方法名,变量名,常量名
1、命名的规则
①只能有字母a-z A-Z 数字0-9 特殊字符 “-”下划线和美元符
②数字不能开头
③名字之下不能有空格
④不能使用关键字和保留字,但是无长度限制
⑤java严格区分大小写,但是无长度限制
2、命名的规范()
①包名:所有字母都小写 如xxxyyyzzz
②类名、接口名:若有多个单词组成,每个单词首字母都大写。 如:XxxYyy
③方法名、变量名:如有多个单词组成,第一个单词首字母小写,其余单词首字母大写。 如:xxxYyyZzz
④常量名:所有字母都大写,每个单词之间以_下划线隔开。如:xxx_yyy_zzz
二、变量
保存数据
1、变量的格式
数据类型 变量名 = 值;
如 int var = 10;
//声明一个变量
int var;
//为变量赋值
var = 10;
2、变量的概念
①在内存中开辟一块内存空间
②该空间有类型(数据类型)有名称(变量名)
③变量可以在指定的范围内不断地变化
3、变量的注意
①在用一个作用范围内变量名不能重复
②作用域:变量作用在所属的那对大括号内
③局部变量在使用前必须赋值
④先声明,后使用
三、进制之间的转换
四、变量的数据类型
1、基本的数据类型
整型:byte(8位) short(16位) int(32位)-默认类型 long(64位)
浮点型:float(32位) double(64位)-默认类型
字符型:char(16位-2个字节)
布尔型:boolean
2、引用数据类型
|--类(class)--------------------String
|--接口(interface)
|--数组([])
3、声明变量的类型
①声明 long 型变量,值后必须加 L 或 l。eg:long l1 = 123L;
②声明 float 型变量,值后必须加 F 或 f。eg:float f1= 2345F;
③声明 double 型变量,值后可以加D或d。
④声明 char 型变量,值必须使用单引号 char型变量只能存单个字符
char 型变量使用 Unicode 编码存储(ASCII、中文、日文、特殊字符)
eg:
char c1 = 'A';
char c2 = '中';
⑤声明 String 型变量,值必须使用双引号, eg:String str = "我是帅哥";
五、数据类型之间的转换
自动转换类型(自动升级)
小容量转大容量,系统自动完成
如:
byte b = 124;
int i = b;//自动转换类型
①byte short char----->int----->long---->float----->double
②byte short char 三者之间不做运算,若运算都将提升成 int 再做运算。
③boolean 不参与运算
④任何基本的数据类型与 String 使用连接符 + ,都将自动串成 String。
强制类型转换
大容量转小容量,需要使用强转符“(需要转换的类型)”,可能损失精度
eg:
int a = 130;
byte b = (byte)a;
六、运算符
算术运算符
+ - + - * / % (前)++ (后)++ (前)-- (后)-- +(连接符)
//除法
System.out.println(1234/1000 * 1000);//1000
//取模(求余数)
System.out.println(10 % 5);
// ++运算符
int a = 10;
//前++
System.out.println(++a);//11
//后++
System.out.println(a++);//12
【面试题】
int a = 10;
a=a++;
System.out.println(a);//10
赋值运算符
= += -= /= *= %=
int a = 10;
a += 10;// a= a + 10;
【面试题】
short s = 1;
s = s + 1;//编译出错 NO
s +=1; // s = (short)(s + 1) 编译? YES
比较运算符(关系运算符)
比较运算符运算结果都为 boolean
== != < > >= <=
int a = 10;
int b = 20;
boolean boo = a == b;//结果为false
逻辑运算符
&& (短路与) ||(短路或) !(逻辑非) &(逻辑与) |(逻辑或) ^(逻辑异或)
//需求:判断一个数是不是大于10小于20
int a = 10;
//错误的做法
//boolean boo = 10 < a < 20;
//逻辑运算符
boolean boo = a > 10 && a++ <20;
System.out.println(a);//10
【面试题】 &&和&的区别
&&:短路与,当左边表达式结果为false时,右边表达式将不再计算
&:是位运算符,当用于逻辑运算时,无论左边表达式结果为true还是false,右边都计算
|| 和 | 的区别
位运算符
~ & | ^ << >> >>> 注意:没有 <<<
三元运算符(三目运算符)
格式:
条件表达式 ? 表达式 1 : 表达式 2;
①条件表达式结果为true时,执行表达式 1 ,否则执行表达式 2.
②表达式 1 与表达式 2 结果的类型需要保持一致