最近在看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); //输出为3
System.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书上都有,小伙伴们自己找来看看那就好啦,按照视频中老师说的,运算符的优先级不要死记硬背,不确定的直接加上括号就好了,简单又明了。