转自:http://redking.blog.51cto.com/27212/116751

1、课程名称:运算符、表达式
讲解了JAVA中各种运算符的使用,包括与、或、非、大于、小于等。
2、知识点
2.1、上次课程主要知识点回顾
1、标识符命名:由字母、数字、下划线、$组成,其中不能以数字开头
2、java的数据类型划分:
· 基本数据类型
· 引用数据类型
3、 各种数据类型间的转换问题
2.2、本次课程预计讲解知识点
1、运算符
2、表达式
3、具体内容
本季目标
运算符
算术运算符
+:表示两个数字相加
-:表示两个数字相减
Demo01:
public class Demo01
{
    public static void main(String arg[])
    {
        int i=3;
        int j=5;
        i=i+j; 
        //i+j==>i
        System.out.println(i);
        float f1=9.5f;
        float f2=2.5f;
        System.out.println(f1-f2);
    }
}
*、/:乘法、除法
Demo02:
public class Demo02
{
    public static void main(String args[])
    {
        int i = 30;
        int j = 3;
        System.out.println(i*j);
        System.out.println(i/j);   
    }
}
注意点:
程序中如果使用了除法,则被除数不能为“0”
Char和int之间也是可以相互转换的。
Demo02:
public class Demo02
{
    public static void main(String args[])
    {
        char i = 'A';
        int j = 10;
        j = i + j;
        i = (char)j;
        System.out.println(i);
    }
}
%取模操作(取余数)
1/2的话是商为0,余1哈。
我们看下20/3余2的效果哈。
++和--操作
 
· ++表示自增,自己可以增加一个
· -- 表示自减,自己可以减少一个
开发中++有两种情况:++i、i++
· ++i:表示的先自增再进行操作
· i++:表示的是先进行操作再进行自增
第一个i++输出应该为20后再自增,第二个输出的i就已经是第一个i++后的21了哈,第三个语句++i是先进行自增后再操作应该输出22哈,所以输出应该为20、21、22,我们验证下效果哈。
开发中--操作也有两种:
· --i:先自减,再操作
· i--:先操作,再自减
我们把上面的例子修改下看看效果哈。
 
关系运算符:
返回的值是一个boolean值。完全可以使用一个boolean值去接收返回的内容。
我们来测试下哈:
public class Demo03
{
    public static void main(String args[])
    {
        int i=10;
        int j=20;
        System.out.println(i>j);
    }
};
public class Demo03
{
    public static void main(String args[])
    {
        int i=10;
        int j=20;
        boolean b=i>j;
        System.out.println(b);
    }
};
b输出了false,证明完全可以使用一个boolean值去接收返回的内容。
注意点:
在java中“==”就表示判断两个数相等,如果是一个“=”表示的是赋值操作语句。
布尔逻辑运算:
· !:表示非,表示与实际值相反。
我们修改下上面的例子哈:
输入b的值相反true哈.
public class Demo04
{
    public static void main(String args[])
    {
        int i=10;
        int j=20;
        boolean b=i>j;
        System.out.println(!b);
    }
};
· 与操作(&&、&)
true & true = true
true & false = false
false & false = false
false & true = false
只要在相与的一端有一个是false,则结果都为false。
显示false,为什么哈?false & true = false哈.
 
以前我们说过,任何数都不能除以0,否则程序会出错,我们看下效果哈.
· true = 1;false = 0
|- “&&”称为短路与,是与判断语句有关的。
只要第一个条件是false,则以后永远是false,后面的条件不再判断了。
我们修改下上面的例子哈.加个&&看看效果.
 
public class Demo06
{
    public static void main(String args[])
    {
        /*
        if(布尔值){
            //如果值为true,则此处代码执行
        }
        */
        if (1/1!=1&&1/0==0)
        {
            System.out.println("条件满足");
        }
    }
};
没看到出错信息哈,因为加了“&&”短路与后, 这个条件已经为false了,则以后永远是false,所以后面的条件不再判断了。
我们看下条件为true时的效果哈.
· 或操作(||、|)
true || true = true
true || false = true
false || false = false
false || true = true ;
只要有一个是true,则其他的永远是true
短路或:只要第一个条件为真了,则以后的条件都不用判断了。
第一个为true哈,应该显示true,我们看下效果.
我们来比较下||和|区别哈.
我们先看下||短路或,1/1==1为true,执行下面的语句显示51cto.blog哈。
显示正常哈。
那我们改成|非短路或呢?我们看下效果哈。
在判断第二个条件时出错了哈。
在代码开发中比较常用的就是“||”、“&&”。
位运算符
这在开发中不大常用哈.
赋值运算符=
这个应该非常熟悉了哈.
扩展赋值运算符
+=
-=
*=
/=
10/20为什么是0,不是0.5哈,我们说过这是因为整型变量损失精度的原因哈。我们要输出0.5的值,就要指定i为一个float变量类型。
字符串连接运算符

字符串的连接操作:
程序中如果使用“"”括起来的代码称为字符串。字符串的连接使用“+”
看下效果哈
注意:任何数据类型如果遇到了字符串,则肯定全部转换为字符串类型。
这句话我们验证下哈:
看到没,i和j全部转换成字符串类型输出了哈。
运算符优先级
我们可以使用()改变优先级
 
