[黑马程序员][java基础学习]03——Java基础语法(二)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > [黑马程序员][java基础学习]03——Java基础语法(二)

[黑马程序员][java基础学习]03——Java基础语法(二)

 2015/4/21 0:40:20  不上课也要睡觉  程序员俱乐部  我要评论(0)
  • 摘要:------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------1.运算符(1)算术运算符A:+,-,*,/,%,++,--B:+的用法a:加法b:正号c:字符串连接符C:/和%的区别数据做除法操作的时候,/取得是商,%取得是余数D:++和--的用法a:他们的作用是自增或者自减b:使用**单独使用放在操作数据的前面和后面效果一样。a++或者++a效果一样。**参与操作使用放在操作数的前面:先自增或者自减,再参与操作inta=10;intb=++a
  • 标签:程序 程序员 学习 Java
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.运算符

?? ???? (1)算术运算符

?? ??? ??? ?A:+,-,*,/,%,++,--
?? ??? ??? ?B:+的用法
?? ??? ??? ??? ?a:加法
?? ??? ??? ??? ?b:正号
?? ??? ??? ??? ?c:字符串连接符
?? ??? ??? ?C:/和%的区别
?? ??? ??? ??? ?数据做除法操作的时候,/取得是商,%取得是余数
?? ??? ??? ?D:++和--的用法
?? ??? ??? ??? ?a:他们的作用是自增或者自减
?? ??? ??? ??? ?b:使用
?? ??? ??? ??? ??? ?**单独使用
?? ??? ??? ??? ??? ??? ?放在操作数据的前面和后面效果一样。
?? ??? ??? ??? ??? ??? ?a++或者++a效果一样。
?? ??? ??? ??? ??? ?**参与操作使用
?? ??? ??? ??? ??? ??? ?放在操作数的前面:先自增或者自减,再参与操作
?? ??? ??? ??? ??? ??? ??? ?int a = 10;
?? ??? ??? ??? ??? ??? ??? ?int b = ++a;
?? ??? ??? ??? ??? ??? ?放在操作数的后面:先参与操作,再自增或者自减
?? ??? ??? ??? ??? ??? ??? ?int a = 10;

?? ??? ??? ??? ??? ??? ??? ?int b = a++;

???????

?? ??? ?(2)赋值运算符

?? ??? ??? ?A:=,+=,-=,*=,/=,%=等
?? ??? ??? ?B:=叫做赋值运算符,也是最基本的赋值运算符
?? ??? ??? ??? ?int x = 10; 把10赋值给int类型的变量x。
?? ??? ??? ?C:扩展的赋值运算符的特点
?? ??? ??? ??? ?隐含了自动强制转换。
?? ??? ??? ??? ?
?? ??? ??? ??? ?面试题:
?? ??? ??? ??? ??? ?short s = 1;
?? ??? ??? ??? ??? ?s = s + 1;
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?short s = 1;
?? ??? ??? ??? ??? ?s += 1;

?? ??? ??? ??? ??? ?请问上面的代码哪个有问题?

?

?? ??? ?(3)比较运算符

?? ??? ??? ?A:==,!=,>,>=,<,<=
?? ??? ??? ?B:无论运算符两端简单还是复杂最终结果是boolean类型。

?? ??? ??? ?C:千万不要把==写成了=

?? ??? ?(4)逻辑运算符

?? ??? ??? ?A:&,|,^,!,&&,||
?? ??? ??? ?B:逻辑运算符用于连接boolean类型的式子
?? ??? ??? ?C:结论
?? ??? ??? ??? ?&:有false则false
?? ??? ??? ??? ?|:有true则true
?? ??? ??? ??? ?^:相同则false,不同则true。
?? ??? ??? ??? ??? ?情侣关系。
?? ??? ??? ??? ?!:非true则false,非false则true
?? ??? ??? ??? ?
?? ??? ??? ??? ?&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。

?? ??? ??? ??? ?||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。

?? ??? ?(5)位运算符(了解)

?? ??? ??? ?A:^的特殊用法
?? ??? ??? ??? ?一个数据针对另一个数据位异或两次,该数不变
?? ??? ??? ?B:面试题
?? ??? ??? ??? ?a:请实现两个变量的交换
?? ??? ??? ??? ??? ?**采用第三方变量
?? ??? ??? ??? ??? ?**用位异或运算符
?? ??? ??? ??? ??? ??? ?左边a,b,a
?? ??? ??? ??? ??? ??? ?右边a^b
?? ??? ??? ??? ?b:请用最有效率的方式计算出2乘以8的结果

