java 判断对象为控制_Java流程控制

Java流程控制

1、Scanner对象

①java.util.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入。

②基本语法:

1 Scanner s=new Scanner(System.in);

③通过next()和nextLine()方法接受用户输入,通过hasNext()和hasNextLine()方法来判断用户是否输入

next()要点:

1.一定要读取到有效字符后才可以结束输入

2.对输入有效字符前遇到的空白,next()方法会自动将其去掉

3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

4.next()不能得到带有空格的字符串

nextLine()要点:

1.以Enter为结束符,返回的是输入回车之前的所有字符

2.可以获得带有空格的字符串

1      //创建一个扫描器对象,用于接收键盘数据

2 Scanner scanner=new Scanner(System.in);

3 ​

4 System.out.print("用next方式接收:");

5 //判断用户有没有输入字符串

6 if(scanner.hasNext()){

7 String str=scanner.next();

8 System.out.print("输出的内容为:"+str+"\n");

9 }

10 ​

11 System.out.print("用nextLine方式接收:");

12 if(scanner.hasNextLine()){

13 String str=scanner.nextLine();

14 System.out.print("输出的内容为:"+str+"\n");

15 }

16 ​

17 //凡是属于IO流的类如果不关闭会一直占用资源,要用完就关掉

18 scanner.close();

2、顺序结构

Java的基本结构就是顺序结构,任何算法都离不开这种结构。

语句与语句之间,框与框之间是按从上到下的顺序进行的。

d467ce373b3f0529b21c80cdf98d00af.png

3、if选择结构

①if单选择结构

if(布尔表达式){

//表达式为true则执行语句

}

②if双选择结构

if(布尔表达式){

//表达式为true则执行语句

}else{

//表达式为false则执行语句

}

③if多选择结构

if(布尔表达式1){

//表达式1为true则执行语句

}else if(布尔表达式2){

//表达式2为true则执行语句

}else if(布尔表达式3){

//表达式3为true则执行语句

}else{

//如果以上表达式都为false则执行语句

}

④嵌套的if结构

可以在if语句中再添加if语句,也就是嵌套使用

注意点:1.if语句至多有一个else语句,else语句在所有的else if语句之后

2.if语句可以有多个else if语句,但必须在else语句前面

3.一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行

4、switch多选择结构

switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

swicth(expression){

case value1:

//语句

break;//可选

case value2:

//语句

break;//可选

//你可以有任意数量的case语句

default://可选

//语句

}

注意点:1.switch就相当于匹配一个具体的值

2.每个case后面都应当匹配一个break,否则会出现穿透现象,也就是某个case匹配符合后,会一直从上往下运行,直到遇到一个break语句或者语句执行完成

3.switch语句中的变量类型可以是byte、short、int、char,从Java SE7开始支持字符串String类型

5、while循环结构

while是最基本的循环,只要布尔表达式是true,循环就会一直执行下去。大多数情况下是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。while循环先判断后执行。

while(布尔表达式){

//循环内容

}

6、Do—while循环结构

Do—while循环先执行后判断;即使不满足条件,也至少执行一次

do{

//循环内容

}while(布尔表达式);

7、for循环结构

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构;for循环的执行次数在执行前就已经确定

for(初始化;布尔表达式;更新){

//代码语句

}

注意点:1.初始化、布尔表达式、更新都可以是空语句

2.布尔表达式值为true则执行语句,否则结束执行

练习题:打印九九乘法表

1 public class Demo3 {

2 //打印九九乘法表

3 public static void main(String[] args) {

4 for(int i=1;i<=9;i++){

5 for(int j=1;j<=i;j++){

6 System.out.print(i+"*"+j+"="+i*j+"\t");

7 }

8 System.out.print("\n");

9 }

10 }

11 }

增强for循环

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配;其作用域限定在循环语句块,其值与此时数据元素的值相等

表达式:要访问的数组名,或者是返回值为数组的方法

for(声明语句:表达式){

//代码句子

}

8、break和continue

break语句是结束循环

1 for(int i=0;i<=5;i++){

2 if(i==3){

3 break;

4 }

5 System.out.print(i+" ");

6 } //输出结果为0 1 2

continue语句是结束本次循环

1 for(int i=0;i<=5;i++){

2 if(i==3){

3 continue;

4 }

5 System.out.print(i+" ");

6 } //输出结果为0 1 2 4 5

练习题:打印三角形

1 public class Triangle {

2 //打印三角形

3 public static void main(String[] args) {

4 for(int i=1;i<=5;i++){

5 for(int j=5;j>=i;j--){ //打印每行空格

6 System.out.print(" ");

7 }

8 for(int k=1;k<=i;k++){ //打印中间及左边部分

9 System.out.print("*");

10 }

11 for(int k=1;k

12 System.out.print("*");

13 }

14 System.out.print("\n");

15 }

16 }

17 }

18 ​

19 /*运行结果:

20 *

21 ***

22 *****

23 *******

24 *********

25 */

标签:语句,控制,Java,流程,else,循环,true,表达式,布尔

来源: https://www.cnblogs.com/yqsumAll/p/14386338.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lsb_release -a 查询系统版本

LSB是Linux Standard Base的缩写&#xff0c;lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数&#xff0c;则默认加上-v参数。 -v, --version 显示版本信息 -i, --id 显示发行版的ID -d, --description 显示该发行版的描述信息 -r, --release 显示当…

directx最终用户运行时_运维定位服务故障时,前5分钟都在忙啥?

遇到服务器故障&#xff0c;问题出现的原因很少可以一下就想到。我们基本上都会从以下步骤入手&#xff0c;这些也是绝大多数运维工程师在定位故障时前几分钟的主要排查点&#xff1a;一、尽可能搞清楚问题的前因后果不要一下子就扎到服务器前面&#xff0c;你需要先搞明白对这…

Hadoop源代码分析(二)

下面给出了Hadoop的包的功能分析。 Package Dependences tool 提供一些命令行工具&#xff0c;如DistCp&#xff0c;archive mapreduce Hadoop的Map/Reduce实现 filecache 提供HDFS文件的本地缓存&#xff0c;用于加快Map/Reduce的数据访问速度 fs 文件系统的抽象&…

java同步锁如何使用_java 同步锁(synchronized)的正确使用姿势

关于线程安全&#xff0c;线程锁我们经常会用到&#xff0c;但你的使用姿势正确不&#xff0c;反正我用错了好长一段时间而不自知。所以有了这篇博客总结下线程锁的正确打开姿势废话不说看例子一&#xff0c;对整个方法进行加锁1&#xff0c;对整个方法进行加锁&#xff0c;不同…

IDE--ubuntu下安装 Source insight

2013-06-03 09:05 74人阅读 评论(0) 收藏 举报 习惯了在source insight下编辑阅读源码&#xff0c;在linux下用vi总是用不好 &#xff0c;还是在ubuntu上用回熟悉的source insight。 在ubuntu中&#xff0c;安装windows程序用wine&#xff0c;然后用wine安装windows软件即可。…

python中什么是数据驱动_利用Python如何实现数据驱动的接口自动化测试

前言 大家在接口测试的过程中&#xff0c;很多时候会用到对CSV的读取操作&#xff0c;本文主要说明Python3对CSV的写入和读取。下面话不多说了&#xff0c;来一起看看详细的介绍吧。 1、需求 某API&#xff0c;GET方法&#xff0c;token,mobile,email三个参数 token为必填项 mo…

密码锁 java接口_从synchronized和lock区别入手聊聊java锁机制

写这篇文章之前&#xff0c;我去百度了一下啥叫锁&#xff0c;百度百科上写道&#xff1a;置于可启闭的器物上&#xff0c;以钥匙或暗码开启。确实我们一般理解的锁就是门锁&#xff0c;密码锁&#xff0c;但是在计算机科学中&#xff0c;锁又是啥&#xff0c;说实话&#xff0…

对cookie和子cookie操作的封装

