数组和章程,Java基础知识

时间:2019-09-25 02:20来源: 操作系统
一、获取用户输入 使用Scanner工具类来获取用户输入的成绩信息 Scanner类位于java.util包中, 使用时需要导入此包 数组 package cn.yiixue.java;import java.util.Scanner;public class Demo01 { public static vo

一、获取用户输入
使用Scanner工具类来获取用户输入的成绩信息
Scanner类位于java.util包中, 使用时需要导入此包

  • 数组
package cn.yiixue.java;import java.util.Scanner;public class Demo01 {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);     //创建 Scanner对象        System.out.print("请输入考试成绩信息:");        int score = input.nextInt();        //成绩s        int count = 0;        System.out.println("加分前的成绩:" + score);        while(score < 60) {            score++;            count++;        }        System.out.println("加分后的成绩:"+score);        System.out.println("共加了"+count+"次!");    }}
  1. 声明数组  数组类型[] 数组名;or 数据类型 数组名[]; 如:int[] scores;
  2. 分配空间  数组名 = new 数据类型[数组长度];如:scores = new int[5];

二 如何使用Java中的数组

  以上两步合并:int[] scores = new int[5];

  1. 声明数组
    语法: 数据类型[] 数组名; 或者 数据类型 数组名[]
    其中数组名可以任意合法的变量名,
  2. 分配空间
    语法: 数组名 = new 数据类型
    数组长度就是数组中能存放元素的个数

    scores = new int[5]height = new double[5]names = new String[5];int[] scores = new int[5];

  3. 永利皇宫463娱乐网址,赋值

   3. 赋值  scores[0] = 76; 

分配空间后就可以向数组中放数据了,数组中元素是通过下标来访问
scores[0] = 98;

  以上三步合并:int[] scores = {76, 80, 81, 82, 99};

  1. 处理数组中的数据

      等价于int[] scores = new int[]{76, 80, 81, 82, 99};

  数组名.length:获取数组的长度

int[] scores = {78, 91, 84, 68}int[] scores = new int[] {78, 91, 84.68}
  • 使用Arrays类操作java中的数组
  1. 使用循环操作Java中的数组

  Arrays类是java提供的一个工具类,在java.util包中。

  1. Arrays.sort(数组名); 对数组进行排序,按升序排列
  2. Arrays.toString(数组名);将一个数组转换成字符串,把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开。
int[] scores = {78, 91, 84, 68};for(int i=0; i<scores.length; i++) {    System.out.println("数组中第"++"个元素的值是:"+ scores[i]);}
  • 使用foreach操作数组

其中: 数组名.length 用于获取数组的长度

  foreach 并不是java中的关键字,是for语句的特殊简化版本。

  1. 使用Arrays类操作Java中的数组
    Arrays类是Java中提供的一个工具类,在java.util包中。 该类中包含了 一些方法用来直接操作数组, 比如可直接实现数组的排序、搜索等
    Arrays.sort;
    对数组按长序排列

  for (元素类型 元素变量:遍历对象) {

    执行代码;

package cn.yiixue.java;import java.util.Arrays;        //使用Arrays类时必须添加此行,导入包public class ArraysSort {    public static void main(String[] args) {        //定义 一个整形数组        int[] scores = {78, 93, 97, 84, 63 };        //使用Arrays类的sort()方法对数组进行排序        Arrays.sort;        System.out.println("排序后数组中元素的值:");        //循环遍历输出数组中的元素的值        for(int i=0; i<scores.length; i++) {            System.out.println(scores[i]);        }    }}

  }  

将数组转换为字符串

String[] subjects = new String[5];
subjects[0] = "Oricle";
subjects[1] = "PHP";
subjects[2] = "Linux";
subjects[3] = "Java";
subjects[4] = "Html";
//System.out.println("数组中第4个科目为:" + subjects[3]);
Arrays.sort(subjects);
for (int i =  0; i < subjects.length; i++) {
    System.out.println(subjects[i]);
}
System.out.println("输出数组中的元素:" + Arrays.toString(subjects));
for (String subject : subjects) {
    System.out.println(subject);
}

Arrays.toString;
可以使用toString()方法将一个数组转换成字符串, 该 方法按顺序把多个数组元素连接在一起, 多个元素之间使用逗号和空格隔开。

  • 二维数组
package cn.yiixue.java;import java.util.Arrays;public class ArraysToString {    public static void main(String[] args) {        //定义 一个整形数组        int[] nums = new int[] {25, 7, 126, 53, 14, 86};        //使用Arrays类的toString()方法将数组转换为字符串并输出        System.out.println("输出数组nums中的元素:" + Arrays.toString;    }}
  1. 声明数组并分配空间:数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];or 数据类型[][] 数组名;数组名 = new 数据类型[行的个数][列的个数];如:int[][] num = new int[2][3];
  2. 赋值:数组名[行的索引][列的索引] = 值; 如:int[1][2] = 12;

使用foreach操作数组
for(元素类型 元素变量:遍历对象) {
执行的代码;
}
我们分别使用for和foreach语句来遍历数组

  在定义二维数组时,可以至指定行的个数,然后再为每一行分别指定列的个数,如果每行的列数不同,则创建的是不规则的二维数组。

package cn.yiixue.java;public class Foreach {    public static void main(String[] args) {        //定义一个字符串数组        String[] hobbys = {"imooc", "爱慕课", "www.imooc.com" };        System.out.println("***使用for循环输出数组中的元素");        for (int i=0; i<hobbys.length; i++) {            System.out.println(hobbys[i]);        }                System.out.println();        System.out.println("***使用foreach循环输出数组中的元素");        for(String hobby : hobbys) {            System.out.println;        }            }}
String[][] names = {{"tom", "jack", "mike"}, {"zhangsan", "lisi", "wangwu"}};
for (int i= 0; i < names.length; i++) {
    for (int j = 0; j < names[i].length; j++) {
        System.out.println(names[i][j]);
    }
}
  1. 二维数组
    数据类型[][] 数组名 = new 数据类型[行的个数][列的个数]
    或者
    数据类型[][] 数组名;
    数组名= new 数据类型[行的个数][列的个数];
    如:
    int[][] num = new int[2][3];
    num[0][1] = 12; //给第1行第2列赋值
  •  方法

  定义方法:访问修饰符 返回值类型 方法名(参数列表) {

package cn.yiixue.java;public class ArrayTwo {    public static void main(String[] args) {        int[][] num = {{1,2,3},{4,5,6}};        for(int i=0; i<num.length; i++) {            for(int j=0; j<num[i].length; j++) {                System.out.print(num[i][j]);            }            System.out.println();        }    }}

        方法体

三、 Java中的方法
定义方法:
访问修饰符 返回值类型 方法名 {
方法体
}

       }

  1. 访问修饰符: 方法允许被访问的权限范围。可以是public, protected, private甚至可以省略
  2. 返回值类型: 方法返回值的类型, 如果方法不返回值, 则返回值类型指定为void; 如果方法具有返回值, 则需要指定返回值的类型。并且在方法体使用return语句返回值
  3. 方法名: 定义的方法的名字, 必须使用合法的标识符
  4. 参数列表: 传递给方法的参数列表, 参数可以有多个, 多个参数间以逗号隔开, 每个参数由参数类型和参数名组成。
    第一、无参无返回值方法的使用
  1. 访问修饰符:public、protected、private甚至可以省略。
  2. 返回值类型:如果方法不返回任何值,则返回值类型指的是void;如果方法有返回值,则需要指定返回值的类型,并在方法体中使用return语句返回值。
  3. 参数列表:每个参数由参数类型和参数名组成,参数之间用逗号隔开。
  4. 如果方法的返回类型为void,则方法中不能使用return。
  5. 方法的返回值最多只有一个,不能返回多个值。
  6. 方法返回值的类型必须兼容,如果返回值类型为int,则不能返回String型值。

    package com.test;

    public class Demo4 {

    public static void main(String[] args) {
        Demo4 demo = new Demo4();
        demo.show();
        double avg = demo.calcAvg();
        System.out.println("平均成绩为:" + avg);
    }
    
    public void show() {
        System.out.println("Welcome to java!");
    }
    
    public double calcAvg() {
        double java = 92.5;
        double php = 83.0;
        double avg = (java + php) / 2;
        return avg;
    }
    

    }

  返回值为:

public void show() {    System.out.println("welcome to imooc.");}

  Welcome to java!
  平均成绩为:87.75

调用方法: 对象名.方法名();

  • 带参方法的使用
package cn.yiixue.java;public class CallFunc {    public static void main(String[] args) {        //创建对象, 对象名hello        CallFunc fun = new CallFunc();        //通过对象名.方法名()的形式调用方法        fun.show();    }        public void show() {        System.out.println("welcome to imooc.");    }}

  把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

第二、无参带返回值方法的使用

  1. 调用带参数方法时,必须保证实参的数量、类型和顺序与形参一一对应
  2. 方法的参数可以是基本数据类型,也可以是引用数据类型。

    public static void main(String[] args) {

    Demo4 demo= new Demo4();
    demo.calcAvg(94, 81);
    

    }

    public void calcAvg(double score1, double score2) {

        double avg = (score1 + score2) / 2;
        System.out.println("平均分:"+avg);
    

    }

package cn.yiixue.java;public class CallFunc {    public static void main(String[] args) {        //创建对象, 对象名为call        CallFunc call = new CallFunc();        //调用方法并接收方法返回值, 保存在变量sum中        int sum = call.calcSum();        System.out.println("两数之和为:"+sum);    }        public int calcSum() {        int a = 5;        int b = 12;        int sum = a + b;        return sum;    }}
  •  方法的重载

在calcSum方法中, 返回值类型为int类型,因此在方法体中必须使用return返回一个整数值.

  定义:如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,称为方法的重载,也可称为该方法被重载了。

  1. 如果方法的返回类型为void, 则方法中不能使用return返回值

  方法的重载与方法的修饰符或返回值没有关系

public class HelloWorld {
    public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();

        // 调用无参的方法
        hello.print();

        // 调用带有一个字符串参数的方法
            hello.print("java");

        // 调用带有一个整型参数的方法
            hello.print(18);
    }

    public void print() {
        System.out.println("无参的print方法");
    }

    public void print(String name) {
        System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
    }

    public void print(int age) {
        System.out.println("带有一个整型参数的print方法,参数值为:" + age);
    }
}
public void showInfo() {    return "Java";}

  返回值为:

  1. 方法的返回值最多只能有一个, 不能返回多个值
  无参的print方法
  带有一个字符串参数的print方法,参数值为:java
  带有一个整型参数的print方法,参数值为:18
public int getInfo() {    int score1 = 94;    int score2 = 87;    return score1,score2;}
  1. 方法返回值的类型必须兼容, ,例如, 如果返回值类型为int, 则不能返回String类型
    public int getInfo() {        String name="peijiang";        return name;    }

第三、带参无返回值方法的使用

public void show(String name){    System.out.println("welcome, " + name + "!");}

调用方式:
对象名.方法名(实参1, 实参2,….,实参n)

  1. 调用带参方法时,必须保证实参的数量,类型, 顺序与形参一一对应
  2. 调用方法时,实参不需要指定数据类型
  3. 方法的参数可以是基本数据类型, 如int, double等,也可以是引用类型, 如String,数组等
import java.util.Arrays;public class HelloWorld {    public static void main(String[] args) {        HelloWorld hello  = new HelloWorld();        int[] scores = {84, 92, 74, 62};        hello.print;    }    public void print(int[] scores) {        System.out.println(Arrays.toString;    }}
  1. 当方法参数有多个时,多个参数以逗号分隔
    第四、带参带返回值方法的使用
    public String show(String name) {
    return “欢迎您, ” + name +”! “;
    }
    调用带参带返回值的方法
HelloWorld hello = new HelloWorld();String welcom = hello.show;System.out.println;

四 Java中方法的重载
如果同一个类中包含了两个或两个以上方法名相同, 方法参数的个数,顺序或类型不同的方法, 则称为方法的重载, 也可称方法被重载了。

public void show() {    System.out.println("welcome");}public void show(String name) {    System.out.println("welcome:" +name);}public void show(String name, int age) {    System.out.println("welcome:" + name);    System.out.println("age:" + age);}public void show(int age,String name) {    System.out.println("welcome2:" + name);    System.out.println("age2:" + age);}}

当调用被重载的方法是地, Java会根据参数的个数和类型来判断应该调用哪个重载方法, 参数完全匹配的方法将被执行。
(Math.random 生成 100 以内的随机数

编辑: 操作系统 本文来源:数组和章程,Java基础知识

关键词: