第五节算法

一、运算符(方法组成二:方法体中算法的组成一)

1、运算运算

1.1运算的概述

1.1.1运算的类型:除了通常的加(+)、减(-)、乘(*)、除(\)之外,还包括取模运算(%)和自增(++)及自减(--)运算

1.2运算的使用

1.2.1使用概述:

使用“++”和“--”运算符:可以使变量的值加1或减1

1.2.2使用情况

(1)如果写在变量前,表示在使用这个变量之前加1或减1

(2)    如果写在变量后,表示这个变量使用完之后再加1或减1

2、关系运算

2.1运算的概述

2.1.1作用

用于判断数据之间的大小关系

2.1.2类型

包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=) 六个运算符

2.2使用

使用boolean类型来表示这种是否的状态,如果关系成立为true,否则为false

3、逻辑运算

3.1概述

3.1.1作用

用来进行逻辑运算的,它是建立在关系运算的基础之上的;当两个关系运算需要兼顾考虑时,可以使用逻辑运算符

3.1.2分类

与(&&)、或(||)和非(!)

单&和单!

3.2使用

3.2.1使用概述

参与逻辑运算的变量或表达式都是boolean类型,运算结果也为boolean类型

3.2.2使用类型

(1)&&

当变量b1和变量b2同时为true时,&&表达式为true。

短路逻辑:对于“&&”,当第一个关系表达式就可以判断出整个表达式的结果时,就不会再去判断后面的第二个表达式

(2)||

当变量b1和变量b2有一个为true时,||表达式为true。

短路逻辑对于“||”,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true

(3)!只有一个表达式,当b1为true时,!b1为false,b1为false时,!b1为true。

(4)&

没有短路效果,前面条件满足还会执行后面的

(5)|

没有短路效果,前面条件满足还会执行后面的

4、赋值运算

4.1概述

4.1.1作用

用于对变量赋值

4.1.2分类

(普通)=

(扩展)加减乘除余=;例如+=;

注:有强制类型转换的隐藏(好像是---)

4.2使用

4.2.1为变量赋值

4.2.2其本身之值即为所赋之值

除了将右边的表达式计算出来赋给左边以外还具备如下特点:赋值表达式本身也有值,其本身之值即为所赋之值

System.out.println(index = num % 5);  // 结果为:3,赋值表达式本身也有值

5、字符连接运算

使用“+”进行字符串连接

当 + 号作用于两个数字类型变量时,是在进行算术运算。

当 + 号两边的变量有一个是字符串类型,即””括起来的时候,则其进行的是字符串的连接,连接后的结果为字符串类型

6、条件(三目)运算

6.1概述

条件运算符又称“三目”运算符,其结构为:boolean表达式 ? 表达式1:表达式2

6.2使用

6.2.1条件运算符的规则如下:

(1)先计算boolean表达式;

(2)如果boolean表达式的值为true,整个表达式的值为表达式1的值;

(3)如果boolean表达式的值为false,整个表达式的值为表达式2的值。

int flag = a > b ? 1 : -1;

6.2.2     嵌套使用

所谓嵌套是指在条件(三目)表达式:“boolean表达式 ? 表达式1:表达式2”中的表达式1或表达式2也是条件(三目)表达式,相当于多重判断;

一、      结构语句(方法组成二:方法体中算法的组成二)

1、概述

2、分类

顺序、分支、循环

3、分支结构if-else

3.1概述

分支结构即为根据一个条件做判断,如果条件满足则执行A,否则执行B。

3.2使用

3.2.1使用类型:

(1)当条件满足时运行某些语句;当条件不满足时则不运行这些语句——if结构。

(2)当条件满足时运行某些语句; 当条件不满足时运行另外一些语句——if-else结构

3.2.2使用语法

语句0;

if(逻辑表达式){

语句1;

语句2;

}

语句3;

如上语句的执行步骤如下所示:

步骤一:执行语句0;

步骤二: 判断逻辑表达式的值,此表达式的值结果为boolean类型,即true或者false。此处可以是关系表达式也可以是逻辑表达式。

  1. 若值为true,则执行if语句块中的语句;
  2. 若值为false,则跳过if语句块;

步骤三:执行语句3语句。

3.2.3{}

{}中只有一条语句,可以省略{},但是不建议;

4、分支结构Switch-case

4.1概述

switch-case是一种特殊的分支结构

4.2使用

4.2.1没有break

switch是以case后的整型常量值作为入口的,若值相等,即开始执行其后面的语句。若没有找到匹配的值,则只执行default的语句;

注意1:使用switch时需要注意两个问题

第一,  case后面的常量值必须不同

第二,  switch后面的整型表达式的值必须是整型或字符型。

第三,  从JDK 7.0开始,switch-case可以支持字符串表达式,将更加方便程序的操作。

4.2.2有break

如上程序中的break语句的作用在于跳出switch结构;

当执行过程遇到break,就执行就跳出switch

5、循环

5.1概述

5.1.1概念

循环是程序设计语言中反复执行某些代码的一种计算机处理过程, 是一组相同或相似语句被有规律的重复性执行。

5.1.2两个要素

