Java学习(第三天)

接受用户输入

引用Scanner类

定义语句

Scanner input = new Scanner(System.in)

数据类型  变量 = input.不同类型的接收值

 

 

input.next()接收输入的所有内容

input.nextLine()接收输入的一行内容

当同时出现的时候,例如输入abc然后回车会出现只有一句执行的情况,这是因为输入的语句

同时满足了两个语句的条件,所以不要同时用。

区别:

next接收不了空格,以回车和空格作为结束。必须输入真正有效字符才算结束,如果输入的只

有空格则不会结束。

nextLine只会以回车作为结束

 

执行结构

基本结构(三种):顺序结构、分支结构、循环结构

 

顺序结构:按照语句出现的顺序执行操作

分支结构:根据条件成立与否来执行操作

循环结构:是一种重复结构,如果条件成立,会一直重复执行某一循环体,直到出现不满足的条

件为止。

 

分支结构

if条件语句:

依据条件判断后再进行处理。

 

switch语句:

表达式的返回值必须是以下几种类型之一:int,byte,char,short,String。

case子句中的取值必须是常量且不同。

default子句可以选择不写,不写的话如果没有满足的执行条件则直接跳过。

break语句用来跳出switch语句块;如果没有写break则依次往下执行,直到遇见break。

这种情况一般用来处理不同的case子语句中的代码相同的情况。

 

循环语句

for循环  while循环  do/while循环

 

while循环

符合条件,循环继续执行;否则,循环退出

特点:先判断再执行

 

使用时的步骤:

分析循环条件和循环操作

套用while语法写出代码

检查循环是否能够退出

 

do/while循环

先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出

特点:先执行,再判断

 

while循环和do/while循环的区别

while:先判断条件,如果条件满足,再执行循环操作

do/while:先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。

 

for循环

for(定义循环变量;判断循环条件;更新循环变量){    }

 

循环嵌套图形打印

外层循环控制行数,内层循环控制列数

 

break和continue语句

break适用于终止本轮所有次数的循环。也就是说直接跳出循环不再执行。

continue是用于终止本轮本次循环。也就是说循环中continue之后的代码不执行,进入到下一次循环的

入口判断。

 

如何退出多重循环

给循环命名 比如cx:for(),则需要跳出多重循环时只需要break cx;即可

 

判断用户输入类型

在接收输入之前判断输入的类型是否正确

input.hasNext+类型(Int 、Boolean等)

 

数组

数组是相同数据类型的多个数据的容器

元素按照线性顺序排列(一个跟一个顺序排列)

创建格式

1.数据类型[] 数组名称 = new 数据类型[数组长度]

2.数据类型[] 数组名称  = {数组内容1,数组内容2,数组内容3,...数组内容n,}

 

如何获取数组的长度:数组名称.length

 

不常用数组定义格式:

1.创建数组,不初始化

格式: 数据类型[] 数组名;

之后的初始化只能通过new int[]类似这种的方式进行初始化

2.创建数组,并指定数组中的内容

格式:数据类型[] 数组名称 = new 数据类型[ ]{内容1,内容2.。。。内容n}

 

数组常见问题

1.数组下标越界问题。

2.空指针问题 。

 

最大最小值

1. 创建一个变量,用于存储遍历数组时发现的最大值

2.循环取出数组中的每一个内容,从1开始

3.将数组中的每一个内容与n比较,如果比n打,则将n的值赋值为这个较大的值。

 

冒泡排序

升序排列的口诀:

N个数字来排队

两两相比小靠前,

外层 循环length-1

内层循环length-i-1

 

降序排序的口诀:

N个数字来排队

两两相比大靠前,

外层 循环length-1

内层循环length-i-1

 

 

二分查找(折半查找)

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,二分

查找要求数组数据必须采用顺 序存储结构有序排列。

1.确定查找的范围 最小-最大

2.计算中间的下标(最小+最大)/2

3.比较中间下标,中间数据较大,则最大下标等于中间下标-1

   比较中间下标,中间数据较小,则最小下标等于中间下标+1

当最小下标大于最大下标时,说明数据时不存在的

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值