CONTENT

  • 一、运算符、表达式
    • 1、算七精
    • 2、关六七
    • 3、逻三布
    • 4、赋右左
    • 5、位四四
    • 6、instanceof运算符
    • 7、小结
  • 二、语句
    • 1、类型:方表复空控p
    • 2、为啥会学不会的分支语句和循环语句
      • 1)if条件语句(单条件单分支)
      • 2)开关语句
      • 3)循环语句
    • 3、小结
  • 三、总结
//声明:本文的所有标准化图片都来自于耿祥义、张跃平老师的《Java2实用教程(第5版)》if ( 来看C的 && 只是为了考试 )  留意一下算术运算符里的自增自减然后直接跳到语句部分;

我们这次要探讨的话题是运算符、表达式和语句。为什么要写这里的内容呢。首先,因为书里有;其次,这部分内容是大部分编程语言都会用到的内容,学会这部分的内容与术语会让我们显得更专业一些[手动狗头];最后,我愿意。

一、运算符、表达式

两个内容合在一起说吧,我总结这部分内容为

算七精、关六七、逻三布、赋右左、位四四

1、算七精

算七精指的是“算术运算符有七个基本字符,要注意计算过程中的精度问题”。
七个基本字符:加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(- -)。前五个是双目运算符,后两个是单目运算符(目的个数就是操作元的个数)。
算术表达式:由算术运算符和括号组成的表达式,也就是我们在数学上写过的那些普通算式。
精度问题:在计算机计算算术表达式的过程中,如果算式中最高精度是double、long、float,则计算结果会对应地转换为double、long、float;如果是其它精度(即精度不大于int),运算结果转换为int类型。至于精度的大小排列,我们在第二回已经提过,,此处不再赘述。

2、关六七

关六七指的是“关系运算符有六个基本字符,且六个基本字符的优先级处于六与七两级”。
六个基本字符:>=、<=、>、<、==、!=,意义就不说了吧,都认识。这三个都是二目运算符。
关系表达式:由“变量或数字”与“关系运算符”组成的表达式,结果是boolean类型。样式如下:

//由变量、数字、运算符组成
x>20;
//由数字、运算符组成
10>20;
//由变量、运算符组成
x>y;
//注意:有时也会遇到直接有一个变量作为关系表达式,定义虽不同,含义却相同
if(linklist){...
}//判定条件是链表linklist存在,此处用法请参考数据结构相关内容

3、逻三布

逻三布指的是“逻辑运算符有三个基本字符,结果是boolean类型(布尔类型)”
三个基本字符:&&(且)、||(或)、!(非),前两个是双目运算符,第三个是单目运算符
逻辑表达式:由关系表达式与逻辑运算符组成的表达式。如

if(x>20 && y<10){printf("学霸题,数正方体,头顶标注法\n");
}    //如果x>20且y<10时,输出"学霸题,数正方体,头顶标注法"

4、赋右左

赋右左指的是“赋值运算符计算方向是从右往左”。
赋值运算符:=,把后面的值(说的具体点是引用,不明白请忽略)赋给前面。
这个是最简单的运算符,只是因为参考书上有,所以顺带提一嘴,虽然很简单,但是还是有一点特别重要,就是与自增自减算术运算符联系在一起使用的情况。具体如下:

i=10;  j=20;
//自增运算符
a=++i;
b=j++;
i=10; j=20;
i=i+1;
a=i;           //a值为11,即自增运算符在前面的,要“先增再用”b=j;
j=j+1;            //b的值为20,即自增运算符在后面的,要“先用再增”
/*  上面两块代码是等价的,当然也经
常会看到单纯的自增自减运算,这样
的运算就不会有赋值运算符的参与,
比如“i++”。  */

5、位四四

位四四指的是“位运算符有四个基本字符,占四个不同优先级别”。
四个基本字符:&(与)、|(或)、~(非)、^(异或)
位运算中的操作元是二进制数,对相应位置上的1或0做运算。
与运算是指两个数都为1,结果数对应位置上为1,其余情况都是0;

或运算是指只要有一个数位上的数为1,则结果数对应位置为1,其余为0;
非运算是符是单目运算符,优先级也较高,是对所有数位上的数取反得到结果数;
异或运算是指两个数位中有且仅有一个为1,则结果数的对应位置上的数为1,其余为0。

6、instanceof运算符

用法:左边的操作元是一个对象实例(如果你真是看的我的博客学java那这里对象不懂你就先留着),右边是一个类名,结果是boolean类型,如果结果为true,就表示这个对象是由这个类或者这个类的子类创建出来的实例。
这个运算符其实从一开始知道以后好几年过去了一次都没用过,说实话,个人感觉意义不是太大(大项目也许有点用,但是大项目谁用SE呢)。不如跟我学个词组

