吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1036|回复: 23
收起左侧

[学习记录] Java学习第八天

[复制链接]
HAIHAIHEI 发表于 2022-3-22 15:40
本帖最后由 HAIHAIHEI 于 2022-3-22 17:15 编辑

第八天,有不对之处麻烦各位指正
控制语句
控制语句的出现可以让程序具有逻辑性/条理性,可以使用控制语句来实现一个业务了
控制语句包括:选择语句,循环语句,转向语句
选择语句也叫做分支语句:if语句,switch语句
循环语句:主要循环反复的去执行某段特定的代码块,for循环,while循环,do.....while循环
转向语句:break,continue


if语句:

/*
if语法以及运行原理
if语句是分支语句,也叫条件语句
第一种写法:
        int a=100;
        int b=200;
        if(布尔表达式){
        java语句;
        java语句;
        }
一个大括号{}叫做一个分支
if这个单词翻译为如果,所以叫做条件语句
执行原理:布尔表达式结果为true时,执行大括号中的程序,否则大括号的代码不执行
第二种写法:
        if(布尔表达式){//分支1
        Java语句;
        }else{//分支2
        Java语句;
        }
执行原理:如果布尔表达式的结果为true,则执行分支1,分支2不执行,如果表达式的结果时false,分支1不执行,分支2执行
注意:1.对于整个if语句来说,在任何情况下只能有1个分支执行,不可能存在2个或者更多的分支执行,if语句中只要有1个分支执行了,整个if语句就结束了。(对于1个完整的if来说)
第三种写法:
        if(布尔表达式1){//分支1
        Java语句;
        }else if(布尔表达式2){//分支2
        Java语句;
        }else if(布尔表达式3){//分支3
        Java语句;
        }......
执行原理:先判断"布尔表达式1",如果为true,则执行分支1,if语句结束,当表达结果为false,会判断布尔表达式2的结果,结果为true则执行分支2,if语句结束....从上往下依次判断,主要看第一个true发生在哪个分支上,第一个true对应的分支执行,只要一个分支执行,整个if结束
第四种写法:
        if(布尔表达式1){//分支1
        Java语句;
        }else if(布尔表达式2){//分支2
        Java语句;
        }else if(布尔表达式3){//分支3
        Java语句;
        }else{//以上条件没有一个成立的话,这个else执行
        java语句;
        }
以上4种语法机制中,凡是带有else分支的,一定可以保证会有一个分支执行,如第二种和第四种
当分支当中的“Java语句”只有1条,那么大括号可以省略,但为了可读性,最好不要省略
分析外面if时,里面的for循环当做普通Java代码来考虑
*/
public class test
{
        public static void main(String[] args){
        boolean sex=true;
        if(sex){
        System.out.println("男");
        }else{
        System.out.println("女");
        }
//输出结果为男
        if(sex=false){
        System.out.println("男");
        }else{
        System.out.println("女");
        }
//输出结果为女,因为sex=false为赋值false给sex
        if(sex==true){
        System.out.println("男");
        }else{
        System.out.println("女");
        }
//输出结果为女,因为前面sex已经赋值为false,相当于false==true为false
//三目运算符
sex =false;
System.out.println(sex?"男":"女");
        if(sex)//不加大括号
        System.out.println("男");
        else
        System.out.println("女");
        
//例子:
                int age=500;
                if(0<age&age<10){
                System.out.println("幼儿");
                }else if(10<age&age<30){
                System.out.println("青年");
                }else if(30<age&age<60){
                System.out.println("中年");
                }else if(60<age&age<100){
                System.out.println("老年");
                }else{
                System.out.println("神仙");
                }
//第二种写法(增加了大致范围)        
                if(age<100){
                if(age<10){
                System.out.println("幼儿");
                }else if(age<30){
                System.out.println("青年");
                }else if(age<60){
                System.out.println("中年");
                }else if(age<100){
                System.out.println("老年");
                }
                }else{
                System.out.println("神仙");
                }
//第三种写法(改进了语法,更加方便)
        String str="wc";
        if(age<100){
                if(age<10){
                str="幼儿";
                }else if(age<30){
                str="青年";
                }else if(age<60){
                str="中年";
                }else if(age<100){
                str="老年";
                }
                }else{
                str="神仙";
                }
        System.out.println(str);
        }
}



switch语句:

