**java语法基础总汇**
1,关键字:
其实就是某种语言赋予了特殊含义的单词。
特点:体现上都是英文小写,随着时间的积累慢慢的会记住每一个关键字
保留字 Java保留字是指现有Java版本尚未使用但以后版本可能会作为关键字使用。goto、const等
2,标示符:
其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
注意:
1),数字不可以开头。
2),不可以使用关键字。
3,常量:
是在程序中的不会变化的数据。
4,变量:
其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?
1,这个空间要存储什么数据?数据类型。
2,这个空间叫什么名字啊?变量名称。
3,这个空间的第一次的数据是什么? 变量的初始化值。
定义变量的格式:数据类型 变量名 =初始化值;
变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;
Java程序中,整数默认:int 小数默认:double
类型的自动提升:
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。如:
byte b = 3 ; int c;
c= b + 2; //b会自动提升为int类型进行运算。
强制类型转换,也叫做显示类型转换:
当程序中,数据类型需要变换时,可以进行强制转换。如:
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
数据类型:
1):基本数据类型:byte、short、int、long、float、double、char、boolean
![这里写图片描述](https://img-blog.csdn.net/20150729161245957)
2):引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用? 把一个高级别的数赋给一个别该数的级别低的变量;
运算符号:
1)、算术运算符。
+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
+:连接符。
++,-- 自增、自减。
2)、赋值运算符。
= += -= *= /= %=
3)、比较运算符。
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
4)、逻辑运算符。
& | ^ ! && ||
逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。
&: 只有两边都为true结果是true。否则就是false。
|:只要两边都为false结果是false,否则就是true
^:异或:和或有点不一样。
两边结果一样,就为false。
两边结果不一样,就为true.
& 和 &&区别: & :无论左边结果是什么,右边都参与运算。
&&:短路与,如果左边为false,那么右边不参数与运算。
| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。
5)、位运算符:用于操作二进制位的运算符。
& | ^
<< >> >>>(无符号右移)
6)、 三元运算符
格式:
(条件表达式)?表达式1:表达式2;
a)如果条件为true,运算后的结果是表达式1;
b)如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
对两个变量的数据进行互换。不需要第三方变量。和用第三方变量。
int a = 3,b = 5;-->b = 3,a = 5;
temp = a;
a = b;
b = c;
a = a + b; //a = 8;
b = a - b; //b = 3;
a = a - b; //a = 5;
a = a ^ b;////
b = a ^ b;//b = a ^ b ^ b = a
a = a ^ b;//a = a ^ b ^ a = b;
练习:高效的算出 2*8 = 2<<3; ※这个问题很常见,同时也是考察对运算符的运用。
/*
需求:两个变量值实现位置互换
*/publicclass Test
{
publicstaticvoidmain(String[] args)
{
int x =10;
int y=20;
//第三方变量,开发常见/*int temp = x;
x =y;
y = temp;*///运用位异或运算符(面试用)
x = x^y;
y = x^y;// x^y^y;
x = x^y;//x^y^x;
System.out.println( x + "++"+y);
//运用变量相加的方式(0716作业)int i =3;
int j = 5;
i=i+j;//两数之和为8
j=i-j;//和-5 =3 赋值给j
i= i - j;//i为8 - 此时的j=3; 值为5 赋值给i ,
System.out.println(i +"---"+ j);
}
}