zoukankan      html  css  js  c++  java
  • java语言基础笔记——语句,函数

    java语言基础笔记



    语句

    判断结构(重点)

    三种格式:

    第一种:   if(条件表达式){

      执行语句;
            }
      System.out.println();
      举例:
      int age = 17;
      if (age >= 18)
      System.out.println("可以浏览本网站");
      
      System.out.println("完了");

    第二种

    if(条件表达式){//if else和三元运算符的区别

    执行语句;//三元运算符是一个运算符号,ifelse是一个语句
           }else{ //三元运算符运算后必须有结果,而且不能有语句
    //ifelse可以没有结果,可以有语句
                    执行语句;
           }
    int x,y,z;
    x = 5;
    y = 10;
    /* if (x > y){
    z = x;
    }else{
    z = y;
    }*/
    z = (x > y) ? x : y;
      举例:
        int x = 1;
    if (x == 1){
    System.out.println("男厕所欢迎您");
    }else {
    System.out.println("女厕所欢迎您");
    }

    第三种:if(条件表达式){

                   执行语句;
           }else if (条件表达式){
                  执行语句;
           }else{
                  执行语句;
           }
    举例:
    int x = 1;
    if (x == 1){
    System.out.println("男厕所欢迎您");
    }else if(x == 0){
    System.out.println("女厕所欢迎您");
    }else {
    System.out.println("无法识别您的性别");
    }

    选择结构switch

    格式:
    int x = 10;
    switch (表达式){//byte,short,int,char,String 枚举

    case 表达式里对应的值:
    执行语句;
    //break;
    case 表达式里对应的值:
    执行语句;
    break;
    ......
    default:
    执行语句;
    break;//最后一句的break可写可不写,因为程序已经执行到了末尾
    }
    举例:
    String name = "rose";
    String gender = "人妖";
    switch (gender){
    case "先生":
    System.out.println(name + "是一位" + gender + "喜欢吃饭睡觉打dota");
    break;
    case "女士":
    System.out.println(name + "是一位" + gender + "逛街购物美容");
    break;
    default:
    System.out.println(name + "是一位" + gender + "打雌性激素保持美貌容颜");

    }
    重点:switch 结束只有两种情况
    1,当程序执行过程中遇到了break
    2,当程序执行到了末尾处
    应用 switch需要注意的两个细节
    1,当switch表达式的值与其中一个case匹配的时候,这个case里没有写break;语句,那么程序会继续执行下个case里
    的执行语句,不会再对case值进行判断,应用于当几个case里的值所要执行的语句都一样的时候,我们可以不写break
    例如:我们做一年有四季的例子:
    int month = 4;
    switch (month){
    case 3:
    case 4:
    case 5:
    System.out.println(month+"月是春季");
    //break;
    case 6:
    case 7:
    case 8:
    System.out.println(month+"月是夏季");
    break;
    case 9:
    case 10:
    case 11:
    System.out.println(month+"月是秋季");
    break;
    case 12:
    case 1:
    case 2:
    System.out.println(month+"月是冬季");
    break;
    default:
    System.out.println(month+"月没有这样的月份")

    }//上述例子就是三个case里面的值输出都一样的,所以我们省略了break;这样会少写几行代码,提高效率

    当我们把 default 不是写在最后,default 里面还没有写break的是时候,switch里的表达式与各个case里
    的值都不匹配的时候,上面两个条件同时满足的话,程序在default里执行完了还会再去执行case里的语句
    例如:
    int x = 3;
    switch (x){
    case 4:
    System.out.print("a");
    break;
    default:
    System.out.print("b");//当程序执行到了default但是他没有break,下面的case值不再判断,程序继续执行
    case 5:
    System.out.print("c");
    case 6:
    System.out.print("d");
    break;//遇到break,程序跳出
    case 7:
    System.out.print("e");
    }


    循环结构for

    while循环

    格式:
    while (条件表达式){
    循环体;
    控制循环次数;
    }
    例如:
    int x = 3;
    while (x<6){
    System.out.println("x="+x);//循环体
    //x++;//用x自增来控制循环次数
    }

    do while 循环

    格式:
    do{
    循环体;
    控制循环次数
    }
    while (条件表达式);
    例如:
    int x = 3;
    do{
    System.out.println("x="+x);//循环体
    x++;//用x自增来控制循环次数
    }
    while (x<6);

    while和do while的区别:

    dowhile语句会先执行循环体,再去判断条件,也就是说无论条件是否满足他都至少要执行
    一次循环体,先执行再判断
    while 先判断条件,只要条件不满足就不在执行循环体了,先判断,再执行.


    for 

    格式:
    for(初始化表达式1;循环条件表达式2;循环后的操作表达式4){
    执行语句;(循环体)3
    }
    例如:
    for(int x=0; x< 3;x++ ){
    System.out.println("x="+x);
    }
    问个问题初始化表达式可不可以定义在外面,循环后的表达式可不可以定义在大括号里面?
    int x=3;
    for( x=4; x<5; x++){
    System.out.println("x="+x);
    }

    for 的嵌套循环

    建议做题的时候就弄个双层嵌套就可以,不要弄太多层,影响效率
    格式:
    for(初始化表达式;循环条件表达式;循环后的操作表达式){//这是外层循环
    执行语句;(循环体)
    //下面是内存循环
    for(初始化表达式;循环条件表达式;循环后的操作表达式){
    执行语句;(循环体)
    }
    }


    for (int x=1;x < 6;x++ ){
    for(int y=1; y<6; y++){
     
    System.out.print("*");

    }
    System.out.println();
    }

    continue和break

    a,这两个语句离开应用范围,存在是没有意义的。
    b,这两个语句单独存在下面都不可以有语句,因为执行不到。
    c,continue语句是结束本次循环继续下次循环。
    d,标号的出现,可以让这两个语句作用于指定的范围。


    函数

    (1)函数的定义

    函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

    (2)函数的格式

    修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
    执行语句;
    return 返回值;
    }
    public static int add(int a,int b)//a = 3,b =5
    A:修饰符 后面会重点讲。public static
    B:返回值类型 这个特定的功能完成后,需要返回一个结果。这个地方就是返回结果的类型。
    C:函数名 为了方便使用这个函数,给它起个名字。这个名字要符合标识符命名规则。
    D:参数类型 形式参数的数据类型
    **:形式参数 自定义的接收方
    **:实际参数 发出方add(3,5)
    E:执行语句 那么这个语句是由多条语句组成。
    F:return 这个功能执行完以后,需要有一个返回值,那么这个值有关键字return带回。

    (3)函数的特点

    A:一般函数只有被调用后,才执行。
    B:void 表示没有返回。在这个函数的结尾可以不写return。
    **其实jvm会自动的结尾处加上return;

    (4)如果定义自己的函数 两个明确

    A:明确该功能的结果 其实就是该功能的返回类型。
    B:明确该功能的参数 其实就是明确该功能中是否需要未知内容(形式参数)参与运算。
       明确未知内容的类型和个数。

    (5)函数的重载

    A:函数名相同,参数列表不同。
    **参数类型不同。int add(int i)void add(double d)
    **参数个数不同。add(int a,int b);add(int a,int b,int c)
    **参数顺序不同  print(String name, int age)//参数顺序不同的重载是可以存在的,但是没有什么实际意义
    print(int age,String name)
    B:特点:与返回值类型无关,只看参数列表。
    C:好处:便于阅读,优化程序设计。



  • 相关阅读:
    ios 中的循环引用问题及解决
    Leetcode-Maximum Depth of Binary Tree
    Leetcode-Min Stack
    Leetcode-Intersection of Two Linked Lists
    Leetcode-Binary Tree Inorder Traversal
    Leetcode-Unique Binary Search Trees II
    Leetcode-Unique Binary Search Trees
    Leetcode-binary Tree Zigzag Level Order Traversal
    Leetcode-Construct Binary Tree from inorder and preorder travesal
    Leetcode-Next Permutation
  • 原文地址:https://www.cnblogs.com/znycat/p/4352658.html
Copyright © 2011-2022 走看看