/*
1.switch语句也是选择语句,也可以叫做分支语句
2.switch语句的语法格式
                switch(值){
                case 值1:
                java语法;
                java语法;
                break;
                case 值2:
                java语法;
                java语法;
                break;
                case 值3:
                java语法;
                java语法;
                break;
                default:
                java语法;
                }
以上是一个完整的switch语句:
其中:break语句和default不是必须的
switch语句支持的类包括int类型以及String类型
switch语句本质上是只支持int和String,但是byte,short,char也可以使用在switch语句中,因为byte,short,char可以进行自动类型转换
switch语句中“值”与“值1”,“值2”比较的时候会使用“==”进行比较
3.switch执行原理:
拿“值”与“值1”进行比较,如果相同,则执行该分支中的Java语句,然后遇到“break;”语句就结束了。
如果“值”与“值1”不相等会继续拿“值”与“值2”进行比较,如果相同,则执行该分支中的Java语句,然后遇到“break;”语句switch结束
注意:如果分支执行了,但分支最后没有“break;”此时会发生case穿透现象。
如果所有的case都没有匹配成功,那么最后default分支会执行
*/
public class test
{
        public static void main(String[] args){

        //switch只支持int和String类型
                //long x=100L;
                //switch(x){}
                byte b=100;
                switch(b){}
                short s=100;
                switch(s){}
                char c='a';
                switch('a'){}
                switch("abc"){}
          //案例:  
        //根据数字来决定中午吃什么
        int num =1;//定义一个数字
        System.out.print("今天中午吃:");
        switch(num){
        case 0:
                System.out.println("红烧排骨");
                break;
        case 1:
                System.out.println("糖醋里脊");
                break;
        case 2:
                System.out.println("油闷大虾");
                break;
        case 3:
                System.out.println("京酱肉丝");
                break;
        case 4:
                System.out.println("咸菜馒头");
                break;
        case 5:
                System.out.println("清水馍馍");
                break;
        }

        //case穿透现象
        int num1=2;
        System.out.print("今天中午吃:");
        switch(num1){
        case 0:
                System.out.println("红烧排骨");
                break;
        case 1:
                System.out.println("糖醋里脊");
                break;
        case 2:
                System.out.println("油闷大虾");
        case 3:
                System.out.println("京酱肉丝");
        case 4:
                System.out.println("咸菜馒头");
                break;
        case 5:
                System.out.println("清水馍馍");
                break;
        }

        //关于default语句,当所有的case都没有匹配上的时候,执行default语句。
        System.out.print("今天中午吃:");
        int num3=10;
        switch(num3){
        case 0:
                System.out.println("红烧排骨");
                break;
        case 1:
                System.out.println("糖醋里脊");
                break;
        case 2:
                System.out.println("油闷大虾");
                break;
        case 3:
                System.out.println("京酱肉丝");
                break;
        case 4:
                System.out.println("咸菜馒头");
                break;
        case 5:
                System.out.println("清水馍馍");
                break;
        default:
                System.out.println("老北京炸酱面");
                break;        
        }
        //关于case合并问题
        System.out.print("今天中午吃:");
        int num4=3;
        switch(num4){
        case 0:
                System.out.println("红烧排骨");
                break;
        case 1:case 2:case 3:
                System.out.println("京酱肉丝");//不管num4=1,2,3,都会输出京酱肉丝
                break;
        case 4:
                System.out.println("咸菜馒头");
                break;
        case 5:
                System.out.println("清水馍馍");
                break;
        default:
                System.out.println("老北京炸酱面");
                break;        
        }
        }
}

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
leitianyu999 + 1 + 1 加油
hanlaoshi + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| HAIHAIHEI 发表于 2022-3-22 15:41
纯手打,如果有不对之处希望各位大佬指出,感激不尽(注:这次写的好累)
lhlking 发表于 2022-3-22 15:55
这个真不错,语法是一方面,还要积累自己的算法、思路,更要养成一个代码编写好习惯。
赵小迪 发表于 2022-3-22 16:01
赵小迪 发表于 2022-3-22 16:02
希望楼主能继续坚持下去
Well54 发表于 2022-3-22 16:03
看着没啥问题,加油~
Molecule 发表于 2022-3-22 16:07
看着没啥问题,加油~
kds0221 发表于 2022-3-22 16:32
不错,不错。写的简单明了
EchoChao 发表于 2022-3-22 17:03
每天记录很不错,不知道吾爱支不支持md形式,这样代码看上去好看一些
caestar 发表于 2022-3-22 17:03
加油!!!坚持下去就是胜利!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 13:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表