前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >猿进化系列3——看完这个,你就有好几根猴毛了!

猿进化系列3——看完这个,你就有好几根猴毛了!

作者头像
山旮旯的胖子
发布2020-07-28 16:35:37
5770
发布2020-07-28 16:35:37
举报
文章被收录于专栏:猿人工厂
搞定上一章节,你已经成功地入坑java,在进化成猿类的路途中,迈出了一大步。这一步有多大呢?嗯,很大,确实很大....嗯...你已经长出几根猴毛了
莫要忽悠我,今天你要不拿点真东西出来,看我不

今天,猿人工厂君就教你点真的东西,马上就告诉你一个程序世界的大秘密——

不管是啥语言,程序都是按照语句的顺序一行一行执行的!虽然代码看起来和鬼画符差不多,但是这些鬼画符是按照先后次序一行一行执行的!不信你看下面的结果

程序按照语句在程序中的先后次序一条一条的顺次执行,这种执行结构叫顺序结构。

如果...我写了打印“我是第2行”,但是我又不想让它执行,你有没什么办法哇?

看我的,小case:

等等,那个红框里的是个什么鬼?居然让我辛辛苦苦写的代码不行执行?哈哈,你不是不想打印“我是第二行”吗?猿人工厂君使用了控制语句,所谓控制语句就是用来改变程序的执行顺序,让程序按照我们设定的顺序去执行,从而达到控制程序的目的,以实现程序的各种结构。一般来讲,控制语句分为条件判断、选择、循环、跳出等语句

上面那个红框就是中的东西就是条件判断语句

看清楚它的写法

它的含义是假如关系表达式成立(括号后的结果为true),就执行大括号里的语句。上面的执行条件太简单,你好可以搞复杂一点

敲完代码不许点执行,自己先写出答案,答错的自己回去看三遍猿人进化系列2!!!

顺便说一下,假如大括号里的语句只有一句,大括号可以省略,程序默认将执行距离关键字最近的一行代码,但是个人推荐写大括号,不要偷懒,小心bug.

等下等下,我现在改主意了,我想执行语句2,但是不想执行语句3肿么办?哈哈,找你的“二姨夫”吧

看清楚了,if...else...的写法

改造代码瞬间搞定!

假如关系表达式成立(结果为true),就执行大括号里的语句1,否则就执行else 后大括号里的语句2。还是那句话,不要偷懒,以免发生悲剧。

哈哈,我不想执行第二句,也不想执行第三句也又办法了。

这样写就可以了

就弱弱的问一句,还有其他办法木有?

哈哈,其实还有另一个办法——

先判断第一个条件判断,如果满足就执行语句1,并且不再执行后面的判断条件,如果不满足就执行判断条件2,如果满足就执行语句2,并且不再执行后面的判断条件..一直到n,只要满足就执行,并且不再执行后面的判断条件,如果都不满足,就执行最后的else里的语句。

看了这么多了,该换我来考考你了,还记得上一章节的三元表达式吧?
int a=10;

int b=12;

int d=0;

d=(a>b)?a:a+b;

尝试下在不改变程序含义的情况下,使用if-else改写d=(a>b)?a:a+b;(先动手,以后给出答案)

注意:三元语句绝大多数情况下都是可以用if else语句改写的,编写代码推荐if else 讲三元是为了大家理解语法。

我再来考考你,在程序中有一个变量a,当a的值为1的时输出“我是第1行”,当a的值为2时输出“我是第2行”,当a的值为3时输出“我是第3行”,已此类推,一直到第5行!

不要低估了我的智商!看我的!

骚年!要是输出10行:

在这个世界上,其实有一种语句叫做选择语句,其实还有一种操作——switch!

switch语法:将表达式里的值和case依次比较,一单表达式里的值和case的值相等,就执行后面的语句。如果在中途遇到break语句则结束。如果所有的case和表达式里的值不相等,就会执行default里的语句,然后结束程序。

1.表达式的值可以是byte,short,int,char,enum(枚举)类型,jdk7之后可以支持字符串。

2.default语句可以不写。

3.一定记得每个case最后写上break;否则程序会执行满足条件后的所有case!

轻松搞定!想知道不写break的后果吗?去掉吧,自己试试!

特别提醒:switch语句和if 语句可以互相转换,编写代码的时候大家尽量用if 把结构层次写清楚(也不要搞成街霸2.0),代码一看就明白,之所以讲switch,是为了让各位掌握语法结果,看懂代码,实际工作还是慎用吧。

小练习

switch (a) {

case 1: {

System.out.println("a=a"+a);

}

case 2: {

System.out.println("a=a"+a);

}

default: {

System.out.println("a=a"+a);

}

}

