//          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':"失败");
}
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>杰我教育WWW.JAOVO.COM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符的更多相关文章

  1. JavaSE复习日记 : java包机制

    这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; ...

  2. JavaSE复习_1 Java的基本格式和运算符

    △.代表在当前目录.classpath能在任何路径下访问类文件. △单行注释可以嵌套,多行注释不能嵌套 △java中的标识符只能有数字,字母,$和_,其他的符号都是错误的,不合法的.其中数字不能是开头 ...

  3. Effective Java 第三版——63. 注意字符串连接的性能

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  4. Java学习笔记四:三目运算符与字符串连接符等

    一 .三目运算符与自增自减 GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac02.java 条件运算符由 ...

  5. 040_字符串连接符 041_条件运算符目 042_运算符优先级_逻辑与或优先问题 043_自动类型转化 044_强制类型转换 045_基本类型常见错误_溢出_L问题

    040_字符串连接符 package test_package; /** * 字符串运算符 * @author * */public class TestOperator05 { public sta ...

  6. JavaSE复习日记 : 继承关系和super关键字以及继承关系中方法的覆写

    /* * 类的继承和super关键字 * * 软件开发的三大目的: * 可拓展性; * 可维护性; * 可重用性; * * 这里单说下可重用性这一项: * 为了代码复用,复用方式有: * 函数的调用复 ...

  7. JavaSE复习日记 : 算是个小前言吧

    /* * Java也学了好久了,抽个时间整理了一下课堂笔记,也有些是我刚开始学会犯的一些错误.在这里浅谈一下JavaSE的基础内容,对我来说也是一种不错的复习方式. * * 那好,对于初学者来说,学习 ...

  8. JavaSE复习日记 : 方法的调用和方法的重载

    /* * 方法的调用和方法重载 */ /* * 什么是方法? * 方法就是一个有名字的代码段; * 方法的调用: * 在方法里调用另外一个方法里面的东西就是方法调用; * 或者可以认为"另外 ...

  9. JavaSE复习日记 : 抽象类

    /* * 抽象类 * 抽象: * 面向对象的三大核心思想; * 封装: 封装,ppp是封装的一部分 * 继承; * 多态: 父类的引用指向子类的对象 * 引用: 是指一个引用型变量 * 有哪些变量? ...

随机推荐

  1. 搭建Android开发环境之——Android4.0.3, 4.1, 4.2, 4.3, 4.x,及升级 ADT(22.0.5)和SDK(22.x)

    1.首先要下载相关的软件 1). JDK 6 以上 2). eclipse( Version 3.6.2  or higher ) 点击下载 3). SDK(android-sdk_r18-windo ...

  2. Android学习笔记:利用httpclient和AsyncTask 发起网络http post操作

    1.在android4中,发起网络http操作,不能在Activity的事件(即主线程)中进行,必须在单独的线程中操作. 另外进行网络操作,需要在manifest文件中增加如下的权限: <use ...

  3. iOS6 旋转

    iOS 6的rotation改变了很多.先来看看官方的描述  http://www.bgr.com/2012/08/06/ios-6-beta-4-change-log-now-available/ ...

  4. HDU 3466 Proud Merchants(01背包)

    这道题目看出背包非常easy.主要是处理背包的时候须要依照q-p排序然后进行背包. 这样保证了尽量多的利用空间. Proud Merchants Time Limit: 2000/1000 MS (J ...

  5. Android开发学习之TypedArray类

    在学习Android的开发中,学习Gallery视图显示图片的过程中,在设置图片适配器的时候,用到了此TypedArray类型,这次根据android SDK,一块把此类型弄清楚! android.c ...

  6. Effective JavaScript Item 36 实例状态仅仅保存在实例对象上

    本系列作为EffectiveJavaScript的读书笔记. 一个类型的prototype和该类型的实例之间是"一对多"的关系.那么,须要确保实例相关的数据不会被错误地保存在pro ...

  7. JS 人民币大写

    /***** HongShijin** Me@HongShijin.com** 2014-10-15 9:13:00.00000** text/javascript***/ (function ($) ...

  8. cmd命令行--切换盘符

  9. Bootstrap的aria-label与aria-labelledby

    aria-label: 正常情况下,form表单的input组件都有对应的label,当input组件获取到焦点时,屏幕阅读器会读出相应label里的文本. 但是如果没有给输入框设置label时,当其 ...

  10. GCD的使用和面试题集锦

    GCD 分为异步和同步 异步: dispatch_async ( 参数1 , { } 同步: dispatch_sync( 参数1 , { } 参数1 :队列 队列分为两种: dispatch_get ...