1 /**2 * 封装cookie的操作3 * type {Object}4 */5 var CookieUtil {6 /**7 * 根据cookie的名字获取相应的值8 * param name cookie名字9 * return {*}10 */11 get:function (name) {12 //对name进行URL编码13 var cookieName…

解决Ubuntu下切换到root用户后没有声音问题

Ubuntu在root用户下&#xff0c;为了安全考虑默认是关闭了声音系统的。 如果要开很简单&#xff0c;因为root登录后pulseaudio没有启动。所以要先启动它 将root加到pulse和pulse-access组&#xff1a; sudo usermod -a -G pulse-access root gpasswd -a root pulse gpasswd -…

lua 给userdata设置元表_lua学习之复习汇总篇

第六日笔记1. 基础概念程序块定义在 lua 中任何一个源代码文件或在交互模式中输入的一行代码程序块可以是任意大小的程序块可以是一连串语句或一条命令也可由函数定义构成&#xff0c;一般将函数定义写在文件中&#xff0c;然后用解释器执行这个文件换行在代码中不起任何作用&a…

java代码请求2次_Android基于OkHttpUtils网络请求的二次封装

OkHttpUtils网络请求为什么进行二次封装&#xff1f;1、减少代码量2、后期换网络处理框架方便二次封装的实现原理1、将网络请求提取在一个方法中2、对里面的可变参数,可以通过参数传递过去,也可以提供一个set方法传递过去3、对于请求失败和成功,我们可以使用接口回调,让调用该方…

集群服务负载均衡------LVS

个人的理解&#xff0c;以一种通俗易懂的方式讲述出来&#xff0c;如果有哪些地方说的不正确的话&#xff0c;希望大家留言指出来。笔者会非是常的感谢&#xff01; Cluster服务器集群&#xff0c;直接理解为一些单一的服务器的集合通过某种方式组合起来&#xff0c;为客户端提…

Cubieboard2 debian

环境准备 本文所使用的主机环境为kubuntu 12.10&#xff0c;然而一般情况下&#xff0c;下面涉及到的命令对基于Debian的(X)ubuntu系列都应该适用。 为不引起混淆&#xff0c;我们作如下约定&#xff1a; 工作目录为 $WORK_DIR,目标系统 rootfs 目录为 $WORK_DIR/$ROOTFS_DIR命…

linux和python的关系_Python、Linux与我的缘分

是在大二时期&#xff0c;那时候不懂什么技术&#xff0c;所以就选择了 Ubuntu 来学习、 使用&#xff0c; 它好操作、 界面绚丽、 简单易用&#xff0c; 对于我这种 Linux 新手来说知足了。 毕竟没玩过 Linux &#xff0c;知识有限&#xff0c; 玩不转 Linux 的种种配置&#…

linux 磁盘uuid获取

ls -l /dev/disk/by-uuid/总用量 0lrwxrwxrwx 1 root root 10 2012-08-15 09:28 0af9bc87-c3c9-49eb-829e-caf572298cc7 -> http://www.cnblogs.com/sdb1lrwxrwxrwx 1 root root 10 2012-08-15 09:27 3e8b5c85-3f5b-4864-b45e-03ff0073eb5f -> http://www.cnblogs.com/sd…

tomcat jsp导入java_[导入]Tomcat JSP Web 开发中的乱码问题小姐

1. 静态页面的乱码问题文件的编码和浏览器要显示的编码不一致。1) 检查文件原始的编码, 可以用记事本打开, 然后选择另存为来看;2) 给当前页面加入一个指令来建议浏览器用指定的编码来显示文件字符内容.3) 如果系统是英文XP,没装东亚字符集支持, 也会显示乱码.2. JSP 页面的乱码…

编译Mysql 5.5时报do_abi_check错误

下载mysql-5.5.3-m3源码后&#xff0c;执行configure无错误&#xff0c;在make的时候却报: make[2]: *** [do_abi_check] 错误 1<br> make[2]: Leaving directory /tmp/mysql-5.5.3-m3<br> make[1]: *** [abi_check] 错误 2<br> make[1]: Leaving directory …

四大开源分布式存储_ipfs分布式存储行业面临着四大主要风险,你知道是哪些吗?...

为了响应国家号召、推动分布式存储技术落地、防御行业风险&#xff0c;中国分布式存储产业联盟启动&#xff0c;全国从事IPFS以及分布式存储从业者对行业风险及联盟成立的必要性达成了高度共识&#xff0c;目前有36家以上的IPFS分布式存储行业企业填写了联盟申请表。几位国内知…

mathematica打包java_从Mathematica到Java的图像

我试图从Mathematica中获取一张图片.我尝试评估一些使用包中的方法生成图形的Mathematica代码.如果我将代码粘贴到Mathematica Notebook,则会正确生成图形.所以我的问题&#xff1a;如何将这些图形转换为Java ???这是我的示例代码&#xff1a;ml MathLinkFactory.createKer…

pjsua帮助手册(中文)

原文地址 : http://www.pjsip.org/pjsua.htm 介绍 PJSUA是一个开源的命令行SIP用户代理&#xff08;软电话&#xff09;&#xff0c;用PJSIP协议&#xff0c;PJNATH&#xff0c;和PJMEDIA实现。 它虽然只有很简单的命令行界面&#xff0c;但是功能齐全。 SIP功能&#xff1a; 多…