• 学习java的第五周


    java流程控制

    顺序结构

    • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执的处理步骤组成的,它是任何-一个算法都离不开的一种基本算法结构。

    选择结构

    if结构

    if(布尔表达式)
    {
     //如果为ture执行的语句
    }
    else
    {
     //如果布尔表达式的值为false
    }
    
    • if有四种结构,if单选择结构,if双选择结构,if多选择结构,嵌套的if结构

    switch多选择结构

    switch(expression)
    {
          case value: //语句
    }
    
    • 可以使用字符串String类型

    九九乘法表

    public class test {
        public static void main(String[] args) {
            for(int i = 1;i<10;i++)
            {
                for(int j = 1; j<=i;j++)
                {
                    sum=j*i;
                    System.out.printf("%d * %d = %d   ",j,i,i*j);
                }
                System.out.println();
            }
        }
    }
    
    
    • 这是在看视频之前按照他题目写出来的代码,在看了他写的代码之后,发现在java中可以写的更简便些,可以将输出数据总和起来写成System. out . print(j+""+i+"="+(j"i) + " ");

    打印三角形

    public class test {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int x = scanner.nextInt();
            for(int i = 0;i<x;i++ )
            {
                for(int k = x;k>=i;k--)
                {
                    System.out.print(" ");
                }
                for(int j = 1;j<=i*2-1;j++)
                {
                    System.out.print("*");
                }
                System.out.println();
            }
        }
          scanner.close();
    }
    
    
    • 这是按照视频的题目写出的代码

    方法

    • 类似于c中的函数

    方法的重载

    • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。
      规则
    • 方法名称必须相同。
    • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
    • 仅仅返回类型不同不足以成为方法的重载。

    可变参数

    • 在方法声明中,在指定参数类型后加一-个省略号(..)。
    • -个方法中只能指定-个可变参数,它必须是方法的最后-个参数。任何普通的参数必须在它之前声明。
      例子:public void max( double... numbers) {}

    作业

    • 写-个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
    public class test {
        public static void main(String[] args) {
           Scanner scanner = new Scanner(System.in);
           System.out.println("请输入你要计算的算式,注意格式为:数字 符号 数字");
            System.out.println("输入字母'z'时结束运行");
           while(!scanner.hasNext("z"))
           {
               double sum=0;
               double num1 = scanner.nextInt();
               String sign = scanner.next();
               double num2 = scanner.nextInt();
               switch(sign)
               {
                   case "+":sum = Add(num1,num2);System.out.println(sum);break;
                   case "-":sum=Less(num1,num2);System.out.println(sum);break;
                   case "*":sum = Mul(num1,num2);System.out.println(sum);break;
                   case "/":sum = Div(num1,num2);System.out.println(sum);break;
               }
           }
        }
        public static double Add(double num1, double num2)
        {
    
            return num1 + num2;
        }
        public static double Less(double num1, double num2)
        {
            return num1 - num2;
        }
        public static double Mul(double num1, double num2)
        {
            return num1 * num2;
        }
        public static double Div(double num1, double num2)
        {
            if(num2!=0)
            {
                return num1 / num2;
            }
            else
            {
                return 0;
            }
        }
    }
    
    

    三种初始化及内存分析

    内存分析

    java内存

    • 存放new的对象和数组
    • 可以被所有的线程共享.不会存放别的对象引用
    • 存放基本变量类型(会包含这个基本类型的具体数值)
    • 引用对象的变量(会存放这个引用在堆里面的具体地址)
    方法区
    • 可以被所有的线程共享
    • 包含了所有的class和static变量

    三种初始化

    静态初始化

    int[] a = {1,2,3};
    Man[ ] mans = {new Man(1,1),new Man(2,2)};
    

    动态初始化

    int[]a = new int[2];
    a[0]=1;
    a[1]=2;
    

    数组的默认初始化

    • 数组是引用类型,它的元素相当于类的实例变量,因此数组-经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

    Arrays类

    • 数组的工具类java.util.Arrays
    • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一 些基本的操作。
      具有以下常用功能:
    • 给数组赋值:通过fill方法。
    • 对数组排序:通过sort方法,按升序。
    • 比较数组:通过equals方法比较数组中元素值是否相等。
    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。
    • 输出字符串:toString

    稀疏数组

    • 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。
      稀疏数组的处理方式是:
    • 记录数组一共有几行几列,有多少个不同值
    • 把具有不同值的元素和行列及值记录在-个小规模的数组中,从而缩小程序的规模
      (行 列 有效数据)
  • 相关阅读:
    IDEA解决git pull冲突
    数据库悲观锁
    安装vsftpd,用户授权
    day05 apollo配置中心+dubbo改造
    Keepalived
    ZK分布式锁原理
    namp扫描端口
    Jedis实现发布订阅功能
    Redis分布式锁
    IDEA中Dev分支合并到master分支
  • 原文地址:https://www.cnblogs.com/b1356436060/p/13477377.html
Copyright © 2020-2023  润新知