转自: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. windows下限制Redis端口只能由本机访问

    在使用redis的时候,我只想要本机能够访问,这时可通过防火墙会阻止外界的访问 1.找到防火墙,选择高级设置2.点击"入站规则",再点击"新建规则" 3.点击& ...

  2. Word 只读模式修改

    一.设置只读模式: 方法一: 打开目标文件,点击另存为,如下: 2.点击常规选项,勾选‘建议以只读方式打开文档,也可以在此页给文档加密: 方法二: 在工具栏-->审阅--->限制编辑: 二 ...

  3. 使用union合并查询

    语法: select …..from 表1 union select ……from 表2 2. 合并查询的特点 ① 合并的表中的列的个数.数据类型必须相同或向兼容. ② union默认去掉重复值,如果 ...

  4. C#学习笔记14

    1.在多个线程的同步数据中,避免使用this.typeof(type).string进行同步锁,使用这3个容易造成死锁. 2.使用Interlocked类:我们一般使用的互斥锁定模式(同步数据)为Lo ...

  5. Android的消息机制简单总结

    参考文章: http://gityuan.com/2015/12/26/handler-message-framework/#next 参考资料: Android Framework的源码: Mess ...

  6. 【转】JSON.parse()与JSON.stringify()的区别

    JSON.parse()[从一个字符串中解析出json对象] 例子: //定义一个字符串 var data='{"name":"goatling"}' //解析 ...

  7. js表单快速取值/赋值 快速生成下拉框

    1.表单取值/赋值公共方法 //表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;&qu ...

  8. base64编码 的 图片 另存为下载

    功能描述: 有一段base64字符串的图片,将其保存下载为png图片! 可以:  直接 a 链接下载:  <a id="tttt" download="1.jpg& ...

  9. Python爬虫教程-27-Selenium Chrome版本与chromedriver兼容版本对照表

    我们使用Selenium+Chrome时,版本不一样, 会导致 chromedriver 停止运行 chromedriver 所有版本下载链接:http://npm.taobao.org/mirror ...

  10. 浅谈回归(二)——Regression 之历史错误翻译

    我很好奇这个问题,于是搜了一下.我发现 Regression 这个词 本意里有"衰退"的意思. 词根词缀: re- 回 , 向后 + -gress- 步 , 级 + -ion 名词 ...