两个要素,其一要素为循环体, 也就是被反复执行的相同或相似的语句,其二要素为循环的条件,也就是循环得以继续执行下去的条件,常常以循环次数的方式体现。

5.1.3分类

while、do-while、for。

5.1.4语法

(1)break:可使程序终止循环而执行循环后面的语句,常常与条件语句一起使用

(2)continue:作用为跳过循环体中剩余语句而执行下一次循环

5.1.5分析问题3部分

循环变量初始状态

循环条件

循环变量的改变

5.2while循环

5.2.1什么时候用

先判断再执行

5.2.2语法

while( boolean表达式 ) {

语句块;}

while语句的执行过程为,首先计算boolean表达式的值,而后进行判断,若值为true则执行语句块,语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块,如此循环往复,直到boolean表达式的值为false时退出while循环而执行while之后的语句

5.3do---while

5.3.1什么时候用

先执行一次,再判断

5.3.2语法

do {

语句块

} while( boolean表达式 ) ;

do-while语句的执行过程为,先执行语句块,再判断boolean表达式,如果为true则再次执行语句块,如此循环往复,直到boolean表达式的值为false时止。也就是说,do-while语句,无论boolean表达式是否为true,都先执行一次语句块。

5.4for循环

5.4.1什么时候使用

用于将某个语句或语句块重复执行预定次数的情形

5.4.2语法

for ( 表达式1;表达式2;表达式3  )  {

语句块(循环体)

}

5.4.3表达式的特殊使用

特殊方式1:表达式1位置内容为空

特殊方式2:表达式3位置内容为空时

特殊方式3:表达式1,2,3位置内容均为空时---死循环

特殊方式4:表达式 1 和 3 位置内容的多样化

for语句中的三个表达式中表达式1和表达式3可以使用逗号表达式,逗号表达式就是通过”,”运算符隔开的多个表达式组成的表达式,从左向右进行计算

for ( int  i =1 , j = 6 
;  i <= 6  ;  i +=2
, j -=2 )

原文地址:https://www.cnblogs.com/mhy666/p/mhy_java_suanfa.html

时间: 2024-11-01 11:54:36

第五节算法的相关文章

第五节 算法的分类介绍和数据集的划分

""" 机器学习算法分类: 监督学习(有目标值) 分类(目标值是离散型数据):K-近邻算法.贝叶斯分类.决策树与随机森林.逻辑回归.神经网络 回归(目标值是连续型数据):线性回归.岭回归 无监督学习(无目标值):聚类 K-means 机器学习一般会把数据集划分为训练集(3/4)和测试集(1/4),可以使用sklearn中的train_test_split模块进行自动分类 """ # 使用sklearn自带的鸢尾花数据集进行数据划分 from sk

Dremel: Interactive Analysis of Web-Scale Datasets 1~6节算法思想部分翻译

摘要: Dremel是一个具有可扩展性和交互性,专用于分析只读嵌套数据的查询系统.它本身对多级操作数和柱状数据布局的融合使它得以在秒级的反应时间内对有万亿数量级行记录的表进行集成语句查询.这个系统在谷歌包含数以千计的CPU和PT级的数据量,并有着上千名使用者.这篇论文中,我们将会介绍Dremel的体系结构以及其实现,并阐述它如何实现基于MapReduce的计算.我们将呈现一种全新的嵌套式数据柱状存储方式并通过一个基于几千节点的样例系统实验分析性能. 1.介绍: 大型数据分析性处理已经在互联网公司

大白话5分钟带你走进人工智能-第二十五节决策树系列之信息增益和信息增益率(4)

                                                       第二十五节决策树系列之信息增益和信息增益率(4) 上一节我们讲解了决策树的分裂条件以及评估纯度的其中一个方式,基尼系数.本节的话,我们再讲解一个评估纯度的方式,基于信息增益的方式,即ID3树使用的评估方式.它办的事跟Gini系数一样,也是评价纯度,但是它更客观一点,但它算起来比Gini系数稍慢一点,它办的事跟Gini系数一样,也是评价纯度,但是它更客观一点,算起来比Gini系数稍慢一点,

android内部培训视频_第五节(1)_OA实战之登录界面

第五节(1):OA实战之登录界面  一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&q

Git帮助文档阅读笔记----第二章-第五节---打标签

本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别. 列显已有的标签 直接运行 git tag 即可: 可以用特定的搜索模式列出符合条件的标签.在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令: $ git tag -l 'v1.4.2.*' v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4 新建标签 轻量级的(lightweight) 含附注的(annotated)(建议

centos lamp/lnmp阶段复习 第二十五节课

centos  lamp/lnmp阶段复习   第二十五节课 上半节课 下半节课 f

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台-创建课程机构app,在models.py文件生成3张表,城市表.课程机构表.讲师表 创建名称为app_organization的课程机构APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime import datetim

第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的查询

第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)的查询 elasticsearch(搜索引擎)的查询 elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据 查询分类: 基本查询:使用elasticsearch内置的查询条件进行查询 组合查询:把多个查询条件组合在一起进行复合查询 过滤:查询同时,通过filter条件在不影响打分的情况下筛选数据

centos mysql 优化 第五节课

centos mysql  优化  第五节课 f