//          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. git ssh认证

    一般新手用git时,使用HTTPS都需要输入用户名和密码,这是一个很低效的开发过程.(虽然有时可以让开发人员减少push的次数).github提供了几种连接方式,其中以https:开头的代表https ...

  2. bash代码

    bash代码: #!/bin/bash MySQLSTARTUP="/data/3306/mysql" DbProcessCount=`ps -ef|grep mysql|grep ...

  3. VC使用双缓冲避免绘图闪烁的正确使用方法【转】

    使用内存DC绘图,然后实现双缓冲,避免绘图闪烁,这个小技术简单但很有效.但是仍然有很多人说使用了双缓冲,图片却仍然有闪烁,分析了几个这样的例子,发现 其实不是双缓冲的技术问题,而是使用者没有正确理解和 ...

  4. C#动态编译、执行代码

    在开始之前,先熟悉几个类及部分属性.方法:CSharpCodeProvider.ICodeCompiler.CompilerParameters.CompilerResults.Assembly. 一 ...

  5. qt 5.1.1 on CentOS 6.4

    Overview If you are trying to install Qt and Qwt [qwt.sourceforge.net] (Qt Widgets for Technical App ...

  6. new Date().getTime()

    new Date().getTime()获取当前时间戳; 不知道是毫秒级还是千分之一毫秒级别

  7. Ubuntu输入password登陆后又跳回到登录界面

    现象:在Ubuntu登陆界面输入password之后.黑屏一闪而且出现了check battery state之类的文字之后,又跳转到登录界面. 原因:主文件夹下的.Xauthority文件拥有者变成 ...

  8. 走进小作坊(十一)----移动web实现指南

    四.五年前智能手机行业刚刚兴起,差别于之前功能机阉割版的web开发方式,一些学者就開始探索移动web的UI方向了.从PC迁移到移动端的web设计现成可用的原则有,很多其它的则是依据移动端独有特点进行探 ...

  9. 基于Nodejs开发的web即时聊天工具

    由于公司需要开发web即时聊天的功能,开始时我们主要的实施方法是用jquery的ajax定时(10秒)轮询向服务器请求,由于是轮询请求,对 服务器的压力比较大.我们网站上线的时间不长,访问量不是很大, ...

  10. SqLite 使用 Dapper 查询INTEGER类型的主键问题

    在程序实体定义时: public int TableID { get; set; } 使用Dapper查询SqLite数据库时会报错 Error parsing column (= - Int64) ...