1.Overload
public class OverLoad{
public static void main(String[] args) {
Methods tool = new Methods();
tool.Method(8);
tool.Method(8, 9);
tool.Method("666");
}
}
class Methods{
public void Method(int n1){
System.out.println(n1 * n1);
}
public void Method(int n1, int n2){
System.out.println(n1 * n2);
}
public void Method(String n1){
System.out.println(n1);
}
}
public class OverLoad{
public static void main(String[] args) {
Methods tool = new Methods();
tool.max(8, 9);
tool.max(8.23, 9.97);
tool.max(4.16, 1.89, 5.17);
}
}
class Methods{
public void max(int n1, int n2){
System.out.println(n1 > n2 ? n1 : n2);
}
public void max(double n1, double n2){
System.out.println(n1 > n2 ? n1 : n2);
}
public void max(double n1, double n2, double n3){
System.out.println((n1 > n2 ? n1 :n2) > n3 ? (n1 > n2 ? n1 :n2) : n3);
}
}
2.Variable Parameters
public class VarParameter{
public static void main(String[] args) {
Methods tool = new Methods();
tool.sum();
}
}
class Methods{
//1.int... 表示接收的是可变参数,类型是int,即可以接收多个int
//2.使用可变参数时,可以当作数组来使用 即nums 可以当作数组
public int sum(int... nums){
System.out.println("接收的参数个数 = " + nums.length);
int res = 0;
for(int i = 0; i < nums.length; i++){
res += nums[i];
}
return res;
}
}
3.Scope
4.Constructor
public class Constructor{
public static void main(String[] args) {
//当我们new 一个对象时,直接通过构造器指定名字和年龄
Person p1 = new Person("chubby", 18);
System.out.println("p1的信息如下");
System.out.println("p1对象name = " + p1.name);//chubby
System.out.println("p1对象age = " + p1.age);//18
}
}
//在创建人类的对象时,就直接指定这个对象的年龄和姓名
//
class Person{
String name;
int age;
//构造器
//1.构造器没有返回值, 也不能写void
//2.构造器的名称和类名Person一样
//3.(String pName, int pAge) 是构造器形参列表,规则和成员方法一样
public Person(String pName, int pAge){
name = pName;
age = pAge;
System.out.println("构造器被调用 完成对象属性的初始化");
}
}
Detail
public class ConstructorDetail{
public static void main(String[] args) {
Person p1 = new Person("chubby", 18);//第一个构造器
Person p2 = new Person("Charon");//第二个构造器
}
}
//在创建人类的对象时,就直接指定这个对象的年龄和姓名
//
class Person{
String name;
int age;
//第一个构造器
public Person(String pName, int pAge){
name = pName;
age = pAge;
}
//第二个构造器
public Person(String pName, int pAge){
name = pName;
}
}
流程分析:
1.在方法区中加载Person类(Person.class),只加载一次
2.在堆中new一个对象(分配地址),对象下有两个属性(age,name)
3.完成对象初始化
[3.1 默认初始化 age = 0, name = null]
[3.2 显式初始化 age = 90, name = null]
[3.3 构造器初始化 age = 20, name = 小倩(字符串保留在常量池中,有其对应地址)]
4.把堆中的对象(地址)返回给 p(p是对象名 / 对象的引用)
5.This
6.Exercise
public class Exercise01{
public static void main(String[] args) {
double[] arr = {110.2, 50.6, 81.6, 997.2};
A1 a1 = new A1();
System.out.println(a1.max(arr));
}
}
class A1{
//求数组最大值
public double max(double[] arr){
double max = arr[0];
for(int i = 1; i < arr.length; i++){
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
}
import java.util.Scanner;
public class Exercise02{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
String[] arr = {"chubby", "charon", "good"};
A02 a1 = new A02();
System.out.println("请输入你要查找的元素");
String input = myscanner.next();
System.out.println(a1.find(arr, input));
}
}
class A02{
//查找数组元素,找到了返回所言,没找到返回 -1
public int find(String[] arr, String input){
for(int i = 0; i < arr.length; i++){
if(arr[i].equals(input)){
return i;
}
}
return -1;
}
}
import java.util.Scanner;
public class Exercise03{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
Book a1 = new Book();
System.out.println("请输入书本的价格");
double input = myscanner.nextDouble();
System.out.println(a1.updatePrice(input));
}
}
class Book{
//查找数组元素,找到了返回所言,没找到返回 -1
public double updatePrice(double input){
if(input > 150){
input = 150;
return input;
}else if(input > 100 && input <= 150){
input = 100;
return input;
}else return input;
}
}
import java.util.Scanner;
public class Exercise04{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
A03 a1 = new A03();
int[] arr = {1, 2, 3};
int[] arr01 = a1.copeArr(arr);
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
arr01[0] = 5;//测试是否为新数组
for(int i = 0; i < arr.length; i++) {
System.out.print(arr01[i] + " ");
}
}
}
class A03{
//复制一个新数组
public int[] copeArr(int[] arr){
int[] newarr = new int[arr.length];
int[] arr01 = new int[arr.length];
for(int i = 0; i < arr.length; i++){
newarr[i] = arr[i];
}
arr01 = newarr;
return arr01;
}
}
import java.util.Scanner;
public class Exercise05{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
Circle c1 = new Circle();
System.out.println("请输入你要求的园的半径:");
c1.r = myscanner.nextDouble();
System.out.println(c1.r);
System.out.print("周长为:");
c1.c(c1.r);
System.out.print("面积为:");
c1.s(c1.r);
}
}
//定义一个园类Circle
class Circle{
double r;
//求周长
public void c(double r){
double c = 2 * r * 3.14;
System.out.println(c);
}
//求面积
public void s(double r){
double s = r * r * 3.14;
System.out.println(s);
}
}
import java.util.Scanner;
public class Exercise{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入你要求的两个数:");
double num1 = myscanner.nextDouble();
double num2 = myscanner.nextDouble();
Cale c1 = new Cale();
Cale c2 = new Cale();
c1.addition(num1, num2);
c1.subtraction(num1, num2);
c2.multiplication(num1, num2);
c2.division(num1, num2);//可以加入switch让用户进行选择
}
}
//定义一个计算类
class Cale{
//求和
public void addition(double num1, double num2){
double sum = num1 + num2;
System.out.println(sum);
}
//求差
public void subtraction(double num1, double num2){
double difference = num1 - num2;
System.out.println(difference);
}
//求积
public void multiplication(double num1, double num2){
double product = num1 * num2;
System.out.println(product);
}
//求商
public void division(double num1, double num2){
if (num2 == 0) {
System.out.println("除数不能为0");
}else {
double quotient = num1 / num2;
System.out.println(quotient);
}
}
}
import java.util.Scanner;
public class Exercise07{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
Dog dog1 = new Dog();
dog1.show("双喜", "黄", 2);
}
}
//定义一个Dog类
class Dog{
String name;
String color;
int age;
public void show(String name, String color, int age){
this.name = name;
this.color = color;
this.age = age;
System.out.println("小狗叫" + name + "今年" + age + "岁" + "是" + color + "色");
}
}
import java.util.Scanner;
public class Exercise08{
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
}
}
class Employee{
String name;
int age;
char gender;
String job;
double sal;
public Employee(String job, double sal){
this.job = job;
this.sal = sal;
}
public Employee(String name, char gender, int age){
this.name = name;
this.gender = gender;
this.age = age;
}
public Employee(String job, double sal, String name, char gender, int age){
this(name, gender, age);
this.job = job;
this.sal = sal;
}
}
The knowledge learning in the article comes from:
【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1fh411y7R8?p=32