Java入门基础之数组以及类与对象 个人笔记
来源:互联网 发布:linux查看电源功率 编辑:程序博客网 时间:2024/06/07 02:38
数组的声明和赋值
通过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
- Java入门基础之数组以及类与对象 个人笔记
- java入门基础之数据类型 个人笔记
- java基础(个人学习笔记)D 数组
- java基础(个人学习笔记)F 对象
- java 从零开始,学习笔记之基础入门<数组>(七)
- Java学习个人备忘录之入门基础
- java基础之对象数组
- Java基础之对象数组
- java基础入门-对象与对象变量
- java学习笔记5.22多维数组以及对象和类
- Java入门基础之数据类型的转换、包箱、拆箱(附习题) 个人笔记
- JAVA基础之面向对象(个人学习笔记,更新修改中)
- Java入门基础之【Java数组】13
- JAVA入门基础笔记-数组类型
- java基础之----类与对象
- Java基础之对象与类
- PHP入门之数组+函数+类与面向对象
- javascript入门篇之对象与数组
- django-admin:command not found的解决办法
- Maven配置之Setting文件详解
- Yii 表单交互的三种方式
- 实战Apache安装配置
- vs中debug和release版本的区别
- Java入门基础之数组以及类与对象 个人笔记
- 51采集PCF8591数据通过ESP8266上传C#上位机
- 采访优秀学长学姐后的感悟与体会
- 机器学习笔记——半监督学习
- Shell中的数组及其相关操作
- Python匿名函数
- HDOJ2586 lca查询 tarjan模板程序
- listview+webview
- 腾讯2018应届毕业生校招之技术类招聘详细资讯