//          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. 官方原版Adobe Acrobat XI Pro v11.0.0 序列号激活 可升级更新

    使用本人制作的正版激活向导,可以直接使用 注册机算号激活Adobe Acrobat XI Pro11 激活后可以直接官网升级更新软件,永久使用.下面是激活程序界面.简单易懂,傻瓜式操作.带有详细的安装 ...

  2. [原]容器学习(一):动手模拟spring的IoC

    介绍 学习经典框架的实现原理以及设计模式在其实际中的运用,是非常有必要的,可以让我们更好进行面向对象. 本篇文章就来模拟Spring的IOC功能,明白原理后,可以更好的使用它,进而为进行面向对象提供一 ...

  3. 二道shell面试题

    1.按照给出的运行结果,编写一个名为xunhuan 的shell过程(用循环语句). 0 10 210 3210 43210 543210 6543210 76543210 876543210 2.编 ...

  4. GDKOI2015 Day1

    P1 题目描述: 判断一个环形字符串(或者减去一个字符之后)是否是回文串 solution: 1.hash 将字符串的前缀进行hash,然后将字符串翻转,再做一次hash,然后枚举对称轴,判断两边的h ...

  5. springMVC+spring+mybatis整合过程中遇到的问题

    今天在配置SSM整合的过程中遇到了几个错误,折腾了好久,具体如下 1.java.lang.IllegalArgumentException: Mapped Statements collection ...

  6. ubuntu15.04下编译 libvirt

    很久没有编译 libvirt了. 工作需要,重新编译. [org_ref]: http://libvirt.org/compiling.html 很简单. 编译过程, 还是很多问题. 依赖包(给懒人参 ...

  7. [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(九)

    目的 1. 使用verilog/vhdl设计一个PCI的watchdog设备. 2. 通过systemverilog 写testbench. 很久之前研究过AC97的verilog代码.但是很久没用v ...

  8. C++中的随机数函数(

    标签:ul 随机数 c 整数 max 教育  C++中产生随机数种子对于刚開始学习的人一直都非常困惑.大家知道,在C中有专门的srand(N)函数能够轻松实现这一功能,然而在C++中则要复杂一些.以下 ...

  9. .net网站开发(前端):4.MVC HtmlHelper

    通过前面三节,已经大概理解MVC是怎样运作的了.MVC的一个特点就是可以很方便地控制视图效果,数据交互也很灵活.先讲一下视图控制的,HtmlHelper,看到Help就知道它是不知疲惫的好人啦(有点像 ...

  10. Objective C 链式调用

    起因 某日使用DKChainableAnimationKit的时候发现可以如下写代码: view.animation.rotate(180).anchorTopLeft.thenAfter(1.0). ...