栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习之路之逻辑控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习之路之逻辑控制

1.顺序结构
顺序结构就是一行一行的执行,从上到下的执行

        System.out.println("helloworld");
        System.out.println("java");
        System.out.println("逻辑控制");
        三行代码从上到下执行

2.分支结构

if else结构
if else if  else 结构
  if(表达式){
	语句1;
       }else{
    语句2;  
       }
       当if括号里面的表达式为true的时候,执行语句1,为false则执行语句2
       表达式均为boolean表达式
举例:
  int a=3;
        int b=2;
        if(a>b){
            System.out.println("a>b");
        }else{
            System.out.println("a 
switch case 结构
俗称开关结构
switch(整数 字符串 枚举 字符){
            case 内容一:语句1;break;
            case 内容二:语句2;break;
            default :break;
    }
    用法:switch括号里的内容与case后面的内容进行匹配,匹配成功的话就执行里面的语句,break是跳出switch,如果case中没有匹配到,则最后执行default中的语句,然后跳出switch。
注意:switch中不可以是boolean,double类型,float类型,long类型
  举例:
  int a=10;
    switch(a){
        case 1:
            System.out.println("helloworld");
            break;
        case 2:
            System.out.println("java");
            break;
        default:
            System.out.println("no found");
            break;
    } 
    如果语句中忘记写break了,则它会从你匹配到的那一条顺序执行,如下面的例子,与第一个case匹配到了,执行完语句,因为没有break,所以继续执行了case 2 的内容,然后执行了default的内容,最后结束了switch结构
   int a=1;
    switch(a){
        case 1:
            System.out.println("helloworld");
        case 2:
            System.out.println("java");
        default:
            System.out.println("no found");
            break;
    }
    default是默认执行,当switch中的内容与case匹配不到,因此default所放的位置可以在任意位置,但最好放到最后,因为这样的代码更加清晰,这样也不容易出错,如果你放到前面的话,如果break没有写,这样执行过后会执行下面的case,这样会出错。
int a=3;
    switch(a){
        default:
            System.out.println("no found");
            break;
        case 1:
            System.out.println("helloworld");
        case 2:
            System.out.println("java");
    }

另外switch是可以嵌套的,但应为比较容易出错,且几乎不这样使用,因此这里不再展示。

3.循环结构

while循环结构
while(循环条件){
循环语句;
}
使用:满足循环条件,则执行循环语句,执行完循环语句后,继续判断循环条件,直到循环条件不满足为止。
举例:
        int i=1;
        while(i<=10){
            System.out.println(i);
            i++;
        }
初始条件是i=1,判断i<=10,然后打印,然后i++
然后再判断。
循环结构一般都会有:初始条件,判断的条件,改变语句达到终止条件
在这里就是,i=1   i<=10 i++。

注意点一:
值得注意的是一定要有到达不满足条件的改变语句,如上面的i++,因为这样才不会造成死循环
如例:
   		int i=1;
        while(i<=10){
            System.out.println(i);
        }
1永远都小于10所以判断条件永远成立,便一直打印1,这样就造成了死循环。
注意点二:
while后面如果不加大括号的话,后面只能跟一条语句
while(循环条件)
语句1;
也就是while后面如果没有大括号的话,只能管一条语句。



for循环结构
for(表达式1:表达式2:表达式3){
循环体;
}
表达式1:初始化循环变量
表达式2:循环条件
表达式3:更新循环变量
执行顺序:表达式1-》表达式2-》循环体-》表达式3-》表达式2-》循环体-》表达式3      我们发现表达式1,只执行了1次

举例:
 for(int i=1;i<=10;i++){
          System.out.println(i);
      }
      其实for循环和while循环是类似的,都有判断条件,初始条件,更新循环变量,只是形式上的不同而已。
  

4.break 和 continue在循环中的使用

break 终止循环
  for(int i=1;i<=10;i++){
            System.out.println(i);
            if(i%2==0){
                break;
            }
        }
break的作用是结束该循环,如上图代码,当i可以整除2的时候,执行break,循环便结束了。
如果是多重循环的话,break结束的是break语句所在的那一层循环,也就是就近原则。
 for(int j=1;j<=10;j++) {   循环1
            for (int i = 1; i <= 10; i++) {  循环2
                System.out.println(i);
                if (i % 2 == 0) {
                    break;
                }
            }
        }
        多层循环当满足循环条件的时候,结束的是循环2,记住就近原则即可。


continue 终止本次循环,注意是结束的是本次的循环,而不是结束循环体
举例:
  for(int i=1;i<=10;i++){
            if(i%2==0){
                continue;
            }
            System.out.println(i);
        }
执行结果如下:
1
3
5
7
9
continue是这样执行的,当找到一个i可以整除2的时候,continue后面的语句就不再执行了,因此打印的结果如上,continue结束的是本次执行的循环。
注意点:
      if(i%2==0){
                continue;
                System.out.println("helloworld");
            }
 continue后面跟语句会报错,因为系统认为continue后面的语句是执行不到的,因此系统会报错。
break和continue的使用要知道它们的区别:一个是终止循环,一个是结束本次循环,break和continue在程序编写时恰当的使用,可以提高效率,但也要正确使用。

5.输入和输出
在java中输出有三种语句:

        System.out.println("helloworld"); 输出并换行
        System.out.print("helloworld");   输出不换行
        int a=2;
        System.out.printf("%d",a);         按照一定格式输出

java中的输入

用的时Scanner类,分别调用与之相关的函数
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        String b=scanner.nextLine();
        double c=scanner.nextDouble();
但要强调一点:
1.nextLine()和next()都是输入字符串,但是next是遇到空格便结束了输入,而nextLine不会,它不是遇到空格结束,而是遇到回车结束输入。

举例:
   Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的名字");
        String b=scanner.nextLine();
        System.out.println(b);
运行结果:
请输入你的名字
zhu zi
zhu zi

举例:
请输入你的名字
zhu zi
zhu
以上就是两者的区别
2.nextInt()不能再nextLine()前面使用
   Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的年龄");
        int a=scanner.nextInt();
        System.out.println(a);
        System.out.println("请输入你的名字");
        String b=scanner.nextLine();
        System.out.println(b);
        }
结果:
请输入你的年龄
18
18
请输入你的名字

还没有输入名字就直接结束,这是java本身存在的一下约束,也可以说是缺陷,记住便可以了,以上便是输入和输出的说明。


还有一个经常考察的点,就是Scanner循环读入多个数字
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNextInt()){
            int a=scanner.nextInt();
        }
hasNextInt是判断缓存中是否还有整形数据,如果有则执行里面的语句,也就是输入一个整形数据。

猜数字小游戏:
输入一个数字,如果猜高了,便提示猜高了,如果猜低了便提示猜低了,如果猜对了,便提示猜对了。

 public static void main(String[] args) {
        Random random=new Random();  //Random是一个随机数的类
        int GuessNumber=random.nextInt(100)+1; //之所以加1,是因为随机数是[0 100),注意是左闭右开,加1这样就可以生成1到100的数字了
        Scanner scanner=new Scanner(System.in);
        while(true){
            System.out.println("请输入你要猜的数字");
            int number=scanner.nextInt();
            if(number==GuessNumber){
                System.out.println("你猜对了");
                break;
            }else if(number 

有错误的话请谅解,希望大家可以指出错误,共同学习java。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号