【JAVA】基础语法

Java学习笔记

  • (一)基础语法
    • 对象和类
    • 数据类型
    • 变量类型
    • 修饰符
    • 运算符
  • (二)流程控制
    • 顺序结构
    • 选择结构
    • 循环结构
    • 分支结构
  • (三)面向对象
    • 方法的定义与调用
    • 类和对象的创建
    • 封装
    • 继承
    • 多态
  • (四)类的使用
    • 用户交互Scanner
    • 异常处理


自学资料:
【Java教程】菜鸟教程
【狂神说Java】Java零基础学习视频通俗易懂
《Java程序设计》 谌卫军 王浩娟 编著 清华大学出版社

第一个程序

public class HelloWorld {
    public static void main(String []args) {
        System.out.println("Hello World"); // 打印 Hello World
    }
}

【JAVA】基础语法_第1张图片

(一)基础语法

对象和类

Java是一种面向对象语言

【JAVA】基础语法_第2张图片

  • 对象:类的一个实例,有状态(属性)和行为(方法)

  • 类:一个模板,用来描述一类对象的行为和状态

    • 一个类中可以包含以下三种类型变量:
      1. 局部变量:在方法、构造方法、语句块中定义的变量(变量声明和初始化都是在方法中,方法结束后,变量自动销毁)
      2. 成员变量:定义在类中、方法体之外的变量(创建对象的时候实例化,可以被类中方法、构造方法和特定类的语句块访问)
      3. 类变量:声明在类中、方法体之外,但必须声明为static类型
  • 方法:即行为,一个类中可以有很多方法,逻辑运算、数据修改等动作都是在方法中完成的

  • 构造方法:构造方法的名称必须与类同名,一个类可以有多个构造方法

  • 创建对象:使用关键字new创建,在创建一个对象的时候,至少要调用一个构造方法

数据类型

  • Java两大数据类型:内置数据类型;引用数据类型
  • 内置类型(8种):byte 1字节(8位)、short 2字节(16位)、char 2字节(16位)、long 8字节(64位)、int 4字节(32位)、boolean 1位、float 4字节(32位)、double 8字节(64位)
  • 引用类型:引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,变量一旦声明后,类型就不能被改变了。除了内置8种类型,剩下的数据类型都是引用类型

变量类型

  • Java支持的变量类型:
    类变量(静态变量):独立于方法之外的变量,用 static 修饰。
    实例变量:独立于方法之外的变量,不过没有 static 修饰。
    局部变量:类的方法中的变量。
public class Variable{
    static int allClicks=0;    // 类变量
    String str="hello world";  // 实例变量
    public void method(){		//
        int i =0;  // 局部变量
    }
}

修饰符

  • 访问控制修饰符(4种):
名称 解释 使用对象
default (即默认,什么也不写) 在同一包内可见,不使用任何修饰符 类、接口、变量、方法
private 在同一类内可见 变量、方法
public 对所有类可见 类、接口、变量、方法
protected 对同一包内的类和所有子类可见 变量、方法

【JAVA】基础语法_第3张图片

  • 非访问修饰符
名称 解释 适用对象
static 独立于对象 方法、变量
final 变量一旦赋值后,不能被重新赋值;final类不能被继承;
通常和 static 修饰符一起使用来创建类常量;
类、方法、变量
abstract 不能用来实例化对象,声明抽象类的唯一目的是对该类进行扩充 类、方法
synchronized 和 volatile 主要用于线程的编程

运算符

  • 运算符总结
运算符种类 包含符号 备注
算数运算符 + - * / % ++ – 【JAVA】基础语法_第4张图片
关系运算符 == != > < >= <= 判断条件真假
位运算符 & l ^ ~ << >> >>> 作用在所有的位上,按位运算
逻辑运算符 && ll ! 与、或、非
赋值运算符 = += -= *= /= (%)= <<= >>= &= ^= l=
其他运算符 条件运算 在这里插入图片描述
  • 运算符优先级
    自增减乘除加减移位关系相等按位逻辑逻辑运算条件赋值

(二)流程控制

顺序结构

选择结构

循环结构

分支结构


(三)面向对象

方法的定义与调用

  • 方法的定义
/*
修饰符 返回值类型 方法名(形参){
	//方法体
	return 返回值
	//void类型时,不需要返回值
}
*/

举例:
//有返回值
public int max(int a,int b){
	return a>b ? a : b;		//条件运算符
}
//无返回值
public void  print(){
}
//抛出异常
public void readRile(String file)throw IOException{
}
  • 方法的调用
    调用时,依据方法是否为静态static而有所区别

    • 静态方法(static):可以在main中直接调用
      类名.方法();
    • 非静态方法:需要实例化这个类
      对象类型 对象名 = new 类名();
  • 对实例化的理解
    static静态的方法,表示和类一起创建
    非静态方法,需要**实例化(new)**一下才能被调用
    即只有当实例化时,非静态的方法才被创建
    可以看作有一个先后的时间顺序,在未被创建之前不能够被调用

  • 构造方法:

    1. 和类名相同
    2. 没有返回值
    3. 实例化new 类名()本质上实在调用构造方法
    4. 构造方法带参数,可以对对象进行初始化
    5. 一旦定义了有参构造,就必须要写一个无参构造

【JAVA】基础语法_第5张图片

类和对象的创建

  • 类(包含两个东西)
    1. 静态的属性(属性)
    2. 动态的行为(方法)
  • 属性(成员变量):
    例如:static int age(修饰符 属性类型 属性名称 = 属性值)
  • 对象的创建和使用
    • 必须使用new 关键字创造对象
      Person xiaoming = new Person();
    • 对象的属性
      xiaoming.name;
    • 对象的方法
      xiaoming.show();

【JAVA】基础语法_第6张图片

封装

  • 封装是隐藏属性和实现细节(对类封装,属性私有
    对外只提供公有的访问方式
    对属性设置为private,方法设置为public
    属性对外只提供get,set方法,方法对外只提供接口
    【JAVA】基础语法_第7张图片

继承

类和类之间的关系

  • 子类是父类的扩展,关键字extends,要继承的东西一般定义为public,或者定义为private利用封装get与set调用相应属性
  • JAVA中类只有单继承,没有多继承(一个父类可以有多个子类;一个子类不可以有多个父类)
  • super(与this相类似)
    • 在子类中用来调用父类的构造方法
    • 只能出现在子类的方法或者构造方法中

【JAVA】基础语法_第8张图片
【JAVA】基础语法_第9张图片

  • 方法重写

多态


(四)类的使用

为了更好地组织类,JAVA提供了包机制,用于区别类名的命名空间
定义包:package 包名
导入包:import package 包名.类名
例如:import java.util.Scanner调用utli包下的Scanner类
例如:import java.util.*导入util包下的所有类
(.*叫通配符)

用户交互Scanner

  • 通过 Scanner 类来获取用户的输入
//一定先要导入java工具包中的Scanner类
import java.util.Scanner
//或者用import java.util.*
//创建Scanner对象
Scanner s = new Scanner(System.in);
  • 使用 next() 与 nextLine() 方法获取输入的字符串
  • 使用 hasNext 与 hasNextLine 判断是否还有输入的数据

异常处理

(待更新…)

你可能感兴趣的:(课程笔记,java,jvm,开发语言)