例题:利用面向对象的编程方法,设计类Circle,计算圆的面积

package com.fanfan.exer;public class CircleTest {public static void main(String[] args) {Circle c1 = new Circle();c1.radius = 2.1;//对应方式一://double area = c1.findArea();//System.out.println(area);//对应方式二:c1.findArea();}
}//圆
class Circle{//属性double radius;//求圆的面积//方式一://public double findArea(){//double area = Math.PI*radius*radius;//return area;//}//方式二:public void findArea() {double area = Math.PI*radius*radius;System.out.println("面积为:" + area);}}

练习

package com.fanfan.exer;
/** 1.编写程序,声明一个method方法,在方法中打* 印一个10*8的*型矩形,在main方法中调用该方法* 2.修改上一个程序,在method方法中,除打印一* 个10*8的*型矩形外,再计算该矩形的面积,并将* 其作为方法的返回值。在main方法中调用该方法,* 接收返回的面积值并打印* 3.修改上一个程序,在method方法提供m和n两个* 参数,方法中打印一个m*n的*型矩形,并计算该* 矩形的面积,将其作为返回值。在main方法中调* 用该方法,接收返回值的面积并打印。* */public class Exer3Test {public static void main(String[] args) {Exer3Test test = new Exer3Test();//1测试//test.method();//2测试//int area =test.method();//System.out.println("面积为:" + area);//3测试int area = test.method(12, 10);System.out.println("面积为:" + area);}//1.//public void method() {//for(int i = 0; i < 10;i++) {//for(int j = 0; j < 8;j++) {//System.out.print("* ");//}//System.out.println();//}//}//2.//public int method(){//for(int i = 0; i < 10;i++) {//for(int j = 0; j < 8;j++) {//System.out.print("* ");//}//System.out.println();//}//return 10*8;//}//3.public int method(int m,int n){for(int i = 0; i < m;i++) {for(int j = 0; j < n;j++) {System.out.print("* ");}System.out.println();}return m * n;}
}

类和对象的创建和执行操作

1.创建类

2.类的实例化

3.调用对象的结构:“对象.属性”“对象.方法"

练习:

package com.fanfan.exer;
/** "万事万物皆对象"* 1.在java语言范畴中,将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构*         Scanner,String*      文件:File*         网络资源:URL* 2.涉及到Java语言与前端HTML、后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类、对象。* * * 内存解析的说明* 1.引用类型的变量:只可能存储两类值:null或地址值(含变量的类型)* * * * 匿名对象的使用* 1.创建的对象,没有显示的赋给一个变量名,即为匿名变量* 2.特征:匿名对象只能调用一次* 3.使用:* * */
public class InstanceTest {public static void main(String[] args) {Phone p = new Phone();System.out.println(p);p.sendEmain();p.playGame();//匿名对象//new Phone().sendEmain();//new Phone().playGame();new Phone().price = 1999;new Phone().showPrice();//0.0}
}class Phone{double price;//价格public void sendEmain() {System.out.println("发送邮件");}public void playGame() {System.out.println("玩游戏");}public void showPrice() {System.out.println("手机价格为:" + price);}}

工具类封装练习

package com.fanfan.exer;public class ArrayUtil {//求数组的最大值public int getMax(int[] arr) {int maxValue = arr[0];for(int i = 1;i < arr.length;i++) {if(maxValue < arr[i]) {maxValue = arr[i];}}return maxValue;}//求数组的最小值public int getMin(int[] arr) {int minValue = arr[0];for(int i = 1;i < arr.length;i++) {if(minValue > arr[i]) {minValue = arr[i];}}return minValue;}//求数组的总和public int getSum(int[] arr) {int sum = 0;for(int i = 1;i < arr.length;i++) {sum += arr[i];}return sum;}//求数组的平均值public int getAvg(int[] arr) {return getSum(arr) / arr.length;}//反转数组public void reverse(int[] arr) {for(int i = 0 ; i < arr.length / 2;i++) {int temp = arr[i];arr[i] = arr[arr.length - i - 1];arr[arr.length - i - 1] = temp;}   }//复制数组public int[] copy(int[] arr) {int[] arr1 = new int[arr.length];for(int i = 0 ; i < arr1.length;i++) {arr1[i] = arr[i];}return arr1;}//数组排序public void sort(int[ ]arr) {for(int i = 0 ; i < arr.length - 1 ;i++) {for(int j = 0;j < arr.length-1-i;j++) {if(arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1]= temp;}}}}//遍历数组public void print(int[] arr) {for(int i = 0 ; i < arr.length ; i++ ) {System.out.print(arr[i] + "\t");}System.out.println();}//查找指定元素public int getIndex(int[] arr,int dest) {for(int i = 0 ; i< arr.length;i++) {if(dest == (arr[i])) {return i;}}return -1;//返回一个负数,表示没找到}
}
package com.fanfan.exer;public class ArrayUtilTest {public static void main(String[] args) {ArrayUtil util = new ArrayUtil();int[] arr = new int[]{32,67,45,86,97,12,55};int max = util.getMax(arr);System.out.println("最大值为:" + max);System.out.println("排序前:");util.print(arr);util.sort(arr);System.out.println("排序后:");util.print(arr);System.out.println("查找:");int index = util.getIndex(arr, 5);if(index >= 0) {System.out.println("找到了,索引地址为:" + index);}else {System.out.println("未找到");}}
}

学习Java day08 面向对象相关推荐

  1. 学习Java编程面向对象的五大基本原则

    Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...

  2. 学习java的步骤_java学习的基本步骤

    Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了.但有一些基本的步骤: 熟悉一种文本编辑器, 比如:Vim, Emacs, Notepad++, TextMate等.知道哪些 ...

  3. 学习Java之前先学C语言

    这个我们在前面已经讲过了,但是讲得不是很系统.关于学习 Java 之前为什么要先学C语言,我总结了三点: 1)学习C语言就是在学习 Java,因为C语言中至少 80% 的语法知识都被 Java 继承了 ...

  4. Java全栈学习day05(面向对象02)

    1.继承 继承的概念 实现代码的重用,子类继承父类的一切属性和方法(除了构造方法),父类的私有属性.方法不能直接使用,需要get和set. package com.test;public class ...

  5. 系统学习JAVA第十七天(字节流、字符流、缓冲的字节流、缓冲的字符流、将字节流转换为缓冲的字符流、面向对象——>字节流转成对象)

    系统学习JAVA第十七天 第一阶段在2021.2.1结束了! 一.数据传输 IO输入和输出,硬盘之间的数据交换 1.文件读写流程 ①创建文件的容器 ②判断方向 合适的类 创建和文件之间的通道 ③ 调用 ...

  6. 【JavaSE学习】03面向对象Java语法

    JavaSE(B站黑马)学习笔记 01Java入门 02数组.方法 03面向对象&Java语法 04-1Java高级(Stream流.异常处理.日志技术) 04-2Java高级(文件处理-IO ...

  7. 学习java周期_Java第一作业周期总结

    1.作业总结 自java开课,我们已经进行了三次作业的练习,一步步的从最开始的没有什么特别之处,到运用到java中独有的知识,从简单到复杂,初步了解了Java编程的基本准则.最开始的作业,写完之后,并 ...

  8. java培训分享:学习java开发的优势是什么

    想要进入到互联网行业的小伙伴,经常比较纠结学那个学科比较好,目前java.web前端.Python等都是非常热门的行业,前景也是比较好的,选择java学科的人比较多,那么学习java开发的优势是什么呢 ...

  9. 零基础怎么学习Java?

    最近几年,有很多小伙伴都比较关注"零基础怎么学习Java?"这个问题,因为很多小伙伴都是从其他行业转型来参加java培训学习的,都很担心自己学不会,那么来看看下面的详细介绍吧. 零 ...

最新文章

  1. 个人开发者做一款Android App需要知道的事情
  2. php学习day9---数据库的基本知识
  3. java 采样_java 采集数据
  4. Memcache所有方法及参数详解以及使用方法
  5. 左神算法:两个单链表相交的一系列问题(链表是否有环 / 两无环链表是否相交 / 两有环链表是否相交)
  6. Jerry的SAP One Order框架重构的几版代码
  7. com 组件调用不起来_AwesomeGithub组件化探索之旅
  8. WebBrowser控件的常用方法、属性和事件
  9. 共阳数码管段码表_简单共阴极数码管电路图大全
  10. 基于Go实现的秒杀系统
  11. Codeforces Round #532(Div. 2) B.Build a Contest
  12. mysql5.7.23分区表_MySQL5.7.23 VS MySQL5.6.21 分区表性能对比测试
  13. 按层次遍历二叉树_LeetCode | 102.二叉树的层次遍历
  14. 网页分享接口代码格式
  15. 新宝市场分析近期大涨的抱团板块个股大多高位收阴或者黄昏星的感觉
  16. 傅里叶变换公式整理,意义和定义,概念及推导
  17. android获取wifi支持的信道,Android获取当前连接wifi的信道
  18. 在做了在做了!次世代迭代进展让你一睹为快!【新倩女幽魂OL】
  19. PyTorch搭建ANN实现时间序列预测(风速预测)
  20. 短信验证码平台哪家速度快又稳定,推荐下?

热门文章

  1. 独立表情包壁纸喝酒神器功能微信小程序源码
  2. 从数据恢复角度分析腾讯云静默损坏
  3. 【面试】968- 66 道前端常见算法面试题(附思路分析)
  4. 好程序员web培训简述web前端开发工具有哪些
  5. 用javascript和vml写的魔兽世界天赋模拟器
  6. 苹果内存不够怎么办_苹果手机内存不够用,较好的解决办法
  7. vue-router 两种模式的区别
  8. 工作一年之后,那些。。。
  9. 我和计算机技术-在迅雷
  10. 2020年需要完成的任务