java 0基础从入门到入门 学习日记 01

目录

java基础语法

注释

标识符

数据类型

运算符

流程控制

Scanner (用户交互)

流程结构

方法

什么是方法?

方法的声明

返回值

方法名

参数列表

方法的声明与调用

面向对象的基本特征


java基础语法

java是一个面向对象的语言,万物皆对象。

注释

解释说明自己的代码,不会被执行。

  1. 单行注释: //

  2. 多行注释: /* */

标识符

java对变量,方法,类等要素命名。

标识符的规则:

  1. 标识符由英文字母、0-9、$_组成。

  2. 不能以数字开头。

  3. 不能用关键字和保留字,但可以包含关键字和保留字。

  4. java严格区分大小写,不限制长度。

  5. 不能包含空格。

标识符的命名规范:

  1. 包名:所有字母都是小写 例xxxyyyzzz。

  2. 类名:驼峰命名法 多单词组成的所有单词首字母大写 XxxYyyZzz。

  3. 方法名:首字母小写 xxxYyyZzz。

  4. 常量名:多个单词用_连接 所有字母大写。XXX_YYY_ZZZ.

  5. 见名之意。(注意)

数据类型

基本数据类型:

  1. 整数 byte 1 short 2 int(默认) 4 long 8

  2. 浮点数 float 4 double (默认) 8

  3. 字符 char 2

  4. 布尔值 boolean 1

引用数据类型:

  • 接口

  • 数组

类型转换 :

自动类型转换 - 低转高

强制类型转换 - 高转低 (低)高

运算符

  • 算术运算符 +、-、*、/、%、++、--

  • 赋值运算符 =

  • 关系运算符 > < >= <= = = != instance of

  • 逻辑运算符 && || !

  • 位运算符 & | ^ ~ >> << >>>

  • 条件运算符 ? :

  • 扩展运算符+=、-= 、*=、/=

包的机制 :域名倒着写 防止命名冲突。、

例:自增与自减

package com.dq;
 
public class Test {
    public static void main(String[] args) {
        int a = 2;
        int b = 3;
        System.out.println( a++);//2
        System.out.println( ++b);//4
    }
}

例:三元运算符

什么是类?

类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。

类的声明

public class className {……}

1.什么是包?

区别类名的命名空间,更好的组织类。

2.包的作用?

功能相似的类或接口组织在同一个包中,方便查找和使用。

3 .java 包的作用域

  • public:可以被任何类使用。

  • private:只能被定义它的类使用。

  • protected:可以被自己、同一包下的其它类,子类使用。

流程控制

Scanner (用户交互)

如何使用Scanner类

1、首先导入java.util.Scanner包;

import java.util.Scanner;

2、创建Scanner类对象

Scanner sc = new Scanner(System.in);

3、创建一个变量来接收输入的数据

int a = sc.nextInt();
float b = sc.nextFloat();
double c =sc.nextDouble();
String d = sc.nextLine();

4、关闭Scanner类

sc.close();

5、例子

流程结构

顺序结构 程序默认自上而下执行

选择结构 if单选择结构 if-else 双选择结构 多选择结构 switch jdk7支持了String类型 default

循环结构

  1. for

  2. while

  3. do...while

  4. 增强for循环

  5. 九九乘法表

break 与continue

break:跳出循环

continue:终止当次循环

return :结束方法的运行

方法

什么是方法?

方法,也称函数,如果想要重复一段或者多段代码块的使用,可以将这些代码封装成一个方法,方法具体表现为某种行为,使用方法可以提高代码的复用性。

方法的声明

/*访问权限符 返回值 方法名(参数列表){
    方法体
}*/
例:
    
public void method(){
    System.out.print("这是一个方法");
}
​

返回值

表示方法(函数)要返回的数据类型,int ,double,String等等·,void表示无返回值。

方法名

方法的名称,避免使用到java关键字,并且首字母小写,命名时使用驼峰命名法。

