运算符是一种特殊的符号,用以表示数据的运算,赋值和比较等。 赋值运算符 就是将等号右边的值赋给等号左边的值。 赋值运算符(=,+=,_=,*=,/=,%= 带有强制转换) 例: i+=5 --> i = i+5;
算术运算符与算术表达式
//算数运算符 int in = 10; double dl = 3.3 + 10 + 'a'; System.out.println(3 * 3); System.out.println("商:" + 10 / 3); System.out.println("余数:" + 10 % 3);自增、自减运算符 ++x(x++) 自增:如果放在前面先自增再赋值,如果放在后面是先赋值再自增; –x(x–)自减 : 如果放在前面先自减再赋值,如果放在后面是先赋值再自减。
int a = 10; int b = ++a; // ++ 自增 如果放在前面先自增再赋值,如果放在后面是先赋值再自增 System.out.println("a的值:"+a);//11 System.out.println("b的值:"+b);//11 int c = 20; int d = c--; // -- 自减 System.out.println("c的值:"+c);//19 System.out.println("d的值:"+d);//20比较运算符(关系运算符) 关系运算符用来判断两个变量或者常量的大小,关系运算符的结果是一个boolean值( true或者false)。
int a = 10; int b = 20; int c = 15; //比较运算符最终得到的是boolean类型结果 System.out.println(a > b); System.out.println(a < b); System.out.println(a != b); System.out.println(a == b);逻辑运算符 逻辑运算符用于操作两个boolean类型的变量或者常量,逻辑运算符的运算对象只能是布尔型数据,并且运算结果也是布尔型数据。 “&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“l”和“|”的区别同理,双或时,左边为真,右边不参与运算。 //逻辑运算符两边是布尔类型 System.out.println(a < c & c < b); //a<c<b System.out.println("与的结果:"+(true & false)); System.out.println("或的结果:"+(true | false)); System.out.println("取反的结果:"+(!false)); System.out.println("异或的结果:"+(false ^ false)); // &与&& |与|| 最终结果一样 //&&:短路与 ||:短路或三元运算符(三目运算符) 条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
格式: (关系表达式)﹖表达式1:表达式2; 如果关系表达式成立(true),则运算后的结果表达式1 如果关系表达式不成立(false),则运算后的结果表达式2要求: 关系表达式结果为bool.ean类型。 表达式1和表达式2的结果类型必须一致。 int op1 = 34; int op2 = 65; int op3 = 90; int temp = op1 > op2 ? op1 : op2; int max = temp > op3 ? temp : op3; System.out.println("最大值:"+max);位运算符 位运算是直接二进制进行运算,运算效率高 与(有零为零),或(有一为一),异或(同零异一) instanceof 运算符 该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。 如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。 instanceof运算符使用格式如下:
class Vehicle {} public class Car extends Vehicle { public static void main(String[] args){ Vehicle a = new Car(); boolean result = a instanceof Car; System.out.println( result); //输出 true } }Java运算符优先级 下表中优先级上行优先于下行
Java中的语句有很多种形式,表达式就是其中一种形式。表达式由操作数与运算符所组成。 操作数可以是常量、变量,也可以是方法;运算符就是数学中的运算符号如“+”、“-”、“*”、“/”、“%”等。以下面的表达式(z+100)为例,“z”与“100”都是操作数,而“+”就是运算符。 表达式的计算结果必须是一个值,如果表达式是一个条件,就会产生逻辑值结果,即真或假。在其他情况下,值通常为计算的结果。
语句概述
方法调用语句 System.out.println(“Hello”);表达式语句: 由一个表达式构成一个语句,即表达式尾加上分号。例如 X=23;复合语句: 可以用{ }把一些语句括起来构成复合语句,例如: { Z = 123+x; System.out.println(“How are you”); }空语句: 一个分号也是一条语句,称作空语句。控制语句: 分为条件分支语句、开关语句和循环语句.package语句和import语句 packge语句和import语句与类、对象有关。break和continue语句 是用关键字break或continue加上分号构成的语句,例如: break; 在循环体中可以使用break语句和continue语句。在一个循环中,例如循环50次的循环语句中,如果在某次循环中执行了break语句,那么整个循环语句就结束。如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中continue语句后面的语句,而转入进行下一次循环。Java条件语句
if条件分支语句 (区间运算) if()语句 if()-else语句 if()-else if()-else语句 if (值为boolean类型的条件) { 当条件为 true 时执行的代码 } else { 当条件不为 true 时执行的代码 }实例:
public class test3{ public static void main(String args[]) { int score = 75; char grade; if(score >=80) { grade = 'A'; } else { grade = 'B'; } System.out.println("Grade = " + grade); } switch开关语句 (等值运算) switch语句是单条件多分支的开关语句。 switch 括号里面填写具体值: (byte short int char string enum);switch()值必须要和case值类型相互兼容;case 值不能一致;首先会先把switch里面值和case进行比较。如果匹配到case的值那么就会执行响应case里面的代码块。直到遇到break为止,如果没有break那么就会继续执行下一个case里面的值,直到遇到break为止。如果switch里面值与case的不匹配则会执行default里面的代码块,直到遇到break为止。 public class test7{ public static void main(String args[]) { int x=3; switch(x) { case 1: System.out.println("一月");break; case 2: System.out.println("二月");break; case 3: System.out.println("三月");break; case 4: System.out.println("四月");break; } } }循环语句
for循环语句 循环可以将代码块执行指定的次数。for (语句 1; 语句 2; 语句 3) { 被执行的代码块 }for语句由关键字for、一对小括号0中用分号分割的三个表达式,以及一个复合语句组成,其中的表达式2必须是一个求值为boolean型数据的表达式,而复合语句称作循环体。循环体只有一条语句时,大括号{}可以省略,但最好不要省略,以便增加程序的可读性。表达式1负责完成变量的初始化;表达式2是值为boolean型的表达式,称为循环条件;表达式3用来修整变量,改变循环条件,为迭代出口。for 语句的执行规则是:
(1)计算表达式1,完成必要的初始化工作。(2)判断表达式2的值,若表达式2的值为true, 则进行(3),否则进行(4)。(3)执行循环体,然后计算表达式3,以便改变循环条件,进行(2)。(4)结束for语句的执行。 public class test4{ public static void main(String args[]) { for(int i=0;i<=10;i++){ System.out.println(i); } } } while 循环语句 先判断,后执行循环体中的代码语句,只要布尔表达式为 true,循环就会一直执行下去 int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } do…while 循环语句 先执行循环体中的代码语句, 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。 public class test6{ public static void main(String args[]) { int i = 0; do { System.out.println(i); i++; } while(i<=10); } }