?? ??? ??? ??? ??? ?2<<3

?? ??? ?(6)三元运算符

?? ??? ??? ?A:格式
?? ??? ??? ??? ?比较表达式?表达式1:表达式2;
?? ??? ??? ?B:执行流程:
?? ??? ??? ??? ?首先计算比较表达式的值,看是true还是false。
?? ??? ??? ??? ?如果是true,表达式1就是结果。
?? ??? ??? ??? ?如果是false,表达式2就是结果。
?? ??? ??? ?C:案例:
?? ??? ??? ??? ?a:比较两个数据是否相等
?? ??? ??? ??? ?b:获取两个数据中的最大值

?? ??? ??? ??? ?c:获取三个数据中的最大值

2.键盘录入

?? ???? (1)实际开发中,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。
?? ??? ?(2)如何实现呢?目前就记住
?? ??? ??? ?A:导包
?? ??? ??? ??? ?import java.util.Scanner;
?? ??? ??? ??? ?位置:在class的上边
?? ??? ??? ?B:创建对象
?? ??? ??? ??? ?Scanner sc = new Scanner(System.in);
?? ??? ??? ?C:获取数据
?? ??? ??? ??? ?int x = sc.nextInt();
?? ??? ?(3)把三元运算符的案例加入键盘录入改进。

3.流程控制语句

??? (1)顺序结构 从上往下,依次执行
?? ?(2)选择结构?? ?按照不同的选择,执行不同的代码
?? ?(3)循环结构 做一些重复的代码

4.if语句

?? ???? (1)三种格式

?? ??? ??? ?A:格式1
?? ??? ??? ??? ?if(比较表达式) {
?? ??? ??? ??? ??? ?语句体;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?执行流程:
?? ??? ??? ??? ??? ?判断比较表达式的值,看是true还是false
?? ??? ??? ??? ??? ?如果是true,就执行语句体
?? ??? ??? ??? ??? ?如果是false,就不执行语句体
?? ??? ??? ?
?? ??? ??? ?B:格式2
?? ??? ??? ??? ?if(比较表达式) {
?? ??? ??? ??? ??? ?语句体1;
?? ??? ??? ??? ?}else {
?? ??? ??? ??? ??? ?语句体2;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?执行流程:
?? ??? ??? ??? ??? ?判断比较表达式的值,看是true还是false
?? ??? ??? ??? ??? ?如果是true,就执行语句体1
?? ??? ??? ??? ??? ?如果是false,就执行语句体2
?? ??? ??? ??? ??? ?
?? ??? ??? ?C:格式3
?? ??? ??? ??? ?if(比较表达式1) {
?? ??? ??? ??? ??? ?语句体1;
?? ??? ??? ??? ?}else if(比较表达式2){
?? ??? ??? ??? ??? ?语句体2;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?...
?? ??? ??? ??? ?else {
?? ??? ??? ??? ??? ?语句体n+1;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?执行流程:
?? ??? ??? ??? ??? ?判断比较表达式1的值,看是true还是false
?? ??? ??? ??? ??? ?如果是true,就执行语句体1
?? ??? ??? ??? ??? ?如果是false,就继续判断比较表达式2的值,看是true还是false
?? ??? ??? ??? ??? ?如果是true,就执行语句体2
?? ??? ??? ??? ??? ?如果是false,就继续判断比较表达式3的值,看是true还是false
?? ??? ??? ??? ??? ?...
?? ??? ??? ??? ??? ?如果都不满足,就执行语句体n+1

?? ??? ?(2)注意事项

?? ??? ??? ?A:比较表达式无论简单还是复杂,结果是boolean类型
?? ??? ??? ?B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
?? ??? ??? ??? ?建议:永远不要省略。
?? ??? ??? ?C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
?? ??? ??? ?D:else后面如果没有if,是不会出现比较表达式的。
?? ??? ??? ?E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。

?? ??? ?(3)三元运算符和if语句第二种格式的关系

?? ??? ??? ?所有的三元运算符能够实现的,if语句的第二种格式都能实现。
?? ??? ??? ?反之不成立。
?? ??? ??? ?
?? ??? ??? ?如果if语句第二种格式控制的语句体是输出语句,就不可以。
?? ??? ??? ?因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。

发表评论
用户名: 匿名