参数列表

(1)形参

也叫形式参数,方法声明时候的参数称为形参,如add(int a)。

(2)实参

也叫实际参数,方法调用时传入的参数,如add(1)。

方法的声明与调用

面向对象的基本特征

  1. 封装:封装就是使对象以外的部分不能随意的访问和操作对象的内部属性。

  2. 继承:子类的对象拥有父类的全部属性和方法。注意:父类可以拥有多个子类,但子类只能有一个父类,被称为单继承。

  3. 多态:对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。

  4. 重载:方法重载是让类以统一的方式处理不同数据类型的手段。

  5. 重写:子类对父类的方法进行重新编写。如果在子类中的方法与其父类有相同的的方法名、返回类型和参数表,我们说该方法被重写 (Overriding),子类可以通过super调用父类的方法。

封装的代码示例:

package com.dq01;
 
public class Student {
    //将 id、name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
    private Integer id;
    private String name;
    private Integer age;
 
    public Integer getId() {
        return id;
    }
 
    public void setId(Integer id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
}

继承的代码示例:

控制台输出:学习

重载代码示例:

public static int  add(int a, int b){
//修饰符   返回值  名字
    return a+b;
}
public static int  add(int a, int b,int c){
    //这里是改变参数列表的个数达到方法重载↑
    //修饰符   返回值  名字
    return a+b;
}
​

重写代码示例:

//父类
public class People{
    public void say(){
        System.out.println("Hello World!");
    }
}
    
//子类
public class men extends People{
    public void say(){
        super.say();
        //在原来的基础上添加新的功能
        System.out.println("我能把Java学好吗?");
    }
}
//main函数
 public static void main(String[] args){
    men man = new men();
    man.say();
}
输出结果:
Hello World!
我能把Java学好吗?

方法重写注意事项、要求

  • 重写方法的名称、形参列表必须与被重写方法的名称和参数列表一致。

  • 私有方法不能被重写。

  • 子类重写父类方法时,访问权限必须大于或者等于父类(缺省<protected <public)

  • 子类不能重写父类的静态方法,如果重写会报错的

多态的代码示例:

多态的前提条件:1.满足继承

2.要有方法的重写

3.父类引用指向子类对象

4.多态中,编译看左边,运行看右边

(1)定义父类Person类

package com.oop.duotai;
​
/**
 * @FileName com.oop.duotai.Person
 * @Description:
 * @Author DQ
 * @Date 2023/5/16:19:32
 * @Version V1.0
 **/
public class Person {
    public void sleep(){
        System.out.println("所有人都会睡觉");
    }
}
​

(2)定义子类Teacher类

package com.oop.duotai;
​
/**
 * @FileName com.oop.duotai.Teacher
 * @Description:
 * @Author DQ
 * @Date 2023/5/16:19:35
 * @Version V1.0
 **/
public class Teacher extends Person{
    @Override
    public void sleep() {
        super.sleep();
        System.out.println("老师也要睡觉");
    }
}
​

(3)定义子类Student类

package com.oop.duotai;
​
/**
 * @FileName com.oop.duotai.Student
 * @Description:
 * @Author DQ
 * @Date 2023/5/16:19:38
 * @Version V1.0
 **/
public class Student extends Person{
    @Override
    public void sleep() {
        super.sleep();
        System.out.println("我们学生睡觉最好满足8小时睡眠");
    }
}

(4)

package com.oop.duotai;
​
/**
 * @FileName com.oop.duotai.Test001
 * @Description:
 * @Author DQ
 * @Date 2023/5/16:19:41
 * @Version V1.0
 **/
public class Test001 {
    public static void main(String[] args) {
        Person dq = new Student();
        dq.sleep();
​
        Person teacher = new Teacher();
        teacher.sleep();
​
    }
}
运行结果:
    所有人都会睡觉
    我们学生睡觉最好满足8小时睡眠
    所有人都会睡觉
    老师也要睡觉
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值