在上一篇的博客中,我回顾到Java中的关键字,标识符等知识点,而今天这篇博文将回顾Java的,哦,不,不止Java,据本人了解,几乎在所有的语言中的基础阶段,都会存在这些运算,只是语法不一样而已。

今天回顾的先做一个总结:1.运算符;2.实现键盘录入;3.流程控制语句;4.控制跳转语句。

运算符:千万不要被字面所迷惑,千万不要认为运算符就是用于数学运算的工具。数据,不仅是数学角度的运算数据。

(1).算术运算符:+,/,-,*,%,++,--;

+:有三种用法:

1.数学上的加法;

2.数学上的正号;

3.这是最关键上的一点:字符串连接符;在这个用法上面,容易出现一个计算障眼法:

String str = "hello" + 'a' + 2;

String str2 = 2 + 'a' + "hello";

在上方的两个运算中,是存在加法的两种用法,这就是待会要讲到的流程控制语句;

要记住一个关键点就是ASCII码表:a的十进制值是97;然后记住,默认运算从左到右;分析第一个:hello和a先运算+;字符串和一个char类型相加,那么就是字符串连接符的功能,然后helloa和2相加,所以str的值就是helloa2;

分析第二个:2和a运算:int类型和char类型运算,实际就是运算其二者的十进制值,所以接下来就是99和hello运算,+表现字符串连接符的功能,所以str2的值是99hello。

-:减法就是用于数学角度的运算操作。

/和%:二者都是运用于数学角度的除法:而得出的结果就是:/是商,%是余数。

++和--:自增,自减一个单位;但是在使用的时候就是有区别;如果单独操作那么就是自增或者自减,运算符放在前面或者后面都是一样是运算效果,例:int a = 100;  a++;  ++a; //得出的结果第一个a值变为101,第二个运算:a值变为102;

但是 用于操作运算中,就是运算符的放前放后就是不一样,例:运算符放在操作前面使用,则是先自增(自减),在参与操作。int a = 10; int b = ++a; 这样的b的值就是11,a的值也是11。那么运算符放在操作后面使用,则是先参与操作,在自增(自减)操作。int a1 = 10; int b1 = a1++; 那么b1的值就是先得到a1的值10,那么a1在进行自增操作,所以a1的值最后变为11。

(2).赋值运算符: =,+=,*=,/=,%=   等;

其中“=”号就是最基本的赋值运算符,例:int i = 10; 其运行的操作就是把10这个值赋值给int类型的变量i。

而其余的则为扩展的赋值运算符:而其中就有一个特殊的特点,就是蕴含了强制转换。例:short s = 1;  s = s + 1; 其中我们知道short为单精度的数据类型,而这样的代码块是报错的,因为s为short类型,而s = 1,1 + 1为默认int类型,所以:short s = 1; s = (short) s + 1;这样的运算符才是正确的。所以:short s = 1; s += 1; 这样的代码块才不会,报错,因为s = (short) s + 1;  ===  s += 1;

(3).比较运算符:==,!=,>,<,>=,<=等,而比较运算符的运算结果始终都是boolean类型;

(4).逻辑运算符:&,|,^,!,&&,|| 等,在其中,逻辑运算符是用于为boolean类型搭桥的公式,所以,在逻辑运算符的左右都为boolean类型;

&:在运算符的左右中:如果有false则总体为false;

|:在运算符的左右中:如果有true则总体为true;

^:在运算符的左右中:如果相同总体则为false,不同总体则为true;

!:运算符的右边如果为true则为false,如果为false,则总体为true;

&&:在运算符的左右中:如果左边为false,则右边不执行,执行之后的总体结果就是和&运算判断方法一致,而这种效果就称为短路效果;

||: 在运算符的左右中:如果左边为true,则右边不执行,执行之后的总体结果就是和 | 运算结果一致,

(5).位运算:就是^的一种特殊的功能;用于数值上的运算;数值a和数值b异或两次,那么该运算的值就是数值a的值,不变。

所以,其中就可以运用到两个数据的交换,例: int a = 10; int b = 20;    b = a ^ b ; a= a ^ b ; b = a ^  b ;

2.在数据运算中,我们总是只有运用固定的字符,来进行数据的操作,如果想修改数据,只有重新运行一遍代码,这样,大大的加大了程序的调试难度,那么我们就要实现人机交互,实现键盘录入的功能:这样大大的提高了代码的灵活性。这样我们就是需要运用到后面内容的匿名类功能:那么键盘录入的格式:

(1).导包: import java.utli,Scanner;

(2).创建Scanner对象:Scanner scanner = new Scanner(System.in);

(3).调用该对象,获取键盘录入数据:int i = scanner.nextInt();

3.流程控制语句:总共分为三种:1.顺序结构:从上往下,依次执行; 2.选择结构:按照不同的选择,执行不同的代码块; 3.循环结构:按照循环的条件,执行需要循环的代码块不断执行。

4.if语句:一共有三种格式;其中要注意的是:比较的一个表达式,结果永远是boolean类型;if语句中控制执行的语句如果是一条语句的话,那么{}是可以省略的;如果其中一个执行,那么接下来的条件就不执行。

5.swith语句:格式就不讲了,太low。在switch语句中,就是有几个面试题经常会碰到的题:在switch的表达式中通常是一个数据类型:byte,short,int,char,那么在jdk5之后可以是枚举,在jdk7之后可以是字符串String,但是不能是long类型。还有一个问题就是如果省略了break,那么就会出现case穿透现象。

6.循环语句:for循环,while循环,do...while循环

