JAVA学习笔记3——JDK7.0新特性+变量+运算符

来源:互联网 发布:惠州程序员招聘 编辑:程序博客网 时间:2024/06/05 16:19

最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。

今天继续写第三篇,意识到之前两篇标题没有反应主要内容,让阅读的小伙伴看起来不方便,所以都改了~

首先先来介绍一下JDK7.0(也作JDK1.7.0)的一个新特性,那就是引入二进制表达,便于编程者(工作后俗称程序猿)直接利用内存的地址进行一些操作,更方便于与系统相关的一些编程,那具体怎么使用就看看下面的代码片吧~

<span style="font-size:14px;">//JDK7.0新特性public class TestBinaryNum {public static void main(String[] args){int a = 0b0000_0000_0000_0000_0000_0000_0000_0011;    //(示例为32为OS)7.0引进二进制数表示,"0b"开头,通常半个字节之间(即每四位)用"_"(下划线,即数字分隔符)隔开int b = 1_2312_3131;   //用于其他进制也可以的,方便查看数字大小System.out.println(a);   //输出为3System.out.println(b);}}</span>
好了,介绍完新特性之后开始介绍JAVA里面的变量(variable),这是很重要的基本知识哦~

JAVA的变量按性质分为局部变量和实例变量(又称成员变量)两种,具体介绍如下:


此外,还有一个final变量,直译为最终变量,汉语译为常量,相当于C++里面的const变量,它是一种不能进行“二次初始化”的变量,使用的时候注意这点。

<span style="font-size:14px;">public class TestVariable {int t;    //实例变量,成员变量,属性public static void main(String[] args){int a;   //局部变量int b = a+3;   //会报错,a必须进行初始化int x,y,z;   //建议一行一个,变量的名字也要有对应含义final int C=34;    //final对应的标识符要大写~C = 35;   //错,final变量(最终变量/常量)只能被赋一次值final int  MAX_SPEED = 120;}}</span>
那么变量在命名方面又有什么样的要求呢,请看下图:

关于实例变量的内容以及相关知识在之后的笔记中会再详细介绍,这里主要是为了和教学视频还有代码保持一致。

那么在讲解完变量之后,我们再来看看JAVA的运算符都有哪些:

运算符按照操作数的个数分为一元运算符,二元运算符,三元运算符:

下面再来看看逻辑运算符以及“短路运算”的概念,逻辑运算符在循环语句的以及条件语句里面使用非常频繁:

接下来介绍位运算符,虽然和逻辑运算符长得很像,但是概念完全不同,逻辑运算符的云算数是布尔变量(boolean),它的运算本质是一种结果的判断,返回的也是布尔变量值,但是位运算符往往是对于两个具体的数字进行以位位单位的运算,它的本质是求值,返回的也往往是数值类型的变量,在不存在类型转换(见笔记2)的情况下返回的是与运算数相同类型的值。

还有一种就是扩展运算符啦,相信学过C和C++的小伙伴应该都不会陌生了:

下面是以上介绍的运算符实际练习的代码汇总:

<span style="font-size:14px;">public class TestOperator {public static void main(String[] args){int r=10%3;double d = 10.2%3;   //小数也可以取余数~System.out.println(d);int a = 3;int b = a++;   //执行完后,b=3。先给b赋值,再自增int c = ++a;   //执行完后,c=5。先自增,再给c赋值System.out.println(a);System.out.println(b);System.out.println(c);int c = 3/0;   //Exception in thread "main" java.lang.ArithmeticException:/by zero at TestOperator.main<TestOperator.java:13>boolean c = 1<2&&2>(3/0);    //程序的执行是“短路执行”的哦System.out.println(c);//测试位运算符int m = 8;int n = 4;System.out.println(m&n);System.out.println(m|n);System.out.println(~m);System.out.println(m^n);        int a = 3*2*2;int b = 3<<3;  //相当于:3*2*2;int c = 12/2/2;int d = 12>>2;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);boolean b1 = true&false;System.out.println(b1);//扩展运算符int  a = 3;a +=5;  //a = a+5;//字符串相连:加号两边只要有一个为字符串,则变为字符串连接符,整个结果为字符串。(简称“并置运算”)System.out.println(4+"5");//三目运算符int a=3;int b=5;String str= "";if(a<b){str = "a<b";}else{str = "a>b";}str = (a<b)?"a<b":"a>=b";System.out.println(str);}}</span>
好了,今天就先到这里吧,还有一张运算符汇总的图没有发,那个不清晰而且各种JAVA书上都有,小伙伴们自己找来看看那就好啦,按照视频中老师说的,运算符的优先级不要死记硬背,不确定的直接加上括号就好了,简单又明了。

0 0