表达式
三目运算符
本季重点
Java运算符及表达式
public class BasicDataTypeTest{

    public static void main(String args[]){

        int i ,j;
         i = 1;
         j = 2;
        System.out.println(i+j);         char a ,b ;
        a = 'a';
        b = 'b';
        int c = 6;
//        c = c + a;
        int d = b + c;
        char tmp ;
        tmp = (char )d ;
        int e = d - c ;
        tmp = (char) e;         System.out.println(a+b);
        System.out.println(d);
        System.out.println(e);         if(1/1==1||1/0==1)
            System.out.println("true");         if(1/1!=1&&1/0==1)
            System.out.println("false");
/*
        if(1/1==1|1/0==1)
            System.out.println("true");         if(1/1!=1&1/0 ==1)
            System.out.println("false");
*/         boolean t,f;         t =true ;
        f = false;
        boolean is ;
        is = t&&f;         float fl = 12.3f;         System.out.println(is);
        System.out.println(a+b+c+"hello"+fl);     }
}

[零基础学JAVA]Java SE基础部分-03. 运算符和表达式的更多相关文章

  1. Java学习笔记【三、运算符、表达式、语句】

    运算符 算数运算符 /* / % ++ -- 关系运算符 == != > /< >= /<= 位运算符 &(按位与,有0是0,否则1) |(按位或,有1是1,否则0) ...

  2. python基础复习-1-1文件类型、变量、运算符、表达式

    文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...

  3. 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学

    076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...

  4. 001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学

    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学 welcome to Java World 欢迎来到Java世界 一起领略Java编程世界的奥秘与奥妙 ...

  5. 零基础学Java,PayPal技术专家手把手带你入门

    在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言. 同时,在微服务.云计算.大数据.Android App 开发等领域,Java 也是当之无愧的 ...

  6. 零基础学Java第四节(字符串相关类)

    本篇文章是<零基础学Java>专栏的第四篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! String 本文章首发于公众号[编程攻略] 在Java中,我们经 ...

  7. 零基础学Java第三节(基本输入输出)

    本篇文章是<零基础学Java>专栏的第三篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] Java程序的命令行参数 我们可以 ...

  8. 零基础学Java第二节(运算符、输入、选择流程控制)

    本篇文章是<零基础学Java>专栏的第二篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 第一章 运算符 1.1 算术运算符的概述和用法 运算符 对常量和变 ...

  9. 零基础学Java第一节(语法格式、数据类型)

    本篇文章是<零基础学Java>专栏的第一篇文章,从本篇文章开始,将会连更本专栏,带领大家将Java基础知识彻底学懂,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! ...

随机推荐

  1. Django settings.py添加静态文件夹

    我们需要一个静态文件夹来存放文件,例如jQuery的模块 <script src="statics/jquery-3.2.1.js"></script> 引 ...

  2. 如何在不接入微信API的情况下自定义分享内容(图片、链接、标题)

    方法如下: 1.设置分享title:动态改变document.title值即可: document.title = 'test' 2.设置分享图片:在页面隐藏一张尺寸大于290*290的图(图片需要容 ...

  3. linux 查看服务器系统资源和负载,以及性能监控

    1.查看磁盘 df -h 2.查看内存大小 free [-m|g]#按MB,GB显示内存 3.查看每个进程的情况 cat /proc/5346/status PID 4.查看负载 uptime 5.查 ...

  4. [转]Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)

    本文转自:http://www.cnblogs.com/aehyok/p/3545824.html 前言 很久没更新博客了,加上刚过年,现在准备重新开战,继续自己的学习之路.本文已同步到Web API ...

  5. SQL Server 2008中的MERGE(数据同步)

    OK,就像标题呈现的一样,SQL Server 2008中的MERGE语句能做很多事情,它的功能是根据源表对目标表执行插入.更新或删除操作.最典型的应用就是进行两个表的同步. 下面通过一个简单示例来演 ...

  6. Splunk和ELK深度对比

    转自:http://blog.51cto.com/splunkchina/1948105 日志处理两大生态Splunk和ELK深度对比 heijunmasd 0人评论 5312人阅读 2017-07- ...

  7. java 并发 (四) ---- 并发容器

    Hashmap 和 Concurrenthashmap Hashmap 不适合并发,应该使用ConcurrentHashMap . 这是很多人都知道的,但是为什么呢? 可以先看一下这两篇文章. JDK ...

  8. 三:Maven创建问题

    1.httpServlet was not found 设置server为tomcat,jre设置为安装的jdk的jre java build path 添加server runtime为tomcat ...

  9. golang 应用的部署相关技术

    nohup命令 在 linux 下面部署,我们可以利用 nohup 命令,把应用部署在后端,如下所示: nohup ./yourapp & 这样你的应用就跑在了 Linux 系统的守护进程 n ...

  10. 如何将一个SpringBoot简便地打成一个war包(转)

    为什么要把SpringBoot打成war包 正常情况下SpringBoot项目是以jar包的形式,通过命令行: java -jar demo.jar 来运行的,并且SpringBoot是内嵌Tomca ...