一、
1. 运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java语言使用运算符将一个或多个操作数据连接成执行性语句,用以实现特定功能。
算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 类型相关运算符
1)算术运算符
加法运算(+)、减法运算(-)、乘法运算(*)、除法运算(/)、取余(取模)运算(%)、自加运算(++)、自减运算(--)、(+)还可以做为字符串的连接符。
2)赋值运算符
Java使用“=”作为赋值运算符,为变量指定变量值。
3)位运算符
Java支持的运算符有7个:按位与(&)、按位或(|)、按位非(~)、按位异或(^)、左移运算符(<<)、右移运算符(>>)、无符号右移运算符(>>>)
第一个运算数
第二个运算数
按位与(&)
按位或(|)
按位异或(^)
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
4)扩展后的赋值运算符
赋值运算符可以与算术运算符、位移运算符结合,扩展成功能更加强大的运算符。
+=:对于x += y,表示 x = x + y;
-=:对于 x -= y,表示 x = x-y;
*=: x*= y,表示 x = x * y;
/= ; %=; &=; |=; ^=; <<= ; >>=;>>>=;
5)比较运算符 比较运算符用于判断两个变量或者常量的大小,比较运算的结果是一个boolean值(true或者false)
Ø >:大于,只支持左右两边操作数是数值类型。
Ø >=:同上
Ø <:同上
Ø <=:同上
Ø ==:同上,即使他们数据类型不相同,只要它们的值相同,也返回true,例如:97==’a’,返回true
Ø !=:不等于,如果进行比较的两个操作数都是数值类型,只要值不同就返回true,如果比较的是引用类型,只有当两个引用变量相同类型的实例时才可以比较,只要两个引用指向不是同一个对象就返回true,
6)逻辑运算符
逻辑运算符用于操作两个布尔型的变量或常量,逻辑返回的值为boolean类型,主要有6个,
Ø &&:前后两个操作数都为true时,返回true,否则返回false,例如:32>24 && “abc”==”abc”,返回true
Ø ||:前后两个操作数,有个为true就返回true,举例:32>24 || “abc”!=”abc”,返回true
Ø &(不短路与),|(不短路或),!(非),^(异或)
//&& & || |
//A条件 && B条件 A条件为false时 不进行B条件的运算
//A条件 & B条件 A条件为false时 正常进行B条件的运算
//A条件 || B条件 A条件为false时 不进行B条件的运算
//A条件 | B条件 A条件为false时 正常进行B条件的运算
7)三目运算符
三目运算符只有一个:(?:)
//三目运算符
//格式: 表达式? 结果一:结果二
System.out.println(2>3?"真的":"假的");
//嵌套使用
System.out.println(4>3?(6<5?"真的":"里面假的"):"假的");
二、运算符的优先级
运算符说明
Java运算符
分隔符
. [] () , ;
单目运算符
++ -- ~ !
强制类型转换
(type)
乘除取模运算符
* / %
加减运算符
+ -
位移运算符
<< >> >>>
关系运算符
< <= > >=
等价运算符
== !=
按位与运算
&
按位异或运算
^
按位或运算
|
条件与运算
&&
条件或运算
||
三目运算符
? :
赋值运算符
= += -= *= /= &= |= ^= %= <<= >>= >>>=
三、 程控制与数组
Java中的分支结构语句为:if、switch
Java中的循环结构语句为:while、do while、for、foreach
Java中提供了break、continue来控制程序的循环结构
四、顺序结构
顺序结构就是程序从上到下逐行的执行,中间没有任何判断和跳转。
五、分支结构
1 。if条件语句
//分支执行结构
/*if(){
可执行代码
}elseif(){
可执行代码
}else{
可执行代码
}
2. switch分支语句
switch (数值) {
case 数值1:
可执行代码
break;
case 数值2:
可执行代码
break;
default:
默认执行代码
break;
}
六、循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码,被重复执行的代码段称为循环体,在反复执行循环体的时候,需要在合适的情况下将条件改为假,否则循环将一直执行下去,形成可怕的死循环。
七、 while循环语句
//求1+到100的和
//定义变量接收总和
int sum= 0;
int i=0;
//定义i等于1 从1开始 <=100
while(i<100){
i++;
sum = sum+i;
}
System.out.println(sum);
八、 do while循环语句
//do while
/* do{
//循环体
}while{
//表达式
}
*/
//do while 循环和 while循环的区别
//do while 先执行循环体 再执行表达式
//while循环先执行表达式,再执行循环体
九、for循环
For循环体是更加简洁的循环语句,在大部分情况下for循环可以代替while循环、do while循环。
for(int i=0;i<10;i++){
System.out.println(i);
}
//for循环的嵌套[99乘法表]
//外层控制行 内层控制列
for(intj = 1; j<10; j++){
for(intk = 1; k<=j; k++){
System.out.print(k+"x"+j+"="+(j*k)+" ");
}
System.out.println();
}
}
十、控制循环结构
break; 跳出循环
continue;跳出本次循环,执行下一次循环
return;下面的所有代码都不执行
十一、 数组类型
数组是编程语言中最常见的一种数据结构,可以存储多个数据,每个数组元素存放一个数据,通过数组元素的索引(或者称为下标index)来访问数组元素。数组也是一种类型,它是引用类型。
// 如何定义数组
// 如何操作数组
/数据类型 数组名称 [] = new 数据类型[5]; 5为数字存数据的个数
//数据类型 数组名称[value1,value2......];
//数据类型 [] 数组名 = new 数据类型[5]
///1. boolean类型的数组 boolean [] bsz = {true,false}; for(int i= 0;i<bsz.length;i++){ System.out.println("boolean类型的数组: "+bsz[i]); } //2. byte类型的数组 byte [] bysz = {100,126}; for(int i= 0;i<bysz.length;i++){ System.out.println("byte类型的数组: "+bysz[i]); } //3. long类型的数组 long [] losz = {9998,10665}; for(int i= 0;i<losz.length;i++){ System.out.println("long类型的数组: "+losz[i]); } //4. int类型的数组 int [] insz = {20,25}; for(int i= 0;i<insz.length;i++){ System.out.println("int类型的数组: "+insz[i]); } //5. short类型的数组 short [] shsz = {-32768,32767}; for(int i= 0;i<shsz.length;i++){ System.out.println("short类型的数组: "+shsz[i]); } //6. float类型的数组 float [] flsz = {2.34F,10.001F}; for(int i= 0;i<flsz.length;i++){ System.out.println("float类型的数组: "+flsz[i]); } //7. double类型的数组 double [] dosz ={12.6,17.6}; for(int i= 0;i<dosz.length;i++){ System.out.println("double类型的数组: "+dosz[i]); } //8. char类型的数组 char [] chsz= {'a','b','c','d'}; for(int i= 0;i<chsz.length;i++){ System.out.println("char类型的数组: "+chsz[i]); } //9. String类型的数组 String [] stsz = {"String类型","yeshi 数组"}; for(int i= 0;i<stsz.length;i++){ System.out.println("String类型的数组: "+stsz[i]); }