你的位置:首页 > Java教程

[Java教程]JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符


//     Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符/* *                 一 Java操作符 * *   Java操作符都有哪些? *       +, -, *, /, %, ++, -- *     这里需要注意 a++ 和 ++a 的区别,后面说; *//*public class Javase{  public static void main(String[] args){    int a = 10;    int b = 20;    int c = 30;    System.out.println( a+b );//a+b=30;    System.out.println( b-a );//b-a=10;    System.out.println( a*b );//a*b=200;    System.out.println( b/a );//b/a=2;    System.out.println( b%a );//这里%是求余操作符,b/a=2.....0;所以结果是0;    System.out.println( c%b );//c/b=1...10;所以结果是10;    a++;//相当于a=a+1;    System.out.println( a );//结果为11;    a--;//相当于a=a-1;    System.out.println( a );//结果为10,因为上面a=11;  }}*///------------------------------------------------------------------------------/* *                二 Java关系运算符 * *   Java关系运算符都有哪些? *     >, >=, <, <=, ==, !== *   关于多重运算中的优先级问题,这里建议用括号括起来,避免脑子里计算上的错误; * *//*public class Javase{  public static void main(String[] args){    int a = 10;    int b = 10;    boolean c = (a==b);//boolean的值只有true(真)和false(假),所以这里是做一个判断,判断a是不是等于b,若判断为真,输出true,反之输出false    System.out.println( a>b );//这里很明显a和b是相等的,所以这里结果会是false,后面的自己判断    System.out.println( a>=b );    System.out.println( a<b );    System.out.println( a<=b );    System.out.println( a==b );    System.out.println( a != b );  }}*///------------------------------------------------------------------------------/* *               三 Java逻辑运算符 * 这个跟大学课程里的门的体系一样(与非门,或非门等等) * 判断符: * &  位与  两边都是true,才是true * |  位或  一边是true,结果才是true * !  位非  取反 * ^  位异或 两边逻辑值不相等 才是true * * 逻辑比较: *   && 符号两边都为真才会为真,有一个错都是假 *   || 符号两边只要有一个为真就为真 *   ! *   ^ * * 举个简单的例子: *   (1=2 & 1=1)----->左边是假,右边是真,但是判断符是位与,有一个为假都是假,两个为真才是真,所有这个结果是假false *   (1=2 | 1=1)----->还是同一个,判断符是位或,有一个为真就是真,结果是真ture * *//*public class Javase{  public static void main(String[] args){    System.out.println(5>3 & 5>4);    System.out.println(5>3 && 5>4);    System.out.println(3>5 & 6>7);//第二步仍然会运算    System.out.println(3>5 && 6>7);//一个为假就为假,第二步就不会运算    System.out.println(5>3 | 5>9);//仍然会运算    System.out.println(5>3 || 5>9); //一个为真就为真,所以后面不会再运算    System.out.println(5>11 | 5>10);    System.out.println(5>11 || 5>10);  //后面要算    System.out.println(!false);    System.out.println(true ^ false);//true    System.out.println(false ^ true);//true    System.out.println(true ^ true);//false    System.out.println(false ^ false);//false  }}*///------------------------------------------------------------------------------/* *               四 赋值运算符 *  * 赋值运算符都有哪些: *   =(基本赋值运算符) *   += 加等于 *   -= 减等于 *   *= 乘等于 *   /= 除等于 *   %= 余等于 * *   怎么用呢:  *     例如:  i += 10; 就向当于i = i + 10;就是让i和10相加,然后再赋值给i; * * *   说到这里,把之前留下的问题解决一下,就是i++;和++i;的区别,下面上例子. *//*public class Javase{  public static void main(String[] args){    int i = 10;    //i = i++;    //System.out.println( i );//输出结果为10;    i = ++ i;    System.out.println( i );//输出结果为11;    //这是为什么呢?    //首先,i = i ++;是先赋值后++,而i=10;所以结果是10;    //而i = ++i;是先++1,然后在赋值给i,所以结果为11;  }}*///下面直接说赋值运算符,下面上例子===========================================/*public class Operator_04{  public static void main (String [] args)  {    //基本赋值预算符,试一下用byte试试=127    int a = 10;    //+=    a += 10;    System.out.println(a);    //-=    a -= 5;    System.out.println(a);    //*=    a *= 5;    System.out.println(a);    // /=    a /= 15;    System.out.println("a = " + a);    System.out.println( 10/15 );    // %=    a %= 2;    System.out.println(a);    //-----------------------------------    //内部自动类型转换    byte i = 10;    //两次运算;由于后面的1是一个整型;所以会自动转换成整型,结果也是整型;但是前面的i变量是指定的byte型,把一个整型赋给byte型肯定报错    //i = i + 1;    //设个是一步运算;但是会预先进行数据类型转换,转换成本类的数据类型;所以会损失精度    i += 119;    System.out.println("hello");    System.out.println(i);  }}*///------------------------------------------------------------------------------/* *             五 字符串连接符 * *   字符串连接符: + * 说实话,把这个单独拿出来做一章说有些浪费,这个符的作用在代码和运行结果上看很容易明白,我就不扯没用的了,只说几个稍微值得注意的吧: * 字符串连接符"+":即使数值加和运算符,也是字符串连接符; * 他会进行自动数据类型转换(boolean不参与转换) * 运算结果也是字符串类型 * *//*public class Operator_05{  public static void main (String [] args)  {    //字符串连接符    System.out.println("PI=" + 3.14);    int a = 10;    int b = 12;    System.out.println("a+b = " + (a+b));  //a+b=22    System.out.println("a+b = " + a+b); //a+b=1012 从左往右,挨个计算,数据类型挨个转换    System.out.println(a + "+"+b+"=" +(a+b)); //10+12=22 括号提高性运行级别,先运算  }}*///------------------------------------------------------------------------------/* *             六 三元运算符 * * 什么是三元运算符? *   条件判别式 ? 真执行的语句 : 假执行的语句 *   上面就是三元运算符的写法,感觉没什么可说的,还是直接上代码吧 */public class Operator_06{  public static void main (String [] args)  {    boolean sex = false;     //10 //这个不是语句;单独的值,单独的    char c = (sex ? '男' : '女');    System.out.println(c);    boolean isSuccess = true;    System.out.println(isSuccess?'s':"失败");  }}