道阻且长(一) Java核心:2.Java编程基础

it2022-05-05  141

上一篇完成了环境的安装,配置以及入门级HelloWorld的编写

public class HelloWorld { public static void main(String[] args) { System.out.println("您好,小何。I‘m MMP"); } }

在这段代码中,我们只是知道她打印了双引号里面的文字,哪些英文单词是我们自己定义的?哪些是所谓的Java关键字?

这篇文章,数据类型需要重点掌握,关键字也需要学习(循环,异常,修饰符【类,方法,变量】),今后工作这一篇章的东西都是拿来就用的,标记了【常用】最好都有印象。

1.Java数据类型

(1)数据类型有哪些?

(2)数据类型有什么用?

        在代码编写的时候,我们需要定义很多的变量,变量的修饰就是靠上面的数据类型来定义,即告诉开发代码的人,我这个变量是什么类型(不知道该用什么类型的时候就用String)。

        比如,设定年龄变量,一般都是整数,此时采用int;设定金钱,一般是double;设定性别,一般是String。

(3)数据类型怎么用?

下面展示常见的一个POJO【下一节讲的类】的定义:

public class Student { private int age; // 年龄 private String name; // 姓名 private Date birthday; // 生日 private boolean isBoy; // true 男 false 女 private double socre; // 分数 }

 

 

2.Java关键字

 

访问控制

private 【常用】

用来定义私有变量,在封装时会用到

一般不用来修饰类(内部类除外),系统会直接报错

public【常用】

公有,如果是工具类(就是不止这一个.java文件用到,别的类也经常调用)常用public修饰其方法

protected 

同包同类中,可以自由访问protected成员

同包不同类中,无任何继承关系,可以自由访问protected成员

同包不同类中,具有继承关系,任何子类或者子类的子类都可以访问protected成员

不同包不同类中,不具有继承关系,不可以访问其它类protected成员

类,方法和变量修饰符

类,方法和变量修饰符

 

Abstract 抽象

不能被实例化(即不能有New...)只能被当做父类,且必须被继承,如果子类不是抽象类的话,就需要实现抽象父类的所有方法

abstract是说必须继承、重载

abstract和final不能同时修饰一个类

abstract只能修饰类,方法,不能修饰属性

抽象方法中不能指定程序体,即不能有{},参数表之后直接用 ; 结束

abstract方法所在的类必须是abstract类

extends 继承 【常用】

子类继承父类的属性,重载重写

interface Implements【常用】

接口,接口定义的方法只有定义没有实现,接口中定义的成员变量都是public static final,但不必写明,接口实质是特殊抽象类,里面只包含常量和抽象方法。

使用interface声明一个接口时,只能用public修饰符修饰

接口中的成员都有固定的修饰符

成员变量:public static final

成员方法:public abstract

new【常用】

new关键字,也用在创建对象时使用到

class 【常用】

类,class用来修饰类,其后面就是类名,最开头的HelloWorld就是类名

定义一个POJO就是定义一个类,接口也是一个类,这个概念可能上来不好理解,尤其是面对对象,随着慢慢学习,自己就悟出来了

static 【常用】

静态

它修饰的变量称之为静态变量(整个类共享),它修饰的方法叫做静态方法

通过类名.变量名或者对象.变量名来调用其静态变量

注意:静态变量更多的是使用类名去调用,非静态变量更多的是使用对象来调用

1 静态方法不能调用非静态变量(静态方法是随着类加载的时候被创建,但是成员变量创建对象的时候才被创建)

2 静态方法的生命周期是随着类加载开始到程序运行结束而销毁

3 静态方法创建时机与非静态方法的创建时机不同

4 静态方法可以调用非静态方法吗?  不可以  

5 非静态方法可以调用非静态方法吗? 可以

6 Static方法中可以使用this关键字吗 ? 不可以

final

final是说不能继承、重载

修饰方法时,方法不能被重写,增强代码安全性

修饰类时,不能被继承,增强代码安全性

修饰属性时,interface里只存在public static final的常量,一次修改多次使用

 

程序控制 

break

跳出循环,在switch case语句中常常在switch语句前加一个词,然后break精确到这个次即可跳出整个switch

Break直接跳出当前循环,执行循环后面的语句

continue

同样用在循环语句中,不同的是它是跳出本次循环开始下一次的循环,在他之后的语 句不再执行,是循环的迭 代

return【常用】

直接退出整个方法,返回一个对象或者数值,在任何地方都可以使用

do ...while

这个语句不管满不满足while里的条件都至少执行一次

while【常用】

如果不满足while里的语句将不执行

if ...else【常用】

循环语句,一般不超过三层,超过三层就用switch case替代

for【常用】

循环语句(在数组里有一个增强for循环)

switch ..case【常用】

记住在case下面添加break

Case 语句的常量与switch()中的变量一致 则执行该case所对应的语句

注意:switch(变量) 变量的类型 只能是byte short char int String(1.7及以上版本可用)enum

default

用在switch case 语句当中

异常处理(异常-文件里有详细论述)

try...cath   【常用】

try{ ......存放要捕获的语句 }catch(存放要捕获异常的种类,一般用Exception e,因为它是所有Exception的父类) {  e.printStackTrace() //这句话可以输出异常的种类和具体位置 }

throw  【常用】

  throws 用在方法体声明之后

public void mul() throws Exception{ doSomething...  }

 

throws【常用】

throw用在catch语句块中

public void mul() throws Exception{  try{   int i = 0;   System.out.println(100 / i);  }catch(ArithmeticException e){   e.printStackTrace();   throw e;  } }

 

package  包相关  【常用】

包名就相当于文件夹名

class【常用】

类名就相当于文件名

import【常用】

引包,自动导包存在一定局限性,注意观察

基本类型【常用】

变量引用

super

对父类的引用,子类super(),里面无参的情况下会调用父类的无参方法,父类如果没写则会有默认的无参方法,如果写了有参构造方法,则子类在调用时会报错,需要在父类再写一个无参方法;super(4)类似这种有参的会先调用父类的有参方法再执行子类的方法[看是否重写,是就子类反之父类]

可以通过super.的方式可以调用父类中的方法以及属性

super不能作为参数传递

this

指代的当前对象

当前对象:当创建一个对象的时候使用该对象调用方法以及属性,这个时候该对象就称为当前对象

特点:

1 用来指代当前对象  

2 this可以作为参数进行传递

3 通过this() 的方式可以来调用其它的构造方法,并且必须放在程序的第一行,并且不能同时调用两个构造方法

4 当再本类中调用属性及其方法的时候 如果没有异议 ,可以省略this

5 this可以区别成员变量和局部变量

void  【常用】

默认无返回类型,如果有return()语句,不能有void

保留字

goto    

const

少用但仍是关键字

native

本地方法调用,调用的不是JAVA代码(一般涉及C)

instanceof

Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:

result = object instanceof class-----false

参数:

Result:布尔类型。

Object:必选项。任意对象表达式。

Class:必选项。任意已定义的对象类。

说明:

如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

确定对象所属的类 instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

transient

当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

enum

枚举

用法一:常量

 

用法二:case语句中

 

 

 

 


最新回复(0)