一、方法

1.方法创建与调用

1.1代码

java基础 随笔 第1张
/*
 * 方法的两个明确:
 *         A:返回类型
 *         B:返回参数
 * 
 */

package MotherTesst;
/*
 * 打印1~某个数的值
 * 
 */
public class motherTest1 {
    /*
     * 两个明确:
     *         A:void类型
     *         B:int类型参数
     */
    public static void Number(int number){
        for(int i=1;i<=number;i++){
            System.out.println(i);
        }
    }
    public static void main(String[] args) {
        Number(100);
    }
}
View Code

1.2练习

java基础 随笔 第3张
/*
 * 打印所有的水仙花数
 * 说明:
 *         水仙花数:是一个三位数,个位的3次方+十位的三次方+百位的三次方
 *
 * 
 * 
 * 
 */
public class motherTest2 {
    /*
     * 两个明确:
     *         A:返回类型:void
     *         B:返回参数:无
     */
    public static void Flower(){
        for(int i=100;i<1000;i++){
            int bai=i/100;//得到百位
            int shi=i/10%10;//得到十位
            int ge=i%10;//得到个位
            //判断是不是水仙花数
            if((bai*bai*bai+shi*shi*shi+ge*ge*ge)==i){
                System.out.println(i);
            }
        }
    }
    public static void main(String[] args) {
        Flower();
    }
}
View Code

2.方法的重载

2.1概念与代码

java基础 随笔 第5张
/*
 * 方法重载:在同一个类中允许存在一个或一个以上的同名方法,只要方法的参数个数或参数的数据类型不同即可。
 *         特点:
 *             a:与方法的数据类型无关,只看方法名和参数列表
 *             b:调用时,虚拟机通过区分参数的列表来区分方法
 * 
 *         A:1.形式参数和实际参数:
 *                 形式参数:用于接收实际参数的变量
 *                实际参数:实际参与运算的变量
 *
 *         B:1.方法的参数如果是基本数据类型:形式参数的改变不影响实际参数的改变
 *            2.方法的参数如果是引用数据类型:形式参数的改变直接影响实际参数
 * 
 */
public class motherTest01 {
    /*
     * 定义方法Change:方法的参数是基本数据类型
     *         参数类型:int a,int b
     *         返回类型:void
     */
    public static void Change(int a,int b){
        a=b;
        b=a+b;
        System.out.println("a="+a+",b="+b);
    }
    /*
     * 定义方法Change:方法的参数是引用数据类型
     *         参数类型:int[] arr
     *         返回类型:void
     */
    public static void Change(int[] arr){
        for(int i=0;i<arr.length;i++){
            if(arr[i]%2==0){
                arr[i]*=2;
            }
            System.out.println(arr[i]);
        }
    }
    public static void main(String[] args) {
        /*
         * 方法的参数是基本数据类型
         */
        int a=10;
        int b=20;
        System.out.println("a="+a+",b="+b);//a=10,b=20
        System.out.println("------------------------------------------");
        /*
         * 调用Change()方法
         * a=20,b=40
         */
        Change(a, b);
        System.out.println("------------------------------------------");
        System.out.println("a="+a+",b="+b);//a=10,b=20
        System.out.println("------------------------------------------");
        /*
         * 方法的参数是引用数据类型
         */
        int[] arr={1,2,3,4,5};//定义arr数组
        for(int i=0;i<arr.length;i++){//遍历数组并输出每一个值
            System.out.println(arr[i]);
        }
        System.out.println("------------------------------------------");
        /*
         * 调用Change()方法
         * 引用了数组arr
         */
        Change(arr);
        System.out.println("------------------------------------------");
        for(int i=0;i<arr.length;i++){//遍历数组并输出每一个值
            System.out.println(arr[i]);
        }
    }
}
View Code

2.2练习

java基础 随笔 第7张
public class motherTest02 {
    /*
     * 求数组中的最大值
     */
    public static void ArrrayTest(int[] arr){
        int Max=arr[0];
        for(int i=0;i<arr.length;i++){
            if(arr[i]>Max){
                Max=arr[i];
            }
        }
        System.out.println("Max="+Max);
    }
    public static void main(String[] args) {
        int[] arr={10,20,12,56,23,21};
        ArrrayTest(arr);
    }

}
View Code

3.类

3.1概念及代码

