在配置完Java 开发环境,并下载Java开发工具(Eclipse、IDEA等)后,就可以写Java代码了,因为本篇文章是从头梳理Java体系,所以有必要从基础的概念开始谈起。
在Java 中,数据类型只有四类八种:
运算符不只Java中有,其他语言也有运算符,运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面,我们就以Java为例,来看一下运算符。
●赋值运算符
赋值运算符使用操作符 = 来表示,它的意思是把 = 号右边的值复制给左边,右边的值可以是任何常数、变量或者表达式,但左边的值必须是一个明确的,已经定义的变量。比如 int a = 4。
但是对于对象来说,复制的不是对象的值,而是对象的引用,所以如果说将一个对象复制给另一个对象,实际上是将一个对象的引用赋值给另一个对象。
●算数运算符
算数运算符就和数学中的数值计算差不多,主要有
算数运算符需要注意的就是优先级问题,当一个表达式中存在多个操作符时,操作符的优先级顺序就决定了计算顺序,最简单的规则就是先乘除后加减, () 的优先级最高,没必要记住所有的优先级顺序,不确定的直接用 () 就可以了。
●自增、自减运算符
这个就不文字解释了,解释不如直接看例子明白
int a = 5;
b = ++a;
c= a++;
●比较运算符
比较运算符用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。
比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算的结果为true,否则为false。比较运算符共有6个,通常作为判断的依据用于条件语句中。
●逻辑运算符
逻辑运算符主要有三种,与、或、非
下面是逻辑运算符对应的true/false 符号表
●按位运算符
按位运算符用来操作整数基本类型中的每个比特位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
如果进行比较的双方是数字的话,那么进行比较就会变为按位运算。
按位与∶按位进行与运算(AND),两个操作数中位都为1,结果才为1,否则结果为0。需要首先把比较双方转换成二进制再按每个位进行比较
按位或:按位进行或运算(OR),两个位只要有一个为1,那么结果就是1,否则就为0。
按位非:按位进行异或运算(XoR),如果位为0,结果是1,如果位为1,结果是0。
按位异或:按位进行取反运算(NOT),两个操作数的位中,相同则结果为0,不同则结果为1。
●移位运算符
移位运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。
●三元运算符
三元运算符是类似 if…else… 这种的操作符,语法为︰条件表达式?表达式1∶表达式2。问号前面的位置是判断的条件,判断结果为布尔型,为 true时调用表达式1,为 false时调用表达式2。
Java中的控制流程其实和C一样,在Java中,流程控制会涉及到包括if-else、while、do-while、for、return、break 以及选择语句switch 。下面以此进行分析
条件语句可根据不同的条件执行不同的语句。包括 if 条件语句与 switch 多分支语句。
if 语句可以单独判断表达式的结果,表示表达的执行结果,例如
int a = 10;
if(a > 10){
return true;
}
return false;
if 语句还可以与else连用,通常表现为 如果满足某种条件,就进行某种处理,否则就进行另一种处理。
int a = 10;
int b = 11;
if(a >= b){
system.out.println("a >- b");
}else{
System.out. println("a < b");
}
if 后的 () 内的表达式必须是 boolean型的。如果为true,则执行if后的复合语句;如果为 false,则执行else后的复合语句。
上面中的if…else是单分支和两个分支的判断,如果有多个判断条件,就需要使用if…else if
int x = 40;
if(x > 60) {
system.out.println("x的值大于60"");
}else if (x > 30) {
system.out.println("x的值大于30但小于60");
}else if (x > 0) {
system.out.println("x的值大于0但小于30");
}else {
system.out.println("x的值小于等于0");
}
一种比 if…else if 语句更优雅的方式是使用 switch 多分支语句,它的示例如下
switch (week) {
case 1:
System. out.println( "Monday");
break;
case 2:
System.out. println("Tuesday");
break ;
case 3:
system. out.println("Wednesday" );
break;
case 4:
system.out. println("Thursday");
break;
case 5:
system. out. println( "Friday");
break;
case 6:
System. out.println("Saturday");
break;
case 7:
system. out.println( "Sunday");
break;
default:
system. out.println("No Else");
break ;
}
循环语句就是在满足一定的条件下反复执行某一表达式的操作,直到满足循环语句的要求。使用的循环语句主要有for、do…while() 、 while
while 循环语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。while 循环语句的格式如下
while(布尔值){
表达式
}
它的含义是,当 (布尔值) 为true 的时候,执行下面的表达式,布尔值为 false 的时候,结束循环,布尔值其实也是一个表达式,比如
int a - 10;
while(a > 5){
a--;
}
while 与do…while 循环的唯一区别是do…while 语句至少执行一次,即使第一次的表达式为 false。而在while 循环中,如果第一次条件为false,那么其中的语句根本不会执行。在实际应用中,while 要比do…while应用的更广。它的一般形式如下
int b - 10;
// do. .-while循环语句
do {
system. out.println("b -- " + b);
b--;
} while(b == 1);
for循环是我们经常使用的循环方式,这种形式会在第一次迭代前进行初始化。它的形式如下
for(初始化;布尔表达式;步进){}
每次迭代前会测试布尔表达式。如果获得的结果是false,就会执行for语句后面的代码;每次循环结束,会按照步进的值执行下一次循环。
逗号操作符
这里不可忽略的一个就是逗号操作符,Java里唯一用到逗号操作符的就是 for 循环控制语句。在表达式的初始化部分,可以使用一系列的逗号分隔的语句;通过逗号操作符,可以在 for语句内定义多个变量,但它们必须具有相同的类型
for(int i = 1;j = i + 10;i < 5;i++,j = j * 2){}
for-each语句
在Java JDK 1.5中还引入了一种更加简洁的、方便对数组和集合进行遍历的方法,即 for-each 语句,例子如下
int array[] = {7,8,9};
for (int arr : array) {
System.out.println(arr);
}
Java语言中,有三种跳转语句: break、continue 和 return
break语句我们在switch 中已经见到了,它是用于终止循环的操作,实际上break 语句在for、while,do…while循环语句中,用于强行退出当前循环,例如
for(int i = 0;i < 10;i++){
if(i == 5){
break;
}
}
continue也可以放在循环语句中,它与 break语句具有相反的效果,它的作用是用于执行下一次循环,而不是退出当前循环,还以上面的例子为主
for(int i = 0;i < 10;i++){
System. out.printl(" i = " + i );
if(i == 5){
System.out.printl("continue ... ");
continue;
}
}
return语句可以从一个方法返回,并把控制权交给调用它的语句。
public void getName() {
return name;
}