随堂笔记160225表达式

来源:互联网 发布:115会员淘宝不卖了 编辑:程序博客网 时间:2024/05/29 15:13
今天是学习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为4a=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
原创粉丝点击