Java基础学习笔记(三)
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基础学习笔记(三)的更多相关文章
- Java基础学习笔记三 Java基础语法
		Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ... 
- Java基础学习笔记三  正则表达式和校验、Date、DateFormat、Calendar
		正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex).正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串.在 ... 
- Java基础学习笔记(三) - 抽象类和接口
		一.抽象类 没有方法主体的方法称为抽象方法,包含抽象方法的类就是抽象类. Java中使用 abstract 关键字修饰方法和类,抽象方法只有一个方法名,没有方法体. public abstract c ... 
- java基础学习笔记三(多态)
		多态? 多态是同一个行为具有多个不同表现形式或形态的能力. 存在的必要条件 继承 重写 父类引用指向子类对象 比如: Parent p = new Child(); 当使用多态方式调用方法时,首先检查 ... 
- Java基础学习笔记总结
		Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ... 
- 尚学堂JAVA基础学习笔记
		目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ... 
- Java IO学习笔记三
		Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ... 
- Java基础学习笔记(一)
		Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ... 
- Java IO学习笔记三:MMAP与RandomAccessFile
		作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和Fil ... 
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
		森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397 文章- 0 评论- 78 JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ... 
随机推荐
- 判断B是不是A的子结构
			题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解答: class Solution: def HasSubtree(self, pRo ... 
- java-代码生成器
			package ormRex; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import ... 
- python学习笔记_week9
			一.paramiko模块 SSHClient,用于连接远程服务器并执行基本命令 基于用户名密码连接: ssh执行命令:stdin,stdout,sterr:标准输入.输出.错误 import para ... 
- Linux设置DNS server
			查看: cat /etc/resolv.conf 修改: vim /etc/resolv.conf 
- Linux的JDK配置
			1.下载jdk-7u1-linux-i586.rpm2.cd 到 jdk-7u1-linux-i586.rpm 所在的目录3.su 获得 root 权限4.执行安装命令: rpm -ivh jdk-7 ... 
- HTML5 实现获取 gzip 压缩数据,并进行解压,同时解决汉字乱码,相关 pako.js
			1, 下载 pako.js => http://nodeca.github.io/pako/#Deflate.prototype.onData 2, 首先需要了解一下 XMLHttpReques ... 
- 判断pc端或移动端并跳转
			判断pc端或移动端并跳转 代码目录: index.html代码: <!DOCTYPE html> <html lang="en"> <head> ... 
- react-native Animated, 旋转动画
			Animated 仅封装了四个可以动画化的组件: View.Text.Image.ScrollView 可以使用 Animated.createAnimatedComponent()来封装你自己的组件 ... 
- Map 接口
			1.键值对存储一组对象 2.key值不能重复,value可以重复 3.具体的实现类,HashMap,treeMap,HashTable,LinkedHashMap ------------------ ... 
- ADOQuery.Parameters: Property Parameters does not exist
			Exception class EReadError with message 'Property Parameters does not exist'. Exception class EReadE ... 
