Java运算符及顺序、选择结构
- :运算符(掌握)
- ()算术运算符
- A:+,-,*,/,%,++,--
- B:+的用法
- a:加法
- b:正号
- c:字符串连接符
- C:/和%的区别
- 数据做除法操作的时候,/取得是商,%取得是余数
- D:++和--的用法
- a:他们的作用是自增或者自减
- b:使用
- **单独使用
- 放在操作数据的前面和后面效果一样。
- a++或者++a效果一样。
- **参与操作使用
- 放在操作数的前面:先自增或者自减,再参与操作
- int a = ;
- int b = ++a;
- 放在操作数的后面:先参与操作,再自增或者自减
- int a = ;
- int b = a++;
- ()赋值运算符
- A:=,+=,-=,*=,/=,%=等
- B:=叫做赋值运算符,也是最基本的赋值运算符
- int x = ; 把10赋值给int类型的变量x。
- C:扩展的赋值运算符的特点
- 隐含了自动强制转换。
- 面试题:
- short s = ;
- s = s + ;//错误,+只能是int进行运算,这里需要类型转换
- short s = ;
- s += ;
- 请问上面的代码哪个有问题?
- ()比较运算符
- A:==,!=,>,>=,<,<=
- B:无论运算符两端简单还是复杂最终结果是boolean类型。
- C:千万不要把==写成了=
- ()逻辑运算符
- A:&,|,^,!,&&,||
- B:逻辑运算符用于连接boolean类型的式子
- C:结论
- &:有false则false
- |:有true则true
- ^:相同则false,不同则true。
- 情侣关系。
- !:非true则false,非false则true
- &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
- ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
- ()位运算符(了解)
- A:^的特殊用法
- 一个数据针对另一个数据位异或两次,该数不变
- B:面试题
- a:请实现两个变量的交换
- **采用第三方变量
- **用位异或运算符
- 左边a,b,a
- 右边a^b
- b:请用最有效率的方式计算出2乘以8的结果
- <<
- ()三元运算符
- A:格式
- 比较表达式?表达式1:表达式2;
- B:执行流程:
- 首先计算比较表达式的值,看是true还是false。
- 如果是true,表达式1就是结果。
- 如果是false,表达式2就是结果。
- C:案例:
- a:比较两个数据是否相等
- b:获取两个数据中的最大值
- c:获取三个数据中的最大值
- :键盘录入(掌握)
- ()实际开发中,数据是变化的,为了提高程序的灵活性,我们加入键盘录入数据。
- ()如何实现呢?目前就记住
- A:导包
- import java.util.Scanner;
- 位置:在class的上边
- B:创建对象
- Scanner sc = new Scanner(System.in);
- C:获取数据
- int x = sc.nextInt();
- ()把三元运算符的案例加入键盘录入改进。
- :流程控制语句
- ()顺序结构 从上往下,依次执行
- ()选择结构 按照不同的选择,执行不同的代码
- ()循环结构 做一些重复的代码
- :if语句(掌握)
- ()三种格式
- 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的值,看是true还是false
- 如果是true,就执行语句体1
- 如果是false,就继续判断比较表达式2的值,看是true还是false
- 如果是true,就执行语句体2
- 如果是false,就继续判断比较表达式3的值,看是true还是false
- ...
- 如果都不满足,就执行语句体n+
- ()注意事项
- A:比较表达式无论简单还是复杂,结果是boolean类型
- B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
- 建议:永远不要省略。
- C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
- D:else后面如果没有if,是不会出现比较表达式的。
- E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
- ()案例:
- A:比较两个数是否相等
- B:获取两个数中的最大值
- C:获取三个数中的最大值(if语句的嵌套)
- D:根据成绩输出对应的等级
- E:根据月份,输出对应的季节
- F:根据x计算对应y的值并输出
- ()三元运算符和if语句第二种格式的关系
- 所有的三元运算符能够实现的,if语句的第二种格式都能实现。
- 反之不成立。
- 如果if语句第二种格式控制的语句体是输出语句,就不可以。
- 因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。
Java运算符及顺序、选择结构的更多相关文章
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构
035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...
- 026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构
026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构 本文知识点:Java中的if-else条件结构语句 上文回顾--if条件结构 如果 ...
- 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构
025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...
- java中的if-Switch选择结构
字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...
随机推荐
- java的IO流
java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...
- jsp 页面 jstl 日期的计算
1. <% page import ="java.util.Date"%> 2. <% Date date = new Date(); date = new Da ...
- 实战微信JS SDK开发:贺卡制作与播放(1)
前段时间忙于CanTK 2.0的开发,所以博客一直没有更新.CanTK 2.0主要增强了游戏和富媒体的开发,现在编码和测试基本完成了,等文档完成了再正式发布,里面有不少激动人心的功能,等发布时再一一细 ...
- Laravel 分页详解
Laravel分页很简单,但功能又很强大噢! 首先在控制器的方法中使用paginate(页面显示条数)方法,传入页面显示的条数 然后在模板页面使用方法render()来生成html元素 appends ...
- angular-ui-router状态不变刷新页面
需求: 当前在A页面状态,要求在点击A状态时,可以刷新A状态. 解决方法:在ui-sref状态切换的标签中添加属性 ui-sref-opts="{reload: true}" ...
- 初学java之常用组件
import javax.swing.*; import java.awt.*; class Win extends JFrame { JTextField mytext; // 设置一个文本区 JB ...
- asp.net 使用UrlRewritingNet.UrlRewriter组件URL重写,伪静态详解
目录 URL重写的业务需求 ReWritingNet组件主要功能 配置IIS(IIS7/8环境下) 程序代码 重写规则 一,URL重写的业务需求 顾客可以直接用浏览器bookmark功能将页面连结储存 ...
- Java集合——List接口
1.定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2.方法 add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元 ...
- PHP函数——urlencode() 函数
urlencode($str)的作用是对字符串$str进行url编码,方便$str作为一个变量传递给下一页,一般情况下$str有两种, 第一种是数组类型,如果想将数组作为url的一个参数,即必须将数组 ...
- 源码编译Chrome
官网描述 http://www.chromium.org/developers/how-tos/build-instructions-windows 为啥还要写这篇博客 太久没在这里写博客 Chrom ...