java基础 随笔 第9张
/*
 * 面向对象的思想:
 *         A:面向对象是基于面向过程的编程思想
 *         B:面向过程:强调的是一个功能的步骤
 *         C:面向对象:强调的是对象,然后由对象去调用功能
 * 
 * 面向对象的特点:
 *         A:是一种更符合我们思考习惯的思想
 *         B:可以将复杂的事物简单化
 *         C:将我们从执行者变成指挥者
 * 
 * 学习编程语言,其实就是将现实世界的事物模拟出来,实现信息化
 *         A:如何模拟:
 *             A:属性:就是事物的描述信息
 *             B:行为:就是事物能做什么
 *         B:通过类来体现现实事物:
 *             类:是一组相关属性和行为的集合
 *             对象:该事物的具体体现
 *         C:成员变量赋值:
 *             a:setter方法
 *             b:带参的构造方法
 * 
 * this关键字的作用:
 *         代表所在类的对象调用,也就是可以通过this的调用把局部变量的值赋值给全局变量
 * 
 * 构造方法:给对象的数据进行初始化
 *         A:格式:
 *                 a:方法名和类名相同
 *                 b:没有返回值类型
 *                 c:没有具体的返回值
 *         C:注意:如果没有定义构造方法,系统将自动生成一个无参的构造方法
 * 
 * 
 * 面向对象三大特征:
 *         1.封装:
 *             A:概述:是面向对象编程语言对对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的
 *                     外界无法操作和修改。
 *             B:原则:
 *                     (1)将不需要对外界提供的内容都隐藏起来,
 *                     (2)把属性隐藏,提供公共方法对其访问。成员变量private,提供对应的getter和setter方法。
 *             C:好处:
 *                     (1)通过方法来控制成员变量的操作,提高了代码的安全性。
 *                     (2)把代码用方法进行封装,提高了代码的复用性。
 */
package ClassObject;
/*
 * 买电脑:
 *     面向过程思想:我要买电脑--我要明确买电脑的意义--上网查对应参数信息--去买电脑--讨价还价--买回电脑
 *  面向对象思想:我要买电脑--班长(对象)去给我买电脑--买回电脑
 * 
 */
public class Student {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;//将这里的name赋值给外部的name
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    //构造方法
    public Student(){
        System.out.println("这是构造方法");
    }
    public Student(String name){
        this.name=name;
    }
    public Student(int age){
        this.age=age;
    }
    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }
    public void show(){
        System.out.println(name+"今年"+age+"岁");
    }
    
View Code java基础 随笔 第11张
public class StudentTest {
    public static void main(String[] args) {
        //创建对象
        Student student=new Student();
        System.out.println(student.getName()+"今年"+student.getAge()+"岁");
        student.setName("步惊云");
        student.setAge(18);
        System.out.println(student.getName()+"今年"+student.getAge()+"岁");
        /*
         * 调用构造方法
         * 通过new关键字调用
         * 格式:类名 对象名=new 构造方法(....);
         */
        Student student1=new Student("步惊云",18);
        student1.show();
    }
}
View Code

4.集合

4.1概念及代码

java基础 随笔 第13张
/*
 * 集合类:
 *         对多个对象存储需要一个容器类型的变量
 * 集合类的特点:长度可变
 * 
 * ArrayList<E>:大小可变数组的实现
 *         <E>:是一种特殊的数据类型:泛型
 *         构造方法:ArrayList()

 *         添加元素:
 *             add()
 *         获取元素:
 *            get()
 *         集合长度:
 *             size()
 *         删除元素:
 *             remove()删除指定的元素,返回删除是否成功
 *         修改元素:
 *             set()修改指定的元素,返回删除是否成功    
 * 集合的遍历:
 *         集合长度:array.size()
 *         获取元素:array.get(i)
 */

package ArrayList;

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array=new ArrayList<String>();
        //添加元素
        array.add("h");
        array.add("l");
        array.add("i");
        array.add("l");
        System.out.println(array);
        System.out.println("-----------------");
        //获取元素
        System.out.println(array.get(0));
        System.out.println(array.get(1));
        System.out.println("-----------------");
        //集合长度
        System.out.println(array.size());
        System.out.println("-----------------");
        //删除元素
        System.out.println(array.remove("h"));
        System.out.println(array.remove("h"));
        System.out.println("-----------------");
        //修改元素
        System.out.println(array.set(0, "n"));
        System.out.println(array);
        System.out.println("-----------------");
        //遍历集合
        for(int i=0;i<array.size();i++){
            System.out.print(array.get(i)+" ");
        }

    }
}
View Code java基础 随笔 第15张
import java.util.ArrayList;

/*
 * 给定一个字符串数组:{"张三丰","宋远桥","张无忌","殷梨亭","张翠山","莫声谷"}
 * 把数组中的元素添加到集合中,并把所有姓"张"的人打印到控制台。
 * 
 * 分析:
 *         A:创建一个字符串数组
 *         B:创建一个集合对象
 *         C:遍历数组,并把数组中的元素添加到集合中
 *         D:遍历集合
 *         E:打印所有姓"张"的元素
 */
public class Test01 {
    public static void main(String[] args) {
        //创建一个字符串数组
        String[] stringArray={"张三丰","宋远桥","张无忌","殷梨亭","张翠山","莫声谷"};
        //创建一个集合对象
        ArrayList<String> array=new ArrayList<String>();
        //遍历数组,把数组中的元素添加到集合中
        for(int i=0;i<stringArray.length;i++){
            array.add(stringArray[i]);
        }
        //遍历数组
        for(int i=0;i<array.size();i++){
            //打印所有姓"张"的元素
            if(array.get(i).startsWith("张")){
                System.out.println(array.get(i));
            }
        }
        
    }
}
View Code

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