一、标识符和关键字
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等。
在Java中标识符的定义格式由字母、数字、_(下划线),$所组成,其中不能重复,不能以数字开头,不能是Java中的关键字,而且每一个标识符都要有自己的意义。
如StudentName,表示的是学生姓名。
注意:标识符区分大小写。
在定义标识符时是有大小写区别存在的,如ORACLE,oracle,ORAcle等,虽然表示的单词一样,但都属于不同的标识符。
引申:
JAVA中的关键字:
二、变量
1、定义:
变量是一个内存中的小盒子(小容器),容器是什么?
生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。
那么变量是装载什么的呢?答案是数据!
结论:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。
2、基本类型:
JAVA作为强类型语言,变量必须要有明确的类型,什么类型的变量装载什么类型的数据。
Java中基本类型一共4类,把这4类展开后共8种基本类型。
3、定义变量(创建变量)
定义变量的语法格式:
数据类型 变量名 = 数据值;
int a = 100;
实例:
class Demo03
{
public static void main(String[] args)
{
int a=100;
float b=2.14f;
double c=5.5;
char d='家';
boolean e=true;
String f="我爱JAVA";
System.out.println(a+"..."+b+"..."+c+"..."+d+"..."+e+"...";
}
}
4、变量使用的注意事项
我们使用变量的时候需要注意,要满足变量的使用规则才可以使用的。
1)、变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
public static void main(String[] args) {
int x;
x = 20; //为x赋值20
System.out.println(x);//读取x变量中的值,再打印
}
2)、变量使用时有作用域的限制。
public static void main(String[] args) {
int x = 20;
{
int y = 20;
}
System.out.println(x);//读取x变量中的值,再打印
System.out.println(y);//读取y变量中的值失败,失败原因,找不到y变量,因为超出了y变量作用范围,所以不能使用y变量
}
3)、变量不可以重复定义。
public static void main(String[] args){
int x = 10;
double x = 5.5;//编译失败,变量重复定义
}
5、数据类型转换
范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte);
数据类型按照数据范围从小到大依次为:
byte -> short -> int -> long -> float -> double
1)自动类型转换
表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
例:
double d = 1000;
或
int i = 100;
double d2 = i;
2)强制类型转换
表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
例:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
三、运算符
1、算术运算符
注意:
1、加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
2、除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
3、“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
4、 整数做被除数,0不能做除数,否则报错。
/*
* 算术运算符
*/
public class OperatorDemo1 {
public static void main(String[] args) {
/*
* 常量使用算数运算符
*/
System.out.println(10+20); /*
* 变量使用算数运算符
*/
int x = 10;
int y = 20;
//"+"作为加法运算使用
int z = x + y;
//"+"作为连接字符串使用
System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("z="+z);
}
}
算术运算负++、--的使用注意事项:
在一般情况下,算数运算符不会改变参与计算的变量值。而是在原有变量值不变的情况下,计算出新的值。
但是有些操作符会改变参与计算的变量的值,比如++,--。
①
int a = 3;
int b = 3;
a++;
b--;
System.out.println(a);
System.out.println(b);
上面代码的输出结果a值为4,b值为2;
这说明a的原有值发生了改变,在原有值的基础上自增1;b的原有值也发生了改变,在原有值的基础上自减1;
1)++运算符,会在原有值的基础上自增1;
2)--运算符,会在原有值的基础上自减1。
②
int a = 3;
int b = 3;
++a;
--b;
System.out.println(a);
System.out.println(b);
上面代码的输出结果a值为4,b值为2;
这说明++,--运算符单独使用,不参与运算操作时,运算符前后位置导致的运算结果是一致的。
参与运算时的++,--情况:
①
int a = 3;
int b;
b = a++ + 10;
System.out.println(a);
System.out.println(b);
上面代码的输出结果a值为4,b值为13;
这里强调一下,当++,--运算符参与运算操作时,后置++,--的作用:
++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
②
再介绍下++,--运算符前置时,参与运算操作的变化,我们来看一段代码:
int a = 3;
int b;
b = ++a + 10;
System.out.println(a);
System.out.println(b);
上面代码的输出结果a值为4,b值为14;
这里我强调一下,当++,--运算符参与运算操作时,前置++,--的作用:
++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
2、赋值运算符
注意:
诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
实例:
/*
* 赋值运算符
* +=, -=, *=, /=, %= :
* 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
* 注意:赋值运算符左边必须是变量
*/
public class OperatorDemo2 {
public static void main(String[] args) {
byte x = 10;
x += 20;// 相当于 x = (byte)(x+20);
System.out.println(x);
}
}
3、比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。
注意:
赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
①赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
②比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。
实例:
int a = 3;
int b = 4;
System.out.println( a=b );
System.out.println( a==b );
上面代码输出的结果第一个值为4,第二个值为true。
4、逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。
总结:
& 两边只要有一个flase那么结果就是false;
| 两边只要有一个true那么结果就是true;
^ 两边结果不一样时结果为true,两边结果一样时结果为false;
! 取反结果;
&& 左边只要是false那么结果就是false,不在判断后面;
|| 左边只要是true那么结果就是true,不在判断后面;
注意事项:
①逻辑运算符通常连接两个其他表达式计算后的布尔值结果
②当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。
5、三元运算符
表达式:
(条件表达式)?表达式1:表达式2;//正确走1,错误走2
注:运算规则
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
6、运算符优先级