(1).for循环:有几个注意事项,在判断条件语句一定是boolean类型。在循环体语句中,如果只有一条语句,那么就可以省略大括号。

(2).while循环:对于在while循环和for循环中的使用上的区别,可以这么讲:for适合于一个范围上的判断

while循环呢?适合循环的次数不明确的循环操作。

(3).do...while循环:它和while循环的区别就是它无论循环的条件成立不成立,循环体语句都会执行一次,而for和while就需要先判断条件成立。

在循环中,有些特殊情况需要注意,就是一个死循环现象,对于死循环现象,不要在字面上理解他为一个bug,一个错误的代码,其实在程序中,死循环是一种需要存在的代码,格式比如:for( ; ; ) 和while(true){},就是就是循环条件一定成立,一定是true。那么怎么停止程序呢?这就是待会要讲的控制跳转语句的支持了。在for循环还有一个增强for的应用,在后期的集合中会提到应用

7.控制跳转语句:1.break,2.continue,3.return

对于这三者的区别,需要很强的逻辑能力才能区分,理解。

(1).break:中断,用于跳出单层循环,跳出多层循环。

(2).continue:继续,用于跳出单层循环一次,然后下一次继续循环

(3).return:返回,用于结束方法,在遇到return,该方法,程序就会结束。

JavaSE回顾及巩固的自学之路(三)——————所有语言的都存在的基本运算的更多相关文章

  1. JavaSE回顾及巩固的自学之路(四)——————方法和数组,面向对象

    今天是2018.03.31,emmmmmm.好像距离上一次写Javase回顾总结已经好久好久过去,差一点就以为要停更了,哈哈哈.        其实呢,最近是真的好忙(额,这段时间觉得自己一直在学习) ...

  2. JavaSE回顾及巩固的自学之路(二)——————进入JavaSE

    好的.今天接着上一篇文章对JavaSE的历程初步介绍,开始对JavaSE的技术性知识进行探讨. 首先,选择编程,成为一名程序员,应该会了解一些计算机的相关基础知识,毕竟,以后就是和计算机打交道了嘛.s ...

  3. JavaSE回顾及巩固的自学之路(一)——————前言

    长长的呼出一口气,终于到了末端了,JavaSE,Java入门的基础,历经一个多月,终于细细的学了一遍,大部分的时间都是熬夜到半夜两点钟.本来是一个月的课程,足足让我给学了将近两个月,为什么呢?第一,还 ...

  4. 【转】JAVA自学之路

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  5. 【转】Java自学之路——by马士兵

    作者:马士兵老师 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟 ...

  6. Java自学之路(新手一定要看)

    Java自学之路(新手一定要看) 转自尚学堂 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游 ...

  7. [感悟]马士兵Java自学之路——(精华版)

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  8. 马士兵_JAVA自学之路(为那些目标模糊的码农们)

    转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. ...

  9. 我的web前端自学之路-心得篇:我为什么要学习web前端?

    时光如流水,转眼间,自己已经是大三的学长了,看着一个个学弟学妹,心中有种莫名的感觉,很怀念大学的前两年时光,但也很憧憬着自己的未来,自己将要去经历很多从未经历的事.我是我们学校信科院的一名学生,在编程 ...

随机推荐

  1. Palindrome Function HDU - 6156(数位dp)

    要求m-n内在l-r进制下的是回文数的总个数. dp[进制][从第j为开始][目前到达第k位] = 总的方案数 dfs枚举目前的到达的位置,这个数开始的位置,进制,前导零,限制条件,然后枚举的时候如果 ...

  2. PID 通俗解释

    PID 控制原理3 个故事:看完您就明白了.1.: PID 的故事小明接到这样一个任务:有一个水缸点漏水(而且漏水的速度还不一定固定不变),要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就 ...

  3. OpenLayers学习笔记(五)— 拖拽Feature图层

    参考文档的例子可以知道如何拖动矢量图层feature GitHub: 八至 作者:狐狸家的鱼 本文链接:拖拽Feature图层 全部代码 <!DOCTYPE html> <html& ...

  4. AtCoder arc061C Snuke's Subway Trip

    大意: 给你一张无向图,边有种类. 当你第一次/重新进入某种边时费用 + 1 在同一种边之间行走无费用. 求 1 到 n 的最小费用. 嗯...乍一看有一个很直观的想法:记录每个点的最短路的上一条边的 ...

  5. 用标准C编写COM dll

    参考资料: 用标准C编写COM(一)COM in plain C,Part1 (http://blog.csdn.net/wangqiulin123456/article/details/809235 ...

  6. jquery基本语法(一)

    https://www.cnblogs.com/haiyan123/p/7657151.html 一.jQuery基础1.为什么要用jquery?    写起来简单,省事,开发效率高,兼容性好2.什么 ...

  7. ICPC模板编写 latex

    推荐模板 https://www.jianshu.com/p/28552706e811 另外导入C文件: \lstinputlisting[language=C]{xxx.c} .c文件编码方式为UT ...

  8. eclipse+pyDev

    感觉python脚本语言在linux下挺有用的,想入门学习一下 新手入门个人习惯找个好点的IDE帮助完成工作,试了好多,如pycharm,sublime text自己打造 后来发现全扯淡,一点不符合自 ...

  9. Elastic 基础篇(2)

    1.基本概念 1)Elastic和RDMS对比 RDMS Elastic 数据库database 索引index 表table 类型type 行row 文档document 列column 字段fie ...

  10. 字符类型char、字符串与字符数组、字符数组与数据数组区别

    字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符     AS ...