18.2.1无参无返回值的方法

18.2.1.1定义方法的语法格式

public static void 方法名称(){

方法体

}

方法调用

类名.方法名称();

注意:在Java中,同一个类中的方法则可以直接进行调用,也就是方法名称();

18.2.2.无参带返回值的方法

 18.2.2.1定义方法的语法格式

public static 返回值类型 方法名称(){

方法体

}

注意:1.当方法只有一个结果时,则可以将方法编写为带有返回值的

2.返回值类型可以是目前所学的9种数据类型之一

3.如果方法有返回值则必须在方法体中使用return将值返回,返回到方法的调用处,因此必须在调用处进行处理

第一种:使用变量接收,然后输出变量中的值

 int n = add();

 System.out.println(n);

  

      第二种:使用return返回

public static int add(){

                return 1 + 2;

         }

练习1:要求使用方法实现两个数的计算器的功能(加、减、乘、除、取余)

import java.util.Scanner;

class Count01 {
// 要求使用方法实现,计算器的功能(加、减、乘、除、取余)
public static double conut() { double sum ;
double difference ;
double acculamate ;
double quotient;
double remainder;
System.out.println("请输入两个数:");
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble(); double b = sc.nextDouble() ; System.out.println("请选择运算形式");
String x = sc.next();
double result = 0 ; if (x.equals("*")) {
result = a * b; }else if (x.equals("/")) {
result = a/b; }else if (x.equals("+")) {
result = a +b;
}else if (x.equals("-")) {
result = a -b;
}else if (x.equals("%")) {
result = a%b; }
System.out.println("结果为" + result); return 0; } }
public class Testcount01 { public static void main(String[] args) {
// TODO Auto-generated method stub
Count01 count = new Count01();
Count01.conut(); } }

18.2.3带参无返回值的方法

注意:

1.在Java中,可以将未知数编写为参数
2.参数可以编写任意多个,但是每个参数都是:数据类型 参数名称,多个参数之间使用英文的逗号分隔
3.在Java中,未知数称为形式参数,简称形参
4.形参的值必须在调用方法时实参赋值给形参
5.如果方法带有参数,则必须保证实参与形成个数一致、类型一致、顺序一致

18.2.3.1语法格式

public static void print(int n){  //n也叫做形式参数,简称形参
for(int i = 1;i <= n;i++){
System.out.println(i);
}
}

18.2.3.2调用

print(5);  //5是具体的值,因此称为实际参数,简称实参

break、continue、return语句区别:
return表示返回,在方法中使用,当遇到return语句则就返回到方法的调用处
注意:方法是无返回值的特殊形式,可以在方法体中编写return; 终止当前整个方法
break表示中断,在循环中、switch case中使用,当遇到break则结束当前整个循环或switch case
continue表示继续,在循环中使用,当遇到continue语句则结束本次循环,则继续执行下一次循环

 

19.  方法的重载

在同一个类中,必须方法名称相同,参数列表必须不同(类型不同、个数不同、顺序不同),与返回值类型无关
注意:在调用时,根据参数自动找相匹配的执行

计算两个数中找最大数,使用重载完成

当做相同事情时,但是数据类型不同

//定义(创建)方法
public static 返回值类型 方法名称([数据类型 参数名称,数据类型 参数名称]){
方法体
}

//调用
类名.方法名称([实参列表]);
方法名称([实参列表]);

20.  面向对象

20.1.概念:
面向对象:采用虚拟世界"模拟现实"生活,必须保证模拟一致
面向过程:一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。
:对同一类事物的抽象描述
如:电脑类、水杯类、学生类.....
对象:万物皆对象,也就是具体的实例
如:张三、我的水杯.......
类与对象关系:
抽象与具体的关系

描述对象的特征,称为属性
对象所做的事情,称为行为或方法

张三对象:
属性:名字、性别、年龄、籍贯.........
方法:搬砖、爱说话、学习、休息.......

李四对象:
属性:姓名、年龄、身高、性别、现住址.......
方法:说、学习、吃......

王五对象:
属性:名字、现住址、性别、年龄、婚否........
方法:学习、休息、吃......

将多个(3个)对象中找到共有的属性和方法组合在一起,形成一个类
学生类:
属性:名字、性别、年龄
方法:学习

类图

20.3.编写类的操作步骤:
第一步:编写类
语法格式:
[修饰符] class 类名{

}
第二步:编写属性
注意:1.属性编写在类中的
2.当属性没有赋值时,则是有默认值的,数据类型不同默认值不同
整数类型默认值为0
浮点类型默认值为0.0
字符类型默认值为\u0000
布尔类型默认值为false
在java中,所有的引用数据类型默认值为null
语法格式:
[修饰符] 数据类型 属性名称 [= 值];
如:String name;
第三步:编写方法
注意:1.方法编写在类中
2.在面向对象中,方法的修饰符暂时编写为public
语法格式:
[修饰符] 返回值类型 方法名称([参数列表]){
方法体
}

20.4.编写测试类:
也就是有main方法的类

