- 浏览: 772450 次
- 性别:
- 来自: 太原
博客专栏
-
Java编程Step-by...
浏览量:161307
最新评论
-
liuwei1981:
尘土飞扬 写道取整的函数,返回值是double?测试下就能看出 ...
86.Math类的使用 -
尘土飞扬:
取整的函数,返回值是double?
86.Math类的使用 -
尘土飞扬:
终于清楚了Date和Calendar的来龙去脉谢谢
90.Java日期处理 -
谁说我不是会员:
liuwei1981 写道hupu_2014 写道根据你的执行 ...
65.对象的构造以及初始化 -
谁说我不是会员:
有的地方能优化,有的不能,不能一概而论。
有必要用StringBuilder的append代替String的+字符串连接运算么
文章列表
程序运行过程中,需要对运行的流程顺序做控制。基本上程序的执行过程分三种:
1.顺序执行
从开始到结束,依次运行代码,直至全部运行结束。
2.分支语句
在执行过程中,根据某些情况条件,只执行其中一部分语句代码
3.循环执行
在执行过程中,重复的执行某些语句代码。
我们先前做的那些示例练习,大部分都是顺序执行代码,这个是很自然熟悉的,也不需要特别的练习了,现在我们先看看分支语言如何来实现。
在现实世界中,很多这样的情况:如果今天下雨,就呆在家里看DVD,否则的话就出去打球。这样的选择题多得很。编程语言都来模拟这个逻辑,实现了条件分 ...
在前面的内容中,一直在使用一个概念:表达式。
那么,什么是表达式呢?简而言之,表达式就是运算符和操作数的结合。
当代码执行的时候,由Java解释器进行求值,如果结果可以预先计算的话,可以由编译器来进行求值。
下面就是Java表达式中运算符的优先顺序:
运算符说明 Java运算符分隔符 . [] () , ;单目运算符 + - ~ ! ++expr --expr创建或类型转换 new (type)expr乘法/除法 * / %加法/减法 + -移位 << >> >>&g ...
47.运算符的结合性
- 博客分类:
- 我的生活
- Java软件编程学习杂谈
除了上面的这些运算符外,Java还提供其他非常丰富的运算符来进行其他的运算。
Java软件运算符在风格和功能上都与C和C++极为相似。按优先顺序列出了各种运算符(“L to R”表示左到右结合,“R to L”表示右到左结合)
分隔符: [] () ; , R to L ++ -- + - ~ ! (data type) L to R * / % L to R + - L to R << >> >>> L to R < > <= >= instanceof L to R ...
这个运算符可以说是在之后的编程中,运用最多的运算符了,根据印象来看的话,仅次于赋值运算符。
这个运算符也是重载运算符,重载了+运算符。在前面也提到了,Java中再布尔运算符和位运算中,实现了不少运算符的重载。但是由于这些位运算符使用频率极低,人们几乎都忘了Java还有这么一类运算符,以至于很多时候,会把字符串连接运算符认为是Java中唯一重载的运算符。
那么当Java源代码中出现了+运算符后,它到底是加法运算符还是字符串连接运算符?这里就是Java编译器运行判断的基本原则:
当“+”用在表达式中的时候,如果其中有一个操作数是字符串类型(String),则Java会自动将另 ...
45.再说类型转换
- 博客分类:
- java技术
- Java软件编程学习杂谈
在之前的内容中,我们已经知道了,数值简单数据类型数据之间是可以相互转换的。那么,在表达式中,它是如何转换的呢?比如,如果一个表达式中既有float类型的数据,又有double类型的数据,那么,得出来的结果到底是什么数据类型呢?
Java在编译期间就会进行扩展类型检查,并且在数据从一种类型转换到另一种类型时有严格的限制。
我们知道,在Java中,存在两种不同类型的类型转换:
隐式转换:在对包含非boolean简单数据类型(primitive type)的表达式求值的时候,Java会进行大量的隐式类型转换。
这些转换有很大的限制,但最基本的原则是这种转换必须是提升(widening,或 ...
44.赋值运算符
- 博客分类:
- java技术
- Java软件编程学习杂谈
我们在前面的学习中,其实已经在很多的地方都用到了赋值运算符。赋值运算符“=”将“=”右边的值赋给(更准确说是“复制到”)左边的变量。
“=”右边的值可以是任何的变量、常量或者一个可以产生值的表达式,而“= ...
43.移位运算符
- 博客分类:
- java技术
- Java软件编程学习杂谈
移位运算符和位运算符使用频度差不多,基本上很少用到。这里也是简单提一下。
在n久之前,很多Java面试题会有这样类型的题目:以最有效率的算法完成乘法或者除法,这里就需要用到移位运算符,不过这里除数都是2的倍 ...
42.位运算符
- 博客分类:
- Java软件编程学习杂谈
- java技术
Java中的位运算符,基本上除了涉及到比较底层,强调效率性能的部分之外,其他地方很少用到的,特别是做应用开发。这里只是简单的介绍一下,了解一下。
在操作整型数据时,可以使用运算符直接处理组成这些整数的各个二进制位。适用的数据类型有:byte、short、char、int、long。
位运算符“&”(与)会在两个操作数都为1时,返回一个1的输出值,而在其他情况下为0;
位运算符“|”(或)会在两个操作数中有一个为1时,返回一个1的值;
位运算符“^”(异或)会在两个操作数中有且只有一个为1时,返回1;
而位运算符“~”(取反)是一个单目运算符,它只有一个操 ...
大部分的运算符都是需要两个操作数来完成运算。比如前面提到的算术运算符,布尔运算符等,递增递减运算符则只需要一个操作数即可。根据运算符完成运算需要的操作数个数,将该运算符归为*元运算符,*记为运算操作数个数。也有称之为”目“的。
这里要说的是三元运算符,即该运算符完成运算需要3个操作数。这在Java运算符中仅此一例,所以它没有自己独有的名字,而是直接叫做三元运算符。
三元运算符“?:”,注意在这个运算符中,有2个符号组成。这个运算符的用法如下: condition?a:b
它的意思是,如果条件condition(布尔表达式)为true,则表达式的值为a,否则,表达式的值为b。我们 ...
1.关系运算符
在Java中,提供了完整了关系运算符。Java中,关系运算符包括:>,<,>=,<=,==,!=,用来对两个简单类型操作数进行比较运算,所组成的表达式结果为boolean类型的值true或false。
注意:除了“==”和“!=”外,其他的关系运算符都不能用在boolean类型的操作数中。
在这边需要提醒注意的是,在Java中,“不等于”是用“!=”表示的,而不是一些编程语言的“<>”,而等于也是和一些编程语言不一样,它使用“==”而非“=”,在Java中,“=”用于赋值操作,而非关系运算符。
“==”和“!=”除了用于简单 ...
39.递增递减运算符
- 博客分类:
- java技术
- Java软件编程学习杂谈
在编写Java程序的时候,经常需要对一个变量加一或者减一,这个时候通常使用递增或递减运算符来完成。
递增和递减操作符有两种形式:前缀和后缀。前缀就是将运算符放在操作数前面,而后缀将运算符放在操作数后面。
int k =20;k++;此时,k的值为21。
前缀方式和后缀方式的作用都是对操作数加上或减去1,区别在于用在表达式中的时候。如:int m = 10;int n = 10;int p = 2*++m;int q = 2*n++;
此时,p的值是22,而q的值是20。m和n的值都是11。
这是因为,在进行p = 2*++m运算时,程序会先将m加上1然后再进行乘法运算 ...
编程过程中,基本上都是对数据对象的运算操作。
在Java编程语言里面,对象和数据的处理是通过运算符来完成的。运算符接受一个或多个操作数,并通过运算产生新值。
这里先说说最常见的Java算术运算符,完成基本的数学运算。
Java使用常见的算术操作符+、-、*、/来进行加、减、乘、除运算。
整数的求余操作(mod)用百分号%来表示。
这些算术运算符可以用于java基本数据类型中的数值型(byte,short,char,int,long,float,double)数据。
对于+、-和*运算符,都是非常容易理解的,它们分别接受两个操作数,通过运算后返回得到 ...
Java语言编码惯例
- 博客分类:
- java技术
- Java软件编程学习杂谈
这里说说Java语言编码惯例。
任何一种语言都有其规范惯例。比如以前汉语都是从左到右,从上到下的书写,现在是从左到右,从上到下的书写,每段前空开两个字符表示一段文字的开始等等。
说道编程语言,本质上也是 ...
37.值传递
- 博客分类:
- Java软件编程学习杂谈
- java技术
在程序中,我们经常需要将一个变量的值赋给另外一个变量,赋值后,两个变量的值相同,那么,在Java中,它是通过值传递的机制来实现的。
我们首先来看一个例子。这个例子中的参数是引用类型java.util.Date。
import java.u ...
在新的公司已经工作半年多了。
新公司入职后,就立即加入到一个项目中了,几乎没有什么过渡期。当时对项目没有什么整体的了解,仅仅是拿着详细设计文档,在一个新的空项目平台框架上添加功能。
幸好当时还有一 ...