一、标识符

凡是自己明明的地方都叫标识符。例如:包名,类名,接口名,方法名,变量名,常量名

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 结果的类型需要保持一致