Java入门基础之数组以及类与对象 个人笔记
程序员文章站
2024-03-15 17:41:36
...
数组的声明和赋值
通过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("退出程序");
}
}
上一篇: 【Java】java 类与对象 学习简述