Java入门基础之数组以及类与对象 个人笔记

数组的声明和赋值

通过new关键字来声明你想定义的数据类型的数组;
边声明边赋值不能指定数组长度,数组长度已固定

package day3;

public class Demo01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a[]= new int[]{12,11,14};//边声明边赋值不能指定数组长度,数组长度已固定
        int sum = 0;
        for(int i = 0;i<a.length;i++){
            sum+=a[i];
        }
        System.out.println((double)sum/a.length);

        String s[]= new String[]{"Nike" , "Suning" ,"Kappa","361°"};
        for(int i =0;i<s.length;i++){
            System.out.println(s[i]);
        }
    }

}

传值和传引用

package day3;

public class Demo04 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //基本数据类型传值
        int i=6;
        int j = i;
        i = 7;
        System.out.println(j);

        //引用数据类型
        int zhangSan [] = {180,25};
        int liSi[] = zhangSan;
        zhangSan[0] = 170;
        System.out.println(liSi[0]);
    }

}

数组的升序排序

Array.sort();函数

package day3;

import java.util.Arrays;

public class Demo05 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a[] = {15,45,87,11,21};
        System.out.println("排序前:");
        for (int i = 0; i < a.length; i++) {

            System.out.print(a[i]+" ");
        }
        System.out.println();
        Arrays.sort(a);//升序排列
        System.out.println("排序后:");
        for (int i = 0; i < a.length; i++) {

            System.out.print(a[i]+" ");
        }
    }

}

结果如下:
这里写图片描述

数组其他方法

package day3;

import java.util.Arrays;

public class Demo06 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr1[] = {10,20,30,40};
        int arr2[] = {10,20,30,40};
        int arr3[] = {10,20,30};
        //equals:用来判断数组是否相同,输出true和false
        System.out.println(Arrays.equals(arr1, arr3));
        //toString:用来把数组转化成字符串
        System.out.println(Arrays.toString(arr1));
        //fill:用来给数组填元素
        Arrays.fill(arr1, 10);
        System.out.println(Arrays.toString(arr1));

        //binarySearch:用来查找数组中指定数据的索引
        Arrays.sort(arr2);
        System.out.println(Arrays.binarySearch(arr2, 20));//只对升序数组有效,先便历数组,在输出索引值

        //copyOf:从数组的头部开始,复制指定长度的数组
        //参数一:要复制的数组  参数二  :复制元素的个数
        int arr4[] = Arrays.copyOf(arr2, 6);
        System.out.println(Arrays.toString(arr4));
        //copyOfRange复制数组中的某一段元素
        //参数一:要复制的数组  参数二  :开始的索引   参数三: 结束索引(不包括)
        int arr5[] = Arrays.copyOfRange(arr2, 0, 2);
        System.out.println(Arrays.toString(arr5));
    }

}

类与对象

对象:真实存在的实体 张三 李四
对象:有自己的属性和方法
属性:对象具有的特征(高矮胖瘦等等)
方法:对象能做什么(吃喝睡打篮球跑步)
对象是具体的,真实存在的

类:是对对象的概括 张三李四王五等都属于人
具体相同属性和方法的对象可以归为一类
类是抽象的概念,不是具体的

对象的实例化 由抽象的类生成一个具体的实例
对象就拥有了类的相关的属性和方法

构造函数

package day3;

public class Demo091 {
    //构造函数:和类同名,没有返回值
    //作用:用来实例化对象,实例化对象的时候会调用构造函数
    //特点:一个类里可以存在多个构造函数

    public  Demo091(){
        System.out.println("实例化调用了我");
    }
    public  Demo091(String name1 ,int age1){
        this.name = name1;
        this.age = age1;
    }
    //属性
    String name;
    int age;
    //方法 无参函数
    public void eat(){
        System.out.println("我喜欢吃蛋炒饭");
    }
    //有参函数
    public void say(){
        System.out.println("我的名字"+name);
        System.out.println("我的年龄"+age);
    }
}

练习1

文件一:

package day3;

public class Demo101 {
    String name;
    int age;
    String sex;
    double height;
    double weight;
    public Demo101(String name1,int age1,String sex1){
        this.name = name1;
        this.age = age1;
        this.sex = sex1;
    }
    public void jieshao(){
        System.out.println("大家好!");
        System.out.println("我叫"+name+",今年"+age+"岁");
        System.out.println("我是一个身高"+height+",体重"+weight+"的"+sex+"人");
    }
    public void work(String content){
        System.out.println(name+"的工作理念是:"+content);
    }
}

文件二:

package day3;

public class Demo102 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo101 abao = new Demo101("阿宝",25,"男");
//      abao.name = "阿宝";
//      abao.age = 25;
//      abao.sex = "男";
        abao.height = 175.0;
        abao.weight = 120.0;
        abao.jieshao();
        System.out.println("=============================");
        Demo101 meimei = new Demo101("美美",21,"女");
//      meimei.name = "美美";
//      meimei.age = 21;
//      meimei.sex = "女";
        meimei.height = 165.0;
        meimei.weight = 100.0;
        meimei.jieshao();
        meimei.work("工作是为了更好的生活");
    }

}

输出结果:
这里写图片描述

练习 2

要求说明:当输入为n时,停止输入数据,否则,一直输入。
通过do{}while的循环来实现
文件一:

package day3;

public class Person1 {
    String name;
    int age;
    public double sum(double a,double b){
        return a+b;
    }
    public void visit(){
        if(age>=18)
        System.out.println(name+"的年龄"+age+",门票价格为:20元");
        else
        System.out.println(name+"的年龄"+age+",门票免费");
    }
}

文件二:

package day3;

import java.util.Scanner;

public class Person2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person1 zhangsan = new Person1();
        int i=1;
        Scanner input = new Scanner(System.in);
        double a = input.nextDouble();
        double b = input.nextDouble();
        double sum = zhangsan.sum(a, b);
        System.out.println(sum);
        do{
            System.out.print("请输入姓名:");
            zhangsan.name = input.next();
            if(zhangsan.name.equals("n")){
                break;
            }   
            else{
                i=1;
            System.out.print("请输入年龄:");
            zhangsan.age = input.nextInt();
            zhangsan.visit();
            System.out.println();
            }

        }while(i==1);

        System.out.println("退出程序");

    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值