博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【117天】尚学堂高琪Java300集视频精华笔记(13-17)
阅读量:7195 次
发布时间:2019-06-29

本文共 4880 字,大约阅读时间需要 16 分钟。

【117天】尚学堂高琪Java300集视频精华笔记(13-17)

第13-14集:算术/逻辑/位运算符/扩展运算符/字符串连接/三元运算符/优先级问题

运算符

Java 语言支持如下运算符:

算术运算符:  +,-,*,/,%,++,--赋值运算符 = 关系运算符:  >,<,>=,<=,==,!=  instanceof 逻辑运算符:  &&,||,!位运算符:  &,|,^,~ , >>,<<,>>> (了解!!!)条件运算符 ?: 扩展赋值运算符:+=,-=,*=,/=

一元运算符

  1. 运算符(++, --)

    int a = 3;int b = a++;   //执行完后,b=3。先给b赋值,再自增。int c = ++a;   //执行完后,c=5。先自增,再给b赋值
  2. 注意:java中的乘幂处理:

    int a = 3^2; //java中不能这么处理, ^是异或符号。double b = Math.pow(3, 2); //Math类提供了很多科学和工程计算需要的方法和常数。

二元运算符

  1. 整数运算:

    • 如果两个操作数有一个为Long, 则结果也为long

    • 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

  2. 浮点运算:

    • 如果两个操作数有一个为double, 则结果为double.

    • 只有两个操作数都是float, 则结果才为float.

三元运算符(三目条件运算符)

  1. 三目条件运算符,语法格式:x ? y : z其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

    int score = 80; int x = -100;String type = score < 60 ? "不及格" : "及格";int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);System.out.println("type= " + type);System.out.println("flag= "+ flag);

取模运算

其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004

  • 负数%负数=负数;

  • 负数%正数=负数;

  • 正数%负数=正数;

注:一般都是正整数运算,不用考虑这么细!

布尔逻辑表达符

  1. 逻辑与:&&和&【&用于位运算】,逻辑或:||和|【|用于位运算】,逻辑非:!。

  2. 逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。

  3. 逻辑与只要有一个为false, 则直接返回false.

  4. 逻辑或只要有一个为true, 则直接返回true;

    boolean c = 1>2&&2>(3/0);

位运算符

位运算符:

~:取反        &:按位与        |:按位或    ^:按位异或   <<:左移运算符, >>:右移运算符 >>>:无符号移位运算符

右移一位相当于除2取商,左移一位相当于乘2。

int a = 3*2*2;int b = 3<<2;  //相当于:3*2*2;int a = 12/2/2;int b = 12>>2;

移位操作比乘除要快。

扩展运算符

+=: a += b 等效 a = a+b-=: a -= b 等效 a = a-b*=: a *= b 等效 a = a*b/=: a /= b 等效 a = a/b%=: a %= b 等效 a = a%b

字符串连接符

“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

int c = 12;System.out.println("c=" + c);

运算符优先级

表达式内,优先用小括号来组织