20.5.创建对象
语法格式:
类名 引用名称 = new 类名(); //new表示创建一个对象,并在堆内存中开辟一块空间

注意:在java中,一个类可以创建多个对象

20.6.如何使用引用名称访问属性?
引用名称.属性名称

20.7.如何使用引用名称访问方法?
引用名称.方法名称();

20.8.对象与引用区别
对象是具体的一个实例,如:new Student(); new表示创建一个对象,并在堆内存中开辟一块空间
引用名称是存放的对象的地址

练习1:编写一个电脑类,属性:颜色、品牌、价格,方法:显示电脑信息
编写测试类,创建电脑对象,并输出电脑的信息

class Computer {
//练习1:编写一个电脑类,属性:颜色、品牌、价格,方法:显示电脑信息
// 编写测试类,创建电脑对象,并输出电脑的信息
String color;
String brand;
int prize;
public void show(String color,String brand, int prize) {
System.out.println(color);
System.out.println(brand);
System.out.println(prize);
}
} //测试
public class Test01 { public static void main(String[] args) {
// TODO Auto-generated method stub
Computer computer = new Computer();
computer.show("black","Dell",5999); } }

20.9.成员变量和局部变量区别
1.声明位置不同:
成员变量也就是属性,在类中声明的
局部变量,在方法中声明或代码块中声明
2.初始值不同
成员变量如果没有赋值则是有默认值的,数据类型不同则默认值不同
局部变量是没有默认值,也就是说必须先声明,再赋值,最后才使用
3.在一个类中,局部变量可以与成员变量同名,但是局部变量优先,如果非要访问成员变量的属性,则必须使用this.color
this代表当前这个对象,也就是当前谁调用这个方法则这个对象就是谁

20.10.对属性赋值
第一种方法:使用引用名称.属性名
dog.name = "旺财";
第二种方法完成属性赋值:使用构造方法
21.构造方法:
21.1作用:

完成对属性赋值
21.2定义:

构造方法是一个特殊的方法,构造方法的名字必须与类名一致,构造方法必须没有返回值类型,也就是不编写void
如:
class Dog{
//构造方法
public Dog(){

}
}
21.3构造方法如何调用?
----当创建对象的同时执行相匹配的构造方法
21.4构造方法的重载:
在同一个类中,构造方法的名字必须相同,参数列表必须不同
注意:在调用时自动根据参数找相匹配的执行

Java基础学习笔记(三)的更多相关文章

  1. Java基础学习笔记三 Java基础语法

    Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...

  2. Java基础学习笔记三 正则表达式和校验、Date、DateFormat、Calendar

    正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex).正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串.在 ...

  3. Java基础学习笔记(三) - 抽象类和接口

    一.抽象类 没有方法主体的方法称为抽象方法,包含抽象方法的类就是抽象类. Java中使用 abstract 关键字修饰方法和类,抽象方法只有一个方法名,没有方法体. public abstract c ...

  4. java基础学习笔记三(多态)

    多态? 多态是同一个行为具有多个不同表现形式或形态的能力. 存在的必要条件 继承 重写 父类引用指向子类对象 比如: Parent p = new Child(); 当使用多态方式调用方法时,首先检查 ...

  5. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  6. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  7. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  8. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  9. Java IO学习笔记三:MMAP与RandomAccessFile

    作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和Fil ...

  10. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

随机推荐

  1. 一、Jmeter环境介绍

    1.安装 从Apache网站http://jmeter.apache.org/download_jmeter.cgi下载二进制包. .tgz后缀名的为Linux使用的包 .zip后缀的为windows ...

  2. delphi Berlin Could not load SSL library.

    delphi Berlin Could not load SSL library. TIdSSLIOHandlerSocketOpenSSL 解决办法:下载合适的版本文件libssl32.dll Id ...

  3. Eclipse集成SonarLint

    https://docs.sonarqube.org/display/PLUG/Writing+Custom+Java+Rules+101

  4. HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现

    HashMap:底层是一个数组+链表实现 LinkedHashMap:底层是Hash表和链表的实现 ConcurrentHashMap:基于双数组和链表的Map接口的同步实现 ArrayList:底层 ...

  5. centos7 redis配置

    https://www.cnblogs.com/web424/p/6796993.html

  6. 使用exec函数将当前的信息输入到文件中

    先来看看exec函数: exec函数族     fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函 ...

  7. Zabbix点滴记录

    转自 眄眄的闺蜜 简单检查中的icmppingloss[<target>,<packets>,<interval>,<size>,<timeout ...

  8. t959 unknown device 解决办法

    换机器没用 换数据线没用 最后装了Kies3,好了! -------- 更新 跟数据线也有关系 换一条三星自带的试试

  9. (转)JS之——解决IE6、7、8使用JSON.stringify报JSON未定义错误的问题

    https://blog.csdn.net/l1028386804/article/details/53439755 在通过JavaScript将对象类型的参数通过JSON.stringify转换成字 ...

  10. C# 指定平台编译项目

    如CefSharp就需要指定平台,项目为Any CPU时,无法编译,总会提示出错. 如: CefSharp.Common contains unmanaged resoures, set your p ...