for instance    举个栗子

instance就是“例子、实例”的意思,OVER.

7、小结

具体内容不说了,甩一张图吧。该不该记一下呢,emmmm其实大家都说不用,但是一旦学到数论、离散什么的又有那么点用,所以挑点自己觉得重要的记一下也没坏处。

二、语句

1、类型:方表复空控p

我好像真的很喜欢这样记东西。。。

这里只说一个后面不会讲到的语句,就是最后一个“p”。其它的语句(方法调用语句、表达式语句、复合语句、空语句、控制语句)看后面的代码注释:

package和import语句:

package xingxingk;       //这是一个名叫xingxingk的包,包是什么后面再说,记得它的翻译就行,并且在代码编写中package必须在import语句之前
import java.util.*;     //这句语句引入了java的实用类,有很多的方法与类供我们使用

2、为啥会学不会的分支语句和循环语句

1)if条件语句(单条件单分支)

if语句:

if(我爱你){             //if语句,加上后面要讲的开关语句、循环语句,三者并称为控制语句我会给你买一束花;
}       //表示“如果我爱你,那么我会给你买一束花”

if-else语句(单条件双分支):

if(我是狗){             //花括号{}括起来的包括花括号在内的语句一并被叫做复合语句,这里if和else各引领一个复合语句我吃屎;
}else {我不吃屎;
}
//这是一个非常简单的if-else语句的用法。表示“如果我是狗那么我吃屎,如果我不是狗,那我不吃屎”

if-else if-else语句(多条件多分支):

x=3;        //简单的赋值语句,上面说了运算符与表达式,这就是一条表达式语句 。
if(x>2){System.out.println("耶!我比二大!");       //输出功能方法被调用,这种就叫方法调用语句
}else if( x<=2 && x>=-2){//这里什么都不执行,叫做空语句
}else{System.out.println("呜呜呜,我比负二还小");
}

2)开关语句

明白了if条件语句的基本逻辑之后,开关语句就不算个事了,首先要清楚单词的意思,switch就是“开关”,选择哪一种情况进行开关就是case(情况)。另外记住几个要点就行。

switch(张三的年龄){case 23:            //开关语句的第一个要点,冒号在值之后System.out.println("张三今年23岁,233333333333");break;            //开关语句的第二个要点,一般每一个case都要写上break语句case 85:System.out.println("张三今年85岁,呜呜呜呜呜呜呜");     break;default:              //开关语句的第三个要点,当变量与前面的case值都不相等时才执行这部分代码,default为空或者直接表示什么都不做System.out.println("张三的年龄不是23.也不是85");       }

上面的三个要点必须牢牢记住,另外还有两个要注意的地方。

  • 如果有一个case对应成功并且case后面没有break语句,程序会一直顺序进行直到碰到下一个break语句为止,见下面例子
switch(x){case 1:System.out.println("我是一");case 0:System.out.prinrtln("我是零");break;
}       //如果case值为1,将会输出“我是一”和“我是零”
switch(x){case 1:System.out.println("我是一");break;case 0:System.out.prinrtln("我是零");break;
}       //如果case值为1,将会输出“我是一”
  • case的值可以是byte、short、char、int类型,不能为long型

3)循环语句

  • for循环
    语法:
//一般形式
for(给初值;循环条件;每次循环结束都会执行的语句){循环的操作;
}//数组可以有的特殊形式
for(数组类型 变量: 数组名){对数组中每个元素执行的操作;
}

实例–遍历数组a:

//一般形式
for(int i=1;i<=a.length;i++){System.out.println(a[i-1]);
}//数组可以有的特殊形式
for(int i: a){      System.out.println(a[i]);
}
  • do-while循环
    语法:
do{循环的操作;
}while(循环条件)            //先做(do)循环操作,再判定循环条件,满足循环条件就继续做(do)

实例–遍历数组a:

int i=0;
do{System.out.println(a[i]);i++;
}while(i<=a.length)         //注意循环条件
  • while循环
while(循环条件){循环的操作;
}           //先判定是否判定循环条件,满足循环条件就执行复合语句内容

实例–遍历数组a:

int i=0;
while(i<a.length){System.out.println(a[i]);i++;
}               //注意循环条件与do-while的区别

3、小结

语句这块一定要多自己动手敲代码,特别是对于连续分数的相加或斐波那契数列的计算等循环语句的训练一定要落实到位,另外尤其要对do-while与while语句汇总循环条件的差异有清晰的了解。

三、总结

这次写了很长,但其实能应用到实践中的恐怕不多,大多是一些理论性的东西,而编程又是一个充满实践性的过程。不过,只有理论联系实践,理论才会发挥出真正的价值,实践才会更有底气。