将上面的switch修改正确,让每个合法输入 只会执行一个方法体里的语句。

小伙儿,我们来玩耍一个新的游戏——输出10000行,“猿人工厂,我爱你”

猿人工厂君,你——

机智如我怎么可能被难倒?打开excel,输入System.out.println(“猿人工厂,我爱你”);向下拉动到10000行,复制粘贴即可!

我擦,还未变成一只猿类就已经深谙猿类的身存知道,随身自带天生猿类秘籍CVS大法——

那现在打印10000000行试试?我擦,excle拉到底也拉不出!

哈哈,其实是有办法解决的,计算机最擅长的事情就是快速的做重复的事情,循环语句了解下!

循环语句

for循环语句

表达式1:初始化循环变量

表达式2:判断是否满足循环条件,如果满足条件,程序执行循环体语句(大括号内的语句),如果不满足,则跳出循环。

表达式3:给初循环变量做增量或者减量,以达到控制循环体执行次数的目的。

下面给出一个例子,计算从1到100的整数和。

循环语句2--while

100以内的整数和还可以这样写

while(布尔表达式){

需要执行的语句1;

需要执行的语句n;

循环控制语句;

}

do...while

do{

需要执行的语句n;

循环控制语句;

}while(布尔表达式);

执行流程:先执行一次循环体内的语句,然后判断是否满足条件。如果满足就执行循环体语句,不满足就结束循环。

你确定是正确的?当然是错的!While和do...while最本质的区别就是 do...while 会先”do”一次!所以会多加了一个——她

小练习:使用for,while,do...while分别计算100以内的偶数和。

跳出语句

小伙儿,看情形循环的写法你已经掌握得差不多了,下面来两个简单的问题玩耍下:

1. 输出100以内的第一个奇数,然后终止程序运行。

2. 输出100以内的第二个偶数,然后终止程序运行。

这个so easy!!!

System.out.println(2);

System.out.println(4);

不许使用人脑计算!写程序!哈哈,这下不会了吧,马上给你介绍一个武器——跳出语句!

break:跳出当前循环体

continue:程序结束本次循环,继续执行下一次循环

循环需要特别注意的地方
死循环

小伙儿,给你一个机会,见识点新东西,下面这段代码允许你CVS一把,运行下试试,

int i=0;

for(;;){

if(i%2==0){

continue;

}else if(i%5==0){

break;

}

System.out.println(i);

}

i++;

}

注意噢,for循环的三个表达式是可以不写的,只是把控制变量放在方法体里了,个人不推荐使用,大家了解就好。

恭喜你,中奖了!知道滋味了吧!生命不息,代码不止!!!

死循环:循环条件永远为true,程序会一直执行循环体。但是有些场景需要让程序阻塞住,会使用死循环实现,后面遇到再说。

想想看怎样修改代码才能让程序正确运行?

嵌套循环

哈哈,又来新东西了,上面个图形用循环语句打印出来看看吧。

算了直接给你代码吧

for(int i=0;i<10;i++){

for(int j=10;j>i;j--){

System.out.print("*");

}

System.out.println("");

}

}

没见过呢?这个就是嵌套循环。所谓嵌套循环,是指一个循环的循环体是另一个循环。当然,不止两层,你想又多少层就可以套多少层^_^

代码是给你了,不要忘记了下面的小练习:

把倒三角修改为打印正三角。

方法

不知道你发现没有,我们每次实现一个小功能的时候都需要创建一个新的类,新写一个方法,这样搞下去编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。

所谓方法,就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。

当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

方法的定义

返回值类型: 目前固定写法 void ,其他返回值类型在后面的课程讲解。

方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。

参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。

return:方法结束。如果没有返回值那么方法的类型是void,方法大括号内的return可以不写。

修饰符: 目前固定写法 public static 。

方法的调用

方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在主方法中,直接写要调用的方法名字就可以调用了。

我们看下面这个例子:计算长方形的面积

那怎么调用呢?

那如果我想保留计算结果,被其它地方使用怎么办?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿人工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 搞定上一章节,你已经成功地入坑java,在进化成猿类的路途中,迈出了一大步。这一步有多大呢?嗯,很大,确实很大....嗯...你已经长出几根猴毛了
  • 莫要忽悠我,今天你要不拿点真东西出来,看我不
    • 等下等下,我现在改主意了,我想执行语句2,但是不想执行语句3肿么办?哈哈,找你的“二姨夫”吧
      • 看了这么多了,该换我来考考你了,还记得上一章节的三元表达式吧?
        • int a=10;
          • 小练习
            • 循环语句2--while
              • 跳出语句
              • 循环需要特别注意的地方
                • 死循环
                • 方法
                  • 方法的定义
                    • 方法的调用
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档