java基础语法
一、标识符和关键字
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等。
在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。
运算符 |
运算规则 |
范例 |
结果 |
& |
与 |
false&true |
False 只要其中一个false就是false |
| |
或 |
false|true |
True 只要有一个是true就是true |
^ |
异或 |
true^flase |
True 两边不一样就是true 一样就是false |
! |
非 |
!true |
Flase |
&& |
短路与 |
false&&true |
False 当左边是false时,就不判断右边了 |
|| |
短路或 |
false||true |
True 当左边是true时,就不判断右边了 |
总结:
& 两边只要有一个flase那么结果就是false;
| 两边只要有一个true那么结果就是true;
^ 两边结果不一样时结果为true,两边结果一样时结果为false;
! 取反结果;
&& 左边只要是false那么结果就是false,不在判断后面;
|| 左边只要是true那么结果就是true,不在判断后面;
注意事项:
①逻辑运算符通常连接两个其他表达式计算后的布尔值结果
②使短路与或者短路或时,只要能判断出结果则后边的部分就不再判断。