Java篇第三回——运算符、表达式与语句(C不好的也快来)相关推荐

  1. 【JAVA SE】第三章 运算符、条件语句、switch结构、while循环、do…while循环、for循环、break关键字以及break和continue关键字

    第三章 运算符.条件语句.switch结构.for循环.break关键字以及break和continue关键字 文章目录 第三章 运算符.条件语句.switch结构.for循环.break关键字以及b ...

  2. 《C Primer Plus》第五章-运算符 表达式和语句(笔记、复习题、编程题,副作用和序列点,升降级)

    文章目录 运算符 表达式和语句 本章内容 循环简介 基本运算符 赋值运算符:= 几个术语:数据对象.左值.右值和运算符 加法运算符:+ 减法运算符:- 5.2.4 符号运算符:-和+ 乘法运算符:* ...

  3. c语言for循环语句java,C语言三种类型的循环语句

    在C语言中,有三种类型的循环语句:for语句.while语句和do While语句.分别介绍如下: 1.for循环语句 for语句格式为: for(表达式1;表达式2;表达式3) 语句:/*循环体*/ ...

  4. 第五章运算符表达式和语句

    title: 第五章 运算符.表达式和语句 author: HardyDragon tags: C Notes 第五章 运算符.表达式和语句 5.1 循环简介 5.2 基本运算符 5.2.1 赋值运算 ...

  5. Java篇第七回——内部类与异常类

    一.内部类 我们在谈到某一个场所,比如说剧场时,我们更加关注这个剧场中有哪些角儿,我们在提到剧场时也经常会把角儿们顺带脚提出来.在Java中也有这种逻辑,我们希望在声明一个剧场类时,这个剧场就已经有了 ...

  6. java面试题三 位运算符

  7. 思维导图Java篇(一)

    思维导图Java篇(一) 思维导图Java篇(二) 思维导图Java篇(三) 思维导图Java篇(四) 思维导图Java篇(五) 思维导图Java篇(六) 思维导图Java篇(一)

  8. java表示语句结束的符号,java基础篇三(运算符号、表达式与语句)

    一.运算符 赋值运算符:= 一元运算符: +,正号 -,负号 !,非 ~:取补码,如下例子: Paste_Image.png Paste_Image.png ++,自增一 --,自减一 算数运算符: ...

  9. 【笔记】Java的运算符(赋值运算符号、一元运算符、算术运算符、关系运算符、自增与自减运算符、逻辑运算符、括号运算符、位运算符、三元(三目)运算符)、表达式与语句:简洁表达式

    文章目录 一.运算符 1.赋值运算符号 2.一元运算符 3.算术运算符 4.关系运算符 5.自增与自减运算符 6.逻辑运算符 7.括号运算符 8.位运算符 左移位: 右移位: 9.三元(三目)运算符 ...

最新文章

  1. python3 ocr_OCR识别-python3.5版
  2. 单片机基础课程有哪些?
  3. BOOKS STORE OPENCART 自适应主题模板 ABC-0093
  4. Android Studio 配置
  5. Nginx动态、静态分离,Nginx配置中做适配
  6. Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化
  7. 如何构建一个真实的推荐系统?
  8. jQuery以JSONP的访问调用一个WCF REST服务
  9. python获取微信用户基本信息_微信开放平台扫码登录获取用户基本信息!附可用demo...
  10. java wait 参数_Java Object wait()方法
  11. 2021 9.14 p.m.小结 以及 数独问题探索(T3)
  12. mysql in查询效率真的低_MySql中in查询效率低的替代方法
  13. html设置谷歌火狐IE写法,原生js编写设为首页兼容ie、火狐和谷歌
  14. 三分钟看懂什么是运维
  15. 重装电脑?先来个PE盘!
  16. Android中四大组件
  17. 数字后仿,SDF文件
  18. HTML+CSS+JS练手小玩意
  19. ATM系统:Use Case图与Use Case详细描述
  20. 利用python保存txt文件的指定行/前n行

热门文章

  1. mac python环境搭建
  2. 2021年危险化学品经营单位安全管理人员考试试卷及危险化学品经营单位安全管理人员实操考试视频
  3. 物业养老,智慧养老新方式
  4. 【Hadoop】Hive HSQ 使用 自定义HQL函数
  5. 5GC 关键技术之网络切片
  6. 搭建node版本下载服务器(node版本高速镜像)
  7. 爱奇艺校招map优先队列笔试题字符串的价值
  8. SVN“不知道这样的主机”
  9. 在 Mac OS系统下选择、安装、配置 win 10虚拟机
  10. 达梦数据库dm7同构数据库的双向同步