java 第四章 条件执行
- 格式:doc
- 大小:71.00 KB
- 文档页数:11
第四章 条件执行
4.1循环技术
累加和
篱笆桩循环
在编程中我们遇到一个特定类型循环,称为篱笆桩循环。
4.2 if/else语句
If语句的格式如下
If(){
;
;
;
。。。。
}
如果有些代码要求在某个条件成立时就执行,否则就跳过,那么我们就可以使用简单的if语句来实现。Java还有一个if/else语句,他可以让你再两端代码中间选择一个来执行。
If()
{
;
;
.....
; }
Else
{
;
;
.........
;
}
关系运算符
运算符是两个(==)等号,这个是为了与赋值运算符的(=)相区别。
关系表达式有一个缺陷是它们只能用于基本数据类型。
java运算符
一、算术运算符:
单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
二、关系运算:
等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。
三、位运算符 逻辑运算符:
位运算符 与(&)、非(~)、或(|)、异或(^) &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000 | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110 ~:0变1,1变0 ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110 逻辑运算符 与(&&)、非(!)、或(||)
四、赋值运算符 = += -= *= /= %= &= ^= |= <<= >>=
五、instanceof运算符
该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。
六、 运算符综述
Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x
七 位移运算符
<< 带符号左移 >>带符号右移 >>> 无号右移 例子: int a1 = 8; // 0000 0000 0000
1000 System.out.println(a1>>>2); //// 0000 0000 0000 0010 输出为 2
运算符优先级
按优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \
== != &^& & || ? := op= 。
Java运算符优先级
描述 操作符
单元运算符 ++,--,+,-
乘除运算符 *,/,%
加减运算符 +,-
关系运算符 <,>,<=,>=
相等运算符 = =,!=
赋值运算符 =,+=,-=,*=,/=,%=
使用if计算机累积加和
使用if处理篱笆桩
多出的字符放在外面,因为字符要比"、"多出一个
嵌套循环if/else语句
If()
{
; }
If()
{
;
}
If()
{
;
}
If顺序语句的执行流程
执行控制语句中的任意分支组合
结构:顺序if语句
If(){
;
}
Else{
If(){
;
}else{
If(){ ;
}
}
}
执行一个或者0个控制语句分支
结构:嵌套if语句,以测试结尾
If(){
;
}
Else If(){
;
}else If(){
;
}
只执行一个语句分支
嵌套If语句,以else结尾。
最后是一个else分支,不是if.
If(){
;
}
Else If(){
;
}else {
;
}
自我理解:if有三不同的if语句结构。
对象的相等性
对于Scanner对象和Point这些对象,你不能使用这两个运算符来测试它们是否相等。(==、!=)
如果你测试的P2==P3是否成立,结果是true。那是因为他们指向相同的对象。
如果你测试的P2==P3是否成立,结果是false。那是因为他们指向不同的对象。
Java为检测对象变量本身是否相等提供另一种方式。每个JAVA对象都有都有一个equals方法,此方法的参数是另一个对象。
If(p1.equals(p2)){}
对于String类,java提供了一个equals方法的变体,它在比较字符串是否相等时会忽略字母的大小写,这个方法就是equalsIgnoreCase
If(s.equalsIgnoreCase("yes"))
自己写的:String r="hello";
String t="heloo";
if(r.equals(t))或者if(r.equals(“hello”))
截断错误
一种数值上的错误,因为浮点数知识保存近似值而不是确切的数值。
保存浮点数(如双精度double)时要当心,记住保存的知识近似值而不是精确值。如果你想要精确值,那么就用int类型存储它。
当你得到的数值与期望值稍有偏差时不要惊讶。
不要去比较两个两个double类型的变量是否相等。
构造if/else语句
最小/最大循环
4.4文本处理
程序员经常要对文本进行创建、编辑、检验和格式化处理。我们将这些操作统称为文本处理。
文本处理
编辑和格式化文本中的字符串
Char类型
基本类型Char代表文本中的一个字符。Char类型可以用于定义变量、参数以及返回值类型。包含在一对单引号中的一个字符可以作为char类型的值。Char类型的值可以用在数学表达式中,并且可以在循环中用于覆盖字母所表示的范围还可以使用关系运算符“<”或“==”来比较char变量,而String对象就没有这些特性。
Character类中常用方法
方法 描述 例子
getNumericValue(ch) 将一个数字字符转化为真正的数字 Charcter.getNumericValue(6)返回6
isDigit(ch) 判断这个字符是否从0到9之内 Charcter.isDigit('x')返回false
isLetter(ch) 判断这个字符是否是在'a'到'z'或'A'到'Z'之间 Charcter.isLetter('f')返回true
isLowerCase(ch) 判断这个字符是否是一个小写字母 Charcter.isLowerCase('Q')返回flase
isUpperCase(ch) 判断这个字符是否是一个大写字母 Charcter.isUpperCase('Q')返回ture
toLowerCase(ch) 将给字符转化为小写字母 Charcter.toLowerCase('Q')返回'q'
toUpperCase(ch) 将给字符转化为大写字母 Charcter.toUpperCase('x')返回'X'
自我理解:现在学会了Math类和Character类
Char类型在某种意义上是int类型的子集 System.out.printf(选学)
Printf方法接受一个格式字符串作为参数,他可以规定输出内容的格式,在给事字符串后边紧跟着需要打印的字符串参数。
System.out.printf(,);
格式字符创与普通字符串最大的区别就是在于它包含占位符,这些占位符被称为格式控制符,它充许你为待打印的变量保留一个在输出字符串的位置,还包括打印是所要使用的格式。格式控制符以一个“%”开始,以一个字母来结尾,这个字母固定了方法按照何种方法来打印这个值。
自我理解:占位符被称为控制符。
常用格式控制符
格式控制符 结果
%d 整数
%8d 整数,右对齐,输出宽度为8
%-6d 整数,左对齐,输出宽度为6
%f 浮点数
%12f 浮点数,右对齐,输出宽度为12
%.2f 浮点数,精确到百分位
%16.3f 浮点数,精确到千分位,输出宽度为13
%s 字符串
%8s 字符串,右对齐,输出宽度为8