PS: 学习语言基础很重要。。。。
1. 标识符
名词解释:给类,变量,方法起的名字。
要求:
1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。
2) 不能把关键字和保留字作为标识符。
3) 标识符没有长度限制。
4) 标识符对大小写敏感。
2. 关键字
名词解释:其实就是某种语言赋予了特殊含义的单词
注意:
1)true、false、null 不是关键字。
2)main 不是关键字!是一个被JVM识别的特殊单词。
3. 注释
名词解释:注解说明程序、调试程序。
注意:(XXX为注释内容,注释到行尾)
1)单行注释://XXX
2)多行注释:/* XXX */
3)文档注释:/*XXX /
开发中类前、属性前、,必须有文档注释。
*八种基本数据类型:byte、short、int、long、float、double、char、boolean
整数类型 | 取值范围 | 取值范围 | 占用字节 | 位数 |
---|---|---|---|---|
byte | -128~127 | -2的7次方到2的7次方-1 | 1个字节 | 8bit |
short | -32768~32767 | -2的15次方到2的15次方-1 | 2个字节 | 16bit |
int | -2147483648~2147483647 | -2的31次方到2的31次方-1 | 4个字节 | 32bit |
long | -9223372036854774808~9223372036854774807 | -2的63次方到2的63次方-1 | 8个字节 | 64bit |
注意:
1)整数字面默认为int类型,定义long数据后面加L或l。
浮点数类型 | 取值范围 | 取值范围 | 占用字节 | 位数 |
---|---|---|---|---|
float | 3.402823e+38 ~ 1.401298e-45 | e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方 | 4个字节 | 32bit |
double | 1.797693e+308~ 4.9000000e-324 | e+308表示是乘以10的308次方,同样,e-308表示乘以10的负308次方 | 8个字节 | 64bit |
注意:
1)定义float数据后面加F或f。
2)定义double数据后面加D或d。
3)double类型为默认浮点数类型,可以不写后缀,但是小数计算一定要写D/d 或 X.X 。
整数类型 | 取值范围 | 取值范围 | 占用字节 | 位数 |
---|---|---|---|---|
char | -128~127 | -2的7次方到2的7次方-1 | 2个字节 | 16bit |
字节 |
注意:
1 )不能为0个字符。
2)如转义字符:\n 换行 \r 回车 \ 表示\ 。
整数类型 | 取值范围 | 占用字节 | 位数 |
---|---|---|---|
boolean | true和false | 1个字节 | 1bit |
5.类型转换
1)自动转换:btye —> short —> int —> long —> float —> double
2)强制转换:会损失精度,产生误差,小数点后都要舍弃。
容易超出取值范围。
int a;
byte b;
// ...
b = (byte) a;
变量的赋值和初始化: 变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。
int a =10; //这就是一个变量初始化的过程
int a;
a =10; //在赋值语句的结尾应该是用分号来结束。
int final a=10; //声明了一个整型常量a,它的值是10。
String final DRIVER="com.jdbc.mysql.Driver";
1. 运算符
赋值运算符号
一元运算符
算术运算符
关系运算符
递增与递减运算符
public class T {
public static void main(String[] args) {
int a = 3 , b = 3 ; // 定义两个变量a和b
int x = 6, y = 6 ; // 定义两个变量x和y
System.out.println("a = " + a) ;
System.out.println("\t a++ = " + (a++) + " , a = " + a) ; // 先计算后自增
System.out.println("b = " + b) ;
System.out.println("\t ++b = " + (++b) + " , b = " + b) ; // 先自增后计算
System.out.println("x = " + x) ;
System.out.println("\t x-- = " + (x--) + " , x = " + x) ; // 先计算后自减
System.out.println("y = " + y) ;
System.out.println("\t --y = " + (--y) + " , y = " + y) ; // 先自减后计算
}
}
运算结果
a = 3
a++ = 3 , a = 4
b = 3
++b = 4 , b = 4
x = 6
x– = 6 , x = 5
y = 6
–y = 5 , y = 5
逻辑运算符
不管是短路还是非短路,其基本的操作结果都是一样的。
现有如下的错误代码:
public class T {
public static void main(String[] args) {
int i = 10/0;
System.out.println(i);
}
}
以上的代码只要一运行就会出现问题。
public class T {
public static void main(String[] args) {
if(10!=10&10/0==0){
System.out.println("条件满足");
}
}
}
短路
public class T {
public static void main(String[] args) {
if(10!=10&&10/0==0){
System.out.println("条件满足");
}
}
}
只要第一个条件满足,之后的程序代码都不在执行了。
位运算符
位运算符的结果表
public class T {
public static void main(String[] args) {
int x = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
int y = 6 ; // 6的二进制数据: 00000000 00000000 00000000 00000110
System.out.println(x & y) ; //与: 00000000 00000000 00000000 00000010
System.out.println(x | y) ; //或: 00000000 00000000 00000000 00000111
System.out.println(x ^ y) ; //或: 00000000 00000000 00000000 00000101
}
}
三目运算符
形式为:
结果变量=表达式?值1:值2;
if(a<b)
min=a;
else
min=b;
//可以用下面的条件运算符来处理
//min=(a<b)?a:b;
其中
1)表达式 为逻辑表达式 判断其为真或假。
2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式。
3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值。
运算符优先级
2. 表达式
表达式是由变量、操作符或是方法调用所组成的一个运算序列,并且返回一个值。
表达式类型的转换
当Java发现程序中表达试中有类型不相符的情况时,会依据下列的规则来处理类型的转换。
1.占用字节较少的类型转换成占用字节较多的类型。
2。字符类型会转换成int类型。
3.int 类型会转换成float类型。
4.表达式中若某个操作数的类型为double,则另一个操作数字也会转换成double类型。
5.布尔类型不能转换成其它类型。
public class TypeChangeDemo{
public static void main(String args[]){
char ch = 'a';
short a = -2;
int b = 3;
float f = 5.3f;
double d = 6.28;
System.out.println("(ch / a) - (d / f) - (a + b) = ");
System.out.println((ch / a) - (d / f) - (a + b) );
}
}