随堂笔记160225表达式

今天是学习JAVA的第三天,主要的内容为 数据类型表达式


数据类型:



1.数据类型一般有两种,基础数据类型引用类型

2.类型之间的转换为:char、short、byte->int->long->float->double,注意 大字节类型转小字节类型时:float a = 2.5F;
3. short、char、byte之间不会相互转换,再进行运算时,这三个类型会优先转换为int类型。

涉及代码:
public class Test{
<span style="white-space:pre">	</span>public static void main(String[] args){
<span style="white-space:pre">		</span>//  float a = 2.5;		会报错,精度损失
	<span style="white-space:pre">	</span>float a = 2.5F;		//编译通过
<span style="white-space:pre">		</span>System.out.println(a);
	}
}




编码问题:



1.JAVA默认编码为Unicode;
2.Unicode编码也说明了java能识别中文标识符, 但是注意:关键词不能用中文!

涉及代码:

class 人{
<span style="white-space:pre">	</span>private String 名字;
	private String 性别;
}	//编译通过

表达式:


1.整除(/):左右两边必须为整型。

涉及代码:

public class Test{
	public static void main(String[] args){
		int a;
		a = 5/2;	//编译通过,结果为2(为什么不是2.5,请自行百度JAVA进制转换导致的损失精度)
		a = 5.0/2;  //编译错误,解决办法为: a = (int)5.0/2;
	}
}


2.取模(%):取余数。


3.自加减(查看后面代码):前++(--)为先自加减后才参与运算,后++(--)为先参加运算后自加减,注意:无论是前++还是后++,在这条语句结束后,该变量的值一定改变了。

涉及代码:
public class Test{
<span style="white-space:pre">	</span>public static void main(String[] args){
	<span style="white-space:pre">	</span>int a=3,s;
		s = (a++)+1;		<span style="white-space:pre">		</span>//等于4 根据之前的叙述,++在后面,a变量就先参与运算再自增减,也就是 a(3)+1=4,然后a++=4;
		System.out.println(s);		
	<span style="white-space:pre">	</span>System.out.println(a);			//a为4
		a=3;
	<span style="white-space:pre">	</span>s = (++a)+1;				//等于5 根据之前的叙述,++在前面,a变量就先自增减再参与运算,也就是 ++a=4,然后a(4)+1=5; 
		System.out.println(s);
	<span style="white-space:pre">	</span>System.out.println(a);			//a为4
	}
}



4.恒等(===):不仅要求两个变量的值相等,而且类型也要相同。

涉及代码:
public class Test{
	public static void main(String[] args){
	<span style="white-space:pre">	</span>int a = 1;
		float b = 1.0F;
		if(a == b){
			System.out.println("a = b,编译通过");	//判断为真
		}
		if(a === b){	//编译不通过。
		<span style="white-space:pre">	</span>System.out.println("a = b,编译通过");	
		}
}

5.短路与(&&)/或(||):提高程序运行效率。

1.短路与在首个表达式为假的情况下触发短路机制,该判断停止进行,自动断定为假。
2.短路或在首个表达式为真的情况下触发短路机制,该判断停止进行,自动断定为真。

涉及代码(只展示短路与和与的不同):

<pre name="code" class="java">public class Test{
	public static void main(String[] args){
		int a = 1,b = 0,c = 0;
		if(a == 0 & (b = 3) == 0){
			//空
		}
		System.out.println(b);	//此时b=3,因为与即使在确定了前面一个表达式为假即使可以得出结果了,程序依然会再去判断第二个表达式
		
		if(a == 0 && (c = 3) == 0){
			//空
		}
		System.out.println(c);	//此时c=0,因为短路与在判断第一个表达式为假后就已经确定了整个if判断为假。
	}
}

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值