黑马程序员----Java语法基础(1){标示符,变量,常量,运算符}

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



一、标示符

命名规则:由数字,字母,_,$组成, 其中数字不能开头,通常不使用$,这个一般是由厂商们的API中使用的。

变量

变量: 分为基本数据类型和引用数据类型。基本数据类型:int ,float,double 等,引用数据类型:数组,字符串,自定义类等。
变量:我们有时候需要一个空间来存储我们的数值,而且这个数值还是会随着程序的运行而有所变化的,这时我们就使用变量来存储数值,变量表示的是内存中的一块空间,通过变量名我们可以存取该空间中的数值。
变量类型:这块空间有大有小,那么如何确定大小呢?这时候就引出了变量类型,例如int i=1;此处变量名为i,变量类型为int,由于int占四个字节,因此这块空间就是四个字节,jvm看到i为int型,那么它存取i的时候就是到i的地址哪里存取四个字节的空间。
注意:变量的初始化,通常我们定义一个变量,即便不是立马使用它,也给它一个初始值,这主要是为了安全,如果访问了一个没有初始化的变量是否报错的。因此我们一般这样写 int i=0;而不是 int i;
命名规则:通常变量命名为全小写。

常量

常量:有时候我们需要在程序中使用一个固定不变的值,如果每次都用数字来表示太繁琐,而且容易写错,造成各个地方的该值不一样大,这个时候我们就需要用常量来表示它, 常量在程序中只能被赋值一次,之后就不能赋值了,也就是只能取,不能存。例如final int I=1;那么I在程序中就一直是1了,而不是再赋值了。
用处:例如数学中的PI,一般就用常量来表示final int PI=3.1415;
常量类型:常量当然也是有自己的类型的。
注意: 常量只能赋值一次。
命名规则:常量一般采用全大写的命名方式。

二、运算符

运算符分类:

按照参与运算的操作数个数分为单目运算符,双目运算符,三目运算符。
1.单目运算符:例如++,--,!等。
2.双目运算符:+,-,*,&&等。
3.三目运算符:java只有一个三目运算符? : 。例如:x==2?true:false;意思是:如果x等于2,返回true,否则返回false。
当然还有其他分类:
1.逻辑运算符:&&,||,!,&,|,^。
注意:&&,||和&,|在功能上是一致的,都是逻辑与和或,但是&&,||具有短路效果,就是说当运算符左侧能决定结果时,右侧就不执行了。
例如
class Demo
{
	public static void main(String[] args)
	{
		int i=0,j=0;
		if((i=2)==2||(j=3)==3)
			System.out.println("i="+i+",j="+j);
		if((i=4)==4|(j=5)==5)
			System.out.println("i="+i+",j="+j);
	}
	
}
运行图

从图可以看出,当运算符为&&时,j没有被赋值3,这是因为左侧(i=2)==2已经决定了表达式结果,所以右侧就没有被执行。而当运算符为&时,却没有这种情况,这就是短路。

2.位运算符:&,|,!,^。
特点:位运算一般要快于其他运算方式。
这几个是用于位运算的运算符,用的不多, 但是^运算符常用于交换两个数的值
例如
class Demo
{
	public static void main(String[] args)
	{
		int i=1,j=2;
		System.out.println("i="+i+",j="+j);
		i^=j;
		j^=i;
		i^=j;
		System.out.println("i="+i+",j="+j);
	}
	
}
运行图


3.组合运算符:+=,-=,*=等。
都是由其他运算符组合产生的,主要是 简化书写
例如:i+=2;等价于i=i+2;
例如
class Demo
{
	public static void main(String[] args)
	{
		int i=1,j=1;
		i+=2;
		j=j+2;
		System.out.println("i+=2结果:"+i);
		System.out.println("j=j+2结果:"+j);
	}
	
}
运行图


4.模运算:符号只看左边,左边正,结果正,左边负,结果负,1%-5=1,-1%5=-1。
注意:模运算的两个操作数必须为int型。
5.instanceof:判断一个对象是否为某个类型。例如"123" instanceof String结果为true。

三、疑点难点

short a=2;编译通过,虽然2为int型,但是编译器有自动转换动作,将合适的数字转换为short型;
a=a+2;编译失败,当short和int相加时,结果为int型,再赋给short型,
损失精度;
a+=2;编译通过,+=为一次运算,内部同样有自动转换动作;
如果我们知道一定不会损失精度,那么可以采用强制转换将int赋给short变量
例如:a=(short)2;

四、总结

对于变量和常量的命名,一定要遵循Java的规则,见名知意,尽可能的使用有意义的名称,而不是简单的,x,y等,提高阅读性。运算符是Java非常重要的部分,毕竟程序的功能就是操作数据,而如何操作就看运算符的了。



------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值