package test013;public class test013 {    public static void main(String[] args){    /*    double d = 10.2%3;        System.out.println(d);                int a = 3;        int b = a++; // 先将a赋值给b,a再自加        int c = ++a; // a先自加,再赋值给c        System.out.println(a);        System.out.println(b);        System.out.println(c);            //int c = 3/0;//报错    */            /*        boolean c = 1>2&&2>(3/0);        System.out.println(c); //因为短路现象,所以3/0的报错信息没有出来。    */            //测试位运算                int m = 8;          //二进制为0000_0000_0000_0000_0000_0000_0000_1000        int n = 4;          //二进制为0000_0000_0000_0000_0000_0000_0000_0100        System.out.println(m&n);//0000_0000_0000_0000_0000_0000_0000_0000        System.out.println(m|n);//0000_0000_0000_0000_0000_0000_0000_1100        System.out.println(~m); //1111_1111_1111_1111_1111_1111_1111_0111【此为补码】                                //转换为原码需要减1取反                                //1000_0000_0000_0000_0000_0000_0000_1001【此为原码,即十进制的-9】        System.out.println(m^n);//0000_0000_0000_0000_0000_0000_0000_1100                int a = 3*2*2;        int b = 3<<3;        int c = 12/2/2;        int d = 12>>2;        System.out.println(a);        System.out.println(b);        System.out.println(c);        System.out.println(d);                boolean b1 = true&false;        System.out.println(b1);                int f = 3;        f += 3;        System.out.println(f);            }}

第15-16集:eclipse开发环境的使用/建立java项目/运行java项目

  1. Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

  2. eclipse常用快捷键(暂时大家可以不关注,随着学习的深入慢慢体会!)

    • 命令提示:alt+/ (main, syso)

    • 文件选择:

      • Shift+ 上下左右,home,end键

      • Ctrl+Shift+ 左右 单词选中

    • 删除一行:ctrl+d

    • 复制一行到下面或上面: ctrl+alt+上下

    • 换行:alt+上下

    • 编辑文件切换:ctrl+F6,或者ctrl+E,上下

    • 视图切换:ctrl+F7

    • 查看错误建议:ctrl+1

    • 导入类:ctrl+shift+o

    • 重命名:alt+shift+r

第17集:if语句单选择双选择多选择结构

  1. Java三种结构:顺序、选择、循环

  2. Math类的使用:‘int i = (int)(Math.random()*6);//产生[0,5]

public class test017 {    public static void main(String[] args){        /*double i = 6 * Math.random();        double j = 6 * Math.random();        double k = 6 * Math.random();        int count = (int)(i+j+k);        if(count > 15){            System.out.println("今天天气不错");        }        if(count >=10 && count <= 15){            System.out.println("今天手气一般");        }        if(count <10){            System.out.println("今天手气不怎么样");        }         System.out.print("得了"+ count+"分");                */                /*double r = 4* Math.random();        double area = Math.PI * r;        double circle = 2 * Math.PI * r;        System.out.println("半径为: "+ r);        System.out.println("面积为: "+ area);        System.out.println("周长为: "+ circle);        if(area >= circle){            System.out.println("面积大于等于周长");        } else {            System.out.println("周长大于面积");        }        */        int age = (int)(100 * Math.random());        System.out.println("年龄是" + age + "属于");        if(age<15){        System.out.println("儿童喜欢玩");        } else if(age<15) {            System.out.println("青年, 要学习!");        }else if(age<25) {            System.out.println("青年, 要学习!");        }else if(age<45) {            System.out.println("中年, 要工作!");        }else if(age<65) {            System.out.println("中老年, 要补钙!");        }else if(age<85) {            System.out.println("老年, 多运动!");        }        }}

转载地址:http://vkxkm.baihongyu.com/

你可能感兴趣的文章
[Leetcode] Generate Parentheses
查看>>
xss小试
查看>>
如何用c#获得当前站点的根路径
查看>>
Ubuntu 11.10 安装最新版 Adobe flash player
查看>>
[OpenStack] Essex - Running Virtual Machine Instances
查看>>
VMWare + Ubntu 和局域网内windows通信
查看>>
善用rel=’canonical’,权重更集中(转)
查看>>
微信控 控微信
查看>>
UDP中使用bind和connect的作用
查看>>
Yii url重写
查看>>
Shell编程 - 流控制
查看>>
Windows Phone7 VS iPhone&Android 平台优劣势邀您参与PK [送书活动以及样章阅读]
查看>>
YUV格式详解
查看>>
内核开发基础——make mrproper及mrproper的含义
查看>>
MSSQL常用操作及方法总结
查看>>
MVC 4 教程
查看>>
windows server 2012 QQ交流群:256418966
查看>>
[转]SQLiteOpenHelper
查看>>
QT在CT上的安装及运行
查看>>
Entity Framework 使用注意:Where查询条件中用到的关联实体